Module: SmarterListing::ControllerExtension
- Defined in:
- lib/smarter_listing/controller_extension.rb
Class Method Summary collapse
Instance Method Summary collapse
- #collection ⇒ Object
- #copy ⇒ Object
- #create ⇒ Object
- #destroy ⇒ Object
- #edit ⇒ Object
- #filter_parameter ⇒ Object
- #filtered(model) ⇒ Object
- #index ⇒ Object
- #load_collection ⇒ Object
- #load_resource ⇒ Object
- #new ⇒ Object
- #resource ⇒ Object
- #show ⇒ Object
- #update ⇒ Object
Class Method Details
.included(base) ⇒ Object
3 4 5 6 |
# File 'lib/smarter_listing/controller_extension.rb', line 3 def self.included base base.helper_method :collection, :resource base.include SmarterListing::Helper end |
Instance Method Details
#collection ⇒ Object
71 72 73 |
# File 'lib/smarter_listing/controller_extension.rb', line 71 def collection instance_variable_get(collection_ivar) || load_collection end |
#copy ⇒ Object
26 27 28 29 |
# File 'lib/smarter_listing/controller_extension.rb', line 26 def copy instance_variable_set resource_ivar, resource.dup render 'smarter_listing/copy' end |
#create ⇒ Object
21 22 23 24 |
# File 'lib/smarter_listing/controller_extension.rb', line 21 def create instance_variable_get(resource_ivar) || instance_variable_set(resource_ivar, model.create(_resource_params)) render 'smarter_listing/create' end |
#destroy ⇒ Object
46 47 48 49 |
# File 'lib/smarter_listing/controller_extension.rb', line 46 def destroy resource.destroy render 'smarter_listing/destroy' end |
#edit ⇒ Object
36 37 38 39 |
# File 'lib/smarter_listing/controller_extension.rb', line 36 def edit resource render 'smarter_listing/edit' end |
#filter_parameter ⇒ Object
51 52 53 |
# File 'lib/smarter_listing/controller_extension.rb', line 51 def filter_parameter self.class.instance_variable_get :@filter_parameter end |
#filtered(model) ⇒ Object
55 56 57 |
# File 'lib/smarter_listing/controller_extension.rb', line 55 def filtered(model) (!params[filter_parameter].blank?) ? model.search { fulltext "#{params[filter_parameter]}" }.results : model.all end |
#index ⇒ Object
8 9 10 11 12 13 14 |
# File 'lib/smarter_listing/controller_extension.rb', line 8 def index collection respond_to do |format| format.html { render layout: self.class._layout } format.js { render action: 'index.js.erb' } end end |
#load_collection ⇒ Object
59 60 61 |
# File 'lib/smarter_listing/controller_extension.rb', line 59 def load_collection instance_variable_set collection_ivar, smart_listing_create(collection_sym, filtered(model), partial: "#{current_engine}/#{table_name}/table_header") end |
#load_resource ⇒ Object
63 64 65 |
# File 'lib/smarter_listing/controller_extension.rb', line 63 def load_resource instance_variable_set resource_ivar, (model.find(params[:id]) rescue (action_name == 'new' ? model.new(_resource_params) : nil)) end |
#new ⇒ Object
16 17 18 19 |
# File 'lib/smarter_listing/controller_extension.rb', line 16 def new instance_variable_get(resource_ivar) || instance_variable_set(resource_ivar, model.new(_resource_params)) render 'smarter_listing/new' end |
#resource ⇒ Object
67 68 69 |
# File 'lib/smarter_listing/controller_extension.rb', line 67 def resource instance_variable_get(resource_ivar) || load_resource end |
#show ⇒ Object
31 32 33 34 |
# File 'lib/smarter_listing/controller_extension.rb', line 31 def show resource render resource, object: resource end |
#update ⇒ Object
41 42 43 44 |
# File 'lib/smarter_listing/controller_extension.rb', line 41 def update resource.update _resource_params render 'smarter_listing/update' end |