Module: Statinize::Statinizable
- Defined in:
- lib/statinize/statinizable.rb
Defined Under Namespace
Modules: ClassMethods, PrependedMethods
Class Method Summary collapse
Class Method Details
.included(klass) ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/statinize/statinizable.rb', line 3 def self.included(klass) klass.extend(ClassMethods) klass.prepend(PrependedMethods) statinized_ancestors = klass.ancestors .reject { |a| a == klass || a == Statinize::Statinizable } .select { |a| a.ancestors.include? Statinize::Statinizable } if statinized_ancestors.any? klass.instance_variable_set("@statinizer", Statinizer.new(klass)) statinized_ancestors.each do |ancestor| klass.statinizer.populate(ancestor.statinizer.attributes) if ancestor.statinizer end end end |