Changeset 364 for ruby


Ignore:
Timestamp:
Nov 20, 2009, 11:47:40 AM (14 years ago)
Author:
KOBAYASHI, Shinji
Message:

fixed #45 capability, role, party_relationship

Location:
ruby/branches/0.5
Files:
3 added
1 edited

Legend:

Unmodified
Added
Removed
  • ruby/branches/0.5/lib/open_ehr/rm/demographic.rb

    r363 r364  
    183183
    184184      class Role < Party
    185 
     185        attr_reader :performer, :capabilities
     186        attr_accessor :time_validity
     187
     188        def initialize(args = { })
     189          super(args)
     190          self.performer = args[:performer]
     191          self.capabilities = args[:capabilities]
     192          self.time_validity = args[:time_validity]
     193        end
     194
     195        def performer=(performer)
     196          if performer.nil?
     197            raise ArgumentError, 'performer is mandatory'
     198          end
     199          @performer = performer
     200        end
     201
     202        def capabilities=(capabilities)
     203          if !capabilities.nil? && capabilities.empty?
     204            raise ArgumentError, 'capability should not be empty'
     205          end
     206          @capabilities = capabilities
     207        end
    186208      end
    187209
    188210      class Capability < Locatable
    189         attr_reader :credentials, :time_validity
    190 
     211        attr_reader :credentials
     212        attr_accessor :time_validity
     213
     214        def initialize(args = { })
     215          super(args)
     216          self.credentials = args[:credentials]
     217          self.time_validity = args[:time_validity]
     218        end
     219
     220        def credentials=(credentials)
     221          if credentials.nil?
     222            raise ArgumentError, 'credentials are mandatory'
     223          end
     224          @credentials = credentials
     225        end
    191226      end
    192227
    193228      class PartyRelationship < Locatable
    194 
     229        attr_accessor :details, :time_validity
     230        attr_reader :source, :target
     231        alias :type :name
     232
     233        def initialize(args = { })
     234          super(args)
     235          self.uid = args[:uid]
     236          self.details = args[:details]
     237          self.time_validity = args[:time_validity]
     238          self.source = args[:source]
     239          self.target = args[:target]
     240        end
     241
     242        def uid=(uid)
     243          if uid.nil?
     244            raise ArgumentError, 'uid is mandatory'
     245          end
     246          @uid = uid
     247        end
     248
     249        def source=(source)
     250          if source.nil? or source.id.value != @uid.value
     251            raise ArgumentError, 'source is invalid'
     252          end
     253          @source = source
     254        end
     255
     256        def target=(target)
     257          if target.nil?
     258            raise ArgumentError, 'taraget is invalid'
     259          end
     260          @target = target
     261        end
    195262      end
    196263
Note: See TracChangeset for help on using the changeset viewer.