Module: Spread2RDF::Attributes

Extended by:
ActiveSupport::Concern
Included in:
Schema::Element
Defined in:
lib/spread2rdf/attributes.rb

Defined Under Namespace

Modules: ClassMethods

Instance Method Summary collapse

Instance Method Details

#init_attributes(initial_values) ⇒ Object



26
27
28
29
30
31
32
33
# File 'lib/spread2rdf/attributes.rb', line 26

def init_attributes(initial_values)
  initial_values = self.class.normalize_attributes(initial_values)
  self.class.attributes.each do |attribute, default_value|
    instance_variable_set("@#{attribute}".to_sym,
      initial_values.delete(attribute) || default_value)
  end
  initial_values
end

#inspectObject



44
45
46
47
48
49
# File 'lib/spread2rdf/attributes.rb', line 44

def inspect
  "#{self}: " +
    self.class.attributes.map do |attribute, default_value|
      "#{attribute}=#{self.send(attribute)}"
    end.join(', ')
end

#update_attributes(update_values) ⇒ Object



35
36
37
38
39
40
41
42
# File 'lib/spread2rdf/attributes.rb', line 35

def update_attributes(update_values)
  update_values = self.class.normalize_attributes(update_values)
  update_values.each do |attribute, value|
    next unless self.class.attributes.include? attribute
    instance_variable_set("@#{attribute}".to_sym, value)
  end
  update_values
end