Sha256: c8bf6fbdaa5f4869fed69e25a5c4b7ce997307fedf6d91d1b6272ff584a16d20

Contents?: true

Size: 1.37 KB

Versions: 4

Compression:

Stored size: 1.37 KB

Contents

module RTM::AR
  class TopicName < Reifiable
    include RTM::TopicName
    wrapper_cache

    parent :topic
    property :type, :aka => [:ty,:t], :rw => true, :type => :Topic, :wrap => true
    property_set :scope, :type => :Topic, :wrap => true

    property_set :variants, :aka => :vs, :type => :Variant, :wrap => true,
      :create => :variant, :create_aka => :cv,
      :create_args => [ {:name => :value, :type => [:String, :Locator]}, {:name => :scope, :type => :Collection}]

    property :value, :rw => true, :type => :String, :aka => :v

    equality [:value, :type, :scope, :parent]
  end
  Name = TopicName

  class Variant < Reifiable
    include RTM::Variant
    wrapper_cache

    parent :topic_name, :aka => :name
    property :value, :rw => true, :type => :String, :aka => :v
    property :datatype, :rw => true, :type => :Locator #, :wrap => true
    property_set :scope, :type => :Topic, :wrap => true

    equality [:value, :datatype, :scope, :parent]
  end

  class Occurrence < Reifiable
    include RTM::Occurrence
    wrapper_cache

    parent :topic
    property :value, :rw => true, :type => :String, :aka => :v
    property :datatype, :rw => true, :type => :String

    property_set :scope, :type => :Topic, :wrap => true
    property :type, :aka => [:ty,:t], :rw => true, :type => :Topic, :wrap => true

    equality [:value, :datatype, :scope, :type, :parent]
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
rtm-0.1.3 lib/rtm/backend/active_record/name_variant_occurrence.rb
rtm-0.1.5 lib/rtm/backend/active_record/name_variant_occurrence.rb
rtm-0.1.4 lib/rtm/backend/active_record/name_variant_occurrence.rb
rtm-0.1.6 lib/rtm/backend/active_record/name_variant_occurrence.rb