Module: Statinize::Statinizable::PrependedMethods
- Defined in:
- lib/statinize/statinizable.rb
Instance Method Summary collapse
- #attributes ⇒ Object
- #initialize(options = {}, *args, &block) ⇒ Object
- #run_before_callbacks ⇒ Object
- #statinizer ⇒ Object
- #validation ⇒ Object (also: #define_validation)
Instance Method Details
#attributes ⇒ Object
49 50 51 52 53 |
# File 'lib/statinize/statinizable.rb', line 49 def attributes @attributes = Hash[ statinizer.attributes.map { |a| [a.name, public_send(a.name)] } ] end |
#initialize(options = {}, *args, &block) ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/statinize/statinizable.rb', line 21 def initialize( = {}, *args, &block) symbolized = .transform_keys(&:to_sym) if private_methods(false).include? :initialize super(, *args, &block) check_defined!(symbolized) else statinizer.attributes.each do |attr| instance_variable_set("@#{attr.name}", symbolized[attr.arg_name]) if symbolized.key?(attr.arg_name) end end instantiate_defaults run_before_callbacks define_validation validate! end |
#run_before_callbacks ⇒ Object
45 46 47 |
# File 'lib/statinize/statinizable.rb', line 45 def run_before_callbacks statinizer.run_before_callbacks(self) end |
#statinizer ⇒ Object
57 58 59 |
# File 'lib/statinize/statinizable.rb', line 57 def statinizer self.class.statinizer end |
#validation ⇒ Object Also known as: define_validation
41 42 43 |
# File 'lib/statinize/statinizable.rb', line 41 def validation @validation ||= Validation.new(statinizer, self) end |