Class: Opium::Model::Relatable::Metadata

Inherits:
Object
  • Object
show all
Defined in:
lib/opium/model/relatable/metadata.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(klass, relation_type, relation_name, options = {}) ⇒ Metadata

Returns a new instance of Metadata.



7
8
9
10
11
12
13
# File 'lib/opium/model/relatable/metadata.rb', line 7

def initialize( klass, relation_type, relation_name, options = {} )
  self.owning_class_name = klass.model_name
  self.relation_type = relation_type
  self.relation_name = relation_name
  self.target_class_name = (options[:class_name] || relation_name).to_s.classify
  self.inverse_relation_name = (options[:inverse_of] || determine_inverse_relation_name).to_s
end

Instance Attribute Details

#inverse_relation_nameObject

Returns the value of attribute inverse_relation_name.



5
6
7
# File 'lib/opium/model/relatable/metadata.rb', line 5

def inverse_relation_name
  @inverse_relation_name
end

#inverse_relation_typeObject

Returns the value of attribute inverse_relation_type.



5
6
7
# File 'lib/opium/model/relatable/metadata.rb', line 5

def inverse_relation_type
  @inverse_relation_type
end

#owning_class_nameObject

Returns the value of attribute owning_class_name.



5
6
7
# File 'lib/opium/model/relatable/metadata.rb', line 5

def owning_class_name
  @owning_class_name
end

#relation_nameObject

Returns the value of attribute relation_name.



5
6
7
# File 'lib/opium/model/relatable/metadata.rb', line 5

def relation_name
  @relation_name
end

#relation_typeObject

Returns the value of attribute relation_type.



5
6
7
# File 'lib/opium/model/relatable/metadata.rb', line 5

def relation_type
  @relation_type
end

#target_class_nameObject

Returns the value of attribute target_class_name.



5
6
7
# File 'lib/opium/model/relatable/metadata.rb', line 5

def target_class_name
  @target_class_name
end