Module: Carnival::Dsl::ClassMethods
- Defined in:
- app/presenters/carnival/dsl.rb
Instance Method Summary collapse
- #action(name, params = {}) ⇒ Object
- #batch_action(name, params = {}) ⇒ Object
- #field(name, params = {}) ⇒ Object
- #form(action, params = {}) ⇒ Object
- #index_as(type) ⇒ Object
- #instantiate_element(container, klass, name, params) ⇒ Object
- #items_per_page(per_page) ⇒ Object
- #model_name(name) ⇒ Object
- #scope(name, params = {}) ⇒ Object
Instance Method Details
#action(name, params = {}) ⇒ Object
18 19 20 21 |
# File 'app/presenters/carnival/dsl.rb', line 18 def action(name, params = {}) class_variable_get('@@actions')[presenter_class_name] ||= {} class_variable_get('@@actions')[presenter_class_name][name] = Carnival::Action.new(name, params) end |
#batch_action(name, params = {}) ⇒ Object
23 24 25 26 |
# File 'app/presenters/carnival/dsl.rb', line 23 def batch_action(name, params = {}) class_variable_get('@@batch_actions')[presenter_class_name] ||= {} class_variable_get('@@batch_actions')[presenter_class_name][name] = Carnival::BatchAction.new(self.new, name, params) end |
#field(name, params = {}) ⇒ Object
37 38 39 |
# File 'app/presenters/carnival/dsl.rb', line 37 def field(name, params = {}) instantiate_element(class_variable_get('@@fields'), Carnival::Field, name.to_sym, params) end |
#form(action, params = {}) ⇒ Object
41 42 43 |
# File 'app/presenters/carnival/dsl.rb', line 41 def form(action, params = {}) instantiate_element(class_variable_get('@@forms'), Carnival::Form, name.to_sym, params) end |
#index_as(type) ⇒ Object
14 15 16 |
# File 'app/presenters/carnival/dsl.rb', line 14 def index_as(type) class_variable_get('@@index_as')[presenter_class_name] = type end |
#instantiate_element(container, klass, name, params) ⇒ Object
49 50 51 52 |
# File 'app/presenters/carnival/dsl.rb', line 49 def instantiate_element(container, klass, name, params) container[presenter_class_name] ||= {} container[presenter_class_name][name] = klass.new(name, params) end |
#items_per_page(per_page) ⇒ Object
28 29 30 31 |
# File 'app/presenters/carnival/dsl.rb', line 28 def items_per_page(per_page) class_variable_get('@@items_per_page')[presenter_class_name] ||= {} class_variable_get('@@items_per_page')[presenter_class_name][:items_per_page] = per_page end |
#model_name(name) ⇒ Object
45 46 47 |
# File 'app/presenters/carnival/dsl.rb', line 45 def model_name(name) class_variable_get('@@model_names')[presenter_class_name] = name end |