Module: Mobility::Backend::Setup
- Defined in:
- lib/mobility/backend.rb
Overview
Defines setup hooks for backend to customize model class.
Instance Method Summary collapse
- #inherited(subclass) ⇒ Object
-
#setup {|attribute_names, options| ... } ⇒ Object
Assign block to be called on model class.
-
#setup_model(model_class, attribute_names, **options) ⇒ Object
Call setup block on a class with attributes and options.
Instance Method Details
#inherited(subclass) ⇒ Object
140 141 142 |
# File 'lib/mobility/backend.rb', line 140 def inherited(subclass) subclass.instance_variable_set(:@setup_block, @setup_block) end |
#setup {|attribute_names, options| ... } ⇒ Object
Note:
When called multiple times, setup blocks will be appended so that they are run together consecutively on class.
Assign block to be called on model class.
128 129 130 131 132 133 134 135 136 137 138 |
# File 'lib/mobility/backend.rb', line 128 def setup &block if @setup_block setup_block = @setup_block @setup_block = lambda do |*args| class_exec(*args, &setup_block) class_exec(*args, &block) end else @setup_block = block end end |
#setup_model(model_class, attribute_names, **options) ⇒ Object
Call setup block on a class with attributes and options.
148 149 150 151 |
# File 'lib/mobility/backend.rb', line 148 def setup_model(model_class, attribute_names, **) return unless setup_block = @setup_block model_class.class_exec(attribute_names, , &setup_block) end |