Ignore:
Timestamp:
Jul 5, 2009, 11:01:59 PM (15 years ago)
Author:
KOBAYASHI, Shinji
Message:

fixed #62
refs #49,#39

Location:
ruby/trunk/lib/models/rm
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • ruby/trunk/lib/models/rm/common/generic.rb

    r156 r157  
    4646
    4747        class Revision_History
    48          
     48          attr_reader :items
     49
     50          def initialize(items)
     51            self.items = items
     52          end
     53
     54          def items=(items)
     55            if items.nil? or items.empty?
     56              raise ArgumentError, 'item(s) is/are mandatory'
     57            end
     58            @items  = items
     59          end
     60
     61          def most_recent_version
     62            return @items.last.version_id.value
     63          end
     64
     65          def most_recent_version_time_committed
     66            return @items.last.audits.first.time_committed.value
     67          end
    4968        end # of Revision_History
    5069
    5170        class Revision_History_Item
    52          
     71          attr_reader :version_id, :audits
     72
     73          def initialize(args = { })
     74            self.version_id = args[:version_id]
     75            self.audits = args[:audits]
     76          end
     77
     78          def audits=(audits)
     79            if audits.nil? or audits.empty?
     80              raise ArgumentError, 'audits is mandatory'
     81            end
     82            @audits = audits
     83          end
     84
     85          def version_id=(version_id)
     86            raise ArgumentError, 'version_id is mandatory' if version_id.nil?
     87            @version_id = version_id
     88          end
    5389        end # of Revision_History_Item
    5490
     
    137173          end
    138174        end
     175
     176        class Attestation < Audit_Details
     177          attr_reader :reason
     178          attr_accessor :proof, :items
     179
     180          def initialize(args = { })
     181            super(args)
     182            self.reason = args[:reason]
     183            self.proof = args[:proof]
     184            self.items = args[:items]
     185          end
     186
     187          def reason=(reason)
     188            raise ArgumentError, 'reason is mandatory' if reason.nil?
     189            @reason = reason
     190          end
     191        end
    139192      end # of Generic
    140193    end # of Common
  • ruby/trunk/lib/models/rm/data_types/quantity/date_time.rb

    r151 r157  
    1111        module Date_Time
    1212          class DV_Temporal < OpenEHR::RM::Data_Types::Quantity::DV_Absolute_Quantity
     13            include Comparable
    1314            attr_reader :value
    1415
     
    2930              end
    3031              @value = value
     32            end
     33
     34            def <=>(other)
     35              self.magnitude <=> other.magnitude
    3136            end
    3237          end
     
    151156
    152157            def magnitude
    153               return DateTime.new(@year,@month,@day,@hour,@minute,@second) -
    154                 DateTime.new(0000,1,1,0,0,0) + @fractional_second
     158              seconds = DateTime.new(@year,@month,@day,@hour,@minute,@second) -
     159                DateTime.new(0000,1,1,0,0,0)
     160              if @fractional_second.nil?
     161                return seconds
     162              else
     163                return seconds + @fractional_second
     164              end
    155165            end
    156166
  • ruby/trunk/lib/models/rm/support/identification.rb

    r107 r157  
    174174        end
    175175
     176        class Object_Version_ID < UID_Based_ID
     177          attr_reader :object_id, :creating_system_id, :version_tree_id
     178
     179          def initialize(value)
     180            super(value)
     181          end
     182
     183          def value=(value)
     184            super(value)
     185            if /^(\w+)::(\w+)::((\d|\.)+)$/ =~ value
     186              self.object_id = UID.new($1)
     187              self.creating_system_id = UID.new($2)
     188              self.version_tree_id = Version_Tree_ID.new($3)
     189            else
     190              raise ArgumentError, 'invalid format'
     191            end
     192          end
     193
     194          def object_id=(object_id)
     195            raise ArgumentError, 'object_id is mandatory' if object_id.nil?
     196            @object_id = object_id
     197          end
     198
     199          def creating_system_id=(creating_system_id)
     200            if creating_system_id.nil?
     201              raise ArgumentError, 'creating_system_id is mandatory'
     202            end
     203            @creating_system_id = creating_system_id
     204          end
     205
     206          def version_tree_id=(version_tree_id)
     207            if version_tree_id.nil?
     208              raise ArgumentError, 'version_tree_id is mandatory'
     209            end
     210            @version_tree_id = version_tree_id
     211          end
     212        end
     213
    176214        class Locatable_Ref < Object_Ref
    177215          attr_reader :namespace, :type, :id, :path
     
    284322        class ISO_OID <UID
    285323
    286         end
     324        end       
    287325      end # of Identification
    288326    end # of Support
Note: See TracChangeset for help on using the changeset viewer.