Module: Effective::CrudController
- Extended by:
- ActiveSupport::Concern
- Included in:
- WizardController
- Defined in:
- app/controllers/concerns/effective/crud_controller.rb,
app/controllers/concerns/effective/crud_controller/dsl.rb,
app/controllers/concerns/effective/crud_controller/save.rb,
app/controllers/concerns/effective/crud_controller/paths.rb,
app/controllers/concerns/effective/crud_controller/actions.rb,
app/controllers/concerns/effective/crud_controller/respond.rb,
app/controllers/concerns/effective/crud_controller/submits.rb,
app/controllers/concerns/effective/crud_controller/permitted_params.rb
Defined Under Namespace
Modules: Actions, ClassMethods, Dsl, Paths, PermittedParams, Respond, Save, Submits
Constant Summary
Constants included from PermittedParams
Instance Method Summary collapse
- #effective_resource ⇒ Object
- #resource ⇒ Object
- #resource=(instance) ⇒ Object
- #resources ⇒ Object
- #resources=(instance) ⇒ Object
Methods included from Save
#commit_action, #duplicate_resource, #reload_resource, #resource_flash, #save_resource
Methods included from Respond
#respond_with_error, #respond_with_success
Methods included from PermittedParams
#resource_active_model_permitted_params, #resource_permitted_params
Methods included from Paths
#referer_redirect_path, #resource_action_path, #resource_destroy_path, #resource_duplicate_path, #resource_edit_path, #resource_index_path, #resource_new_path, #resource_redirect_path, #resource_show_path, #specific_redirect_path?
Methods included from Actions
#collection_action, #create, #destroy, #edit, #index, #member_action, #new, #show, #update
Instance Method Details
#effective_resource ⇒ Object
56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
# File 'app/controllers/concerns/effective/crud_controller.rb', line 56 def effective_resource @_effective_resource ||= begin relation = instance_exec(&resource_scope_relation) if respond_to?(:resource_scope_relation) if respond_to?(:resource_scope_relation) && !relation.kind_of?(ActiveRecord::Relation) raise('resource_scope must return an ActiveRecord::Relation') end resource = Effective::Resource.new(controller_path, relation: relation) unless resource.relation.kind_of?(ActiveRecord::Relation) || resource.active_model? raise("unable to build resource_scope for #{resource.klass || 'unknown klass'}. Please name your controller to match an existing model, or manually define a resource_scope.") end resource end end |
#resource ⇒ Object
40 41 42 |
# File 'app/controllers/concerns/effective/crud_controller.rb', line 40 def resource # @thing instance_variable_get("@#{resource_name}") end |
#resource=(instance) ⇒ Object
44 45 46 |
# File 'app/controllers/concerns/effective/crud_controller.rb', line 44 def resource=(instance) instance_variable_set("@#{resource_name}", instance) end |
#resources ⇒ Object
48 49 50 |
# File 'app/controllers/concerns/effective/crud_controller.rb', line 48 def resources # @things send(:instance_variable_get, "@#{resource_plural_name}") end |
#resources=(instance) ⇒ Object
52 53 54 |
# File 'app/controllers/concerns/effective/crud_controller.rb', line 52 def resources=(instance) send(:instance_variable_set, "@#{resource_plural_name}", instance) end |