Module: CellSet::Attributes
- Extended by:
- ActiveModel::Naming, ActiveSupport::Concern
- Includes:
- ActiveModel::AttributeMethods
- Included in:
- Cell, CellSet, CellSetAxis, Member, Position
- Defined in:
- lib/cell_set/attributes.rb
Defined Under Namespace
Modules: ClassMethods
Instance Method Summary collapse
- #attributes ⇒ Object
- #attributes=(attrs) ⇒ Object
- #clear_attribute(attr) ⇒ Object
- #has_attribute?(attr) ⇒ Boolean
- #initialize(attrs = {}) ⇒ Object
- #read_attribute_for_validation(key) ⇒ Object
Instance Method Details
#attributes ⇒ Object
39 40 41 42 43 44 |
# File 'lib/cell_set/attributes.rb', line 39 def attributes self.class::ATTRIBUTES.inject(ActiveSupport::HashWithIndifferentAccess.new) do |result, key| result[key] = read_attribute_for_validation(key) result end end |
#attributes=(attrs) ⇒ Object
46 47 48 |
# File 'lib/cell_set/attributes.rb', line 46 def attributes=(attrs) attrs.each_pair {|k, v| send("#{k}=", v)} end |
#clear_attribute(attr) ⇒ Object
50 51 52 |
# File 'lib/cell_set/attributes.rb', line 50 def clear_attribute(attr) send("#{attr}=", nil) end |
#has_attribute?(attr) ⇒ Boolean
54 55 56 |
# File 'lib/cell_set/attributes.rb', line 54 def has_attribute?(attr) self.class::ATTRIBUTES.include?(attr) end |
#initialize(attrs = {}) ⇒ Object
31 32 33 34 35 36 37 |
# File 'lib/cell_set/attributes.rb', line 31 def initialize(attrs = {}) @errors = ActiveModel::Errors.new(self) attrs.each do |name, value| send("#{name}=", value) if value end super(attrs) end |
#read_attribute_for_validation(key) ⇒ Object
58 59 60 |
# File 'lib/cell_set/attributes.rb', line 58 def read_attribute_for_validation(key) send(key) end |