module Declarative::Schema::Feature
Public Instance Methods
feature(*mods)
click to toggle source
features are registered as defaults using _features, which in turn get translated to Class.new… { feature mod } which makes it recursive in nested schemas.
# File lib/declarative/schema.rb, line 88 def feature(*mods) mods.each do |mod| include mod register_feature(mod) end end
Private Instance Methods
register_feature(mod)
click to toggle source
# File lib/declarative/schema.rb, line 96 def register_feature(mod) heritage.record(:register_feature, mod) # this is only for inheritance between decorators and modules!!! ("horizontal and vertical") defaults.merge!( _features: Variables::Append([mod]) ) end