class Depository::Model
Public Class Methods
_defaults()
click to toggle source
# File lib/depository/model.rb, line 21 def _defaults @_defaults ||= {} end
_fields()
click to toggle source
# File lib/depository/model.rb, line 13 def _fields @_fields ||= [] end
defaults(defaults)
click to toggle source
# File lib/depository/model.rb, line 17 def defaults(defaults) self._defaults = defaults end
fields(*fields)
click to toggle source
# File lib/depository/model.rb, line 8 def fields(*fields) attr_accessor *fields self._fields = fields end
new(attrs = {})
click to toggle source
# File lib/depository/model.rb, line 26 def initialize(attrs = {}) set(attrs) _defaults.each { |key, val| set(key, val) if !get(key) } end
Public Instance Methods
==(other)
click to toggle source
# File lib/depository/model.rb, line 51 def ==(other) other.is_a?(self.class) && other.to_hash == to_hash end
get(attr)
click to toggle source
# File lib/depository/model.rb, line 37 def get(attr) instance_variable_get(:"@#{attr}") end
set(attr, value = nil)
click to toggle source
# File lib/depository/model.rb, line 41 def set(attr, value = nil) if attr.is_a?(Hash) attr.each { |key, value| set(key, value) } else public_send(:"#{attr}=", value) end return self end
to_hash()
click to toggle source
# File lib/depository/model.rb, line 31 def to_hash _fields.reduce({}) do |acc, field| acc.merge(field => get(field)) end end
Private Instance Methods
_defaults()
click to toggle source
# File lib/depository/model.rb, line 61 def _defaults self.class._defaults end
_fields()
click to toggle source
# File lib/depository/model.rb, line 57 def _fields self.class._fields end