module SnFoil::Controller::Concerns::SetupControllerConcern
Public Instance Methods
context(klass = nil)
click to toggle source
# File lib/sn_foil/controller/concerns/setup_controller_concern.rb, line 14 def context(klass = nil) @i_context = klass end
current_context(**options)
click to toggle source
# File lib/sn_foil/controller/concerns/setup_controller_concern.rb, line 30 def current_context(**options) @current_context ||= context(**options).new(context_entity) end
setup_options(**options)
click to toggle source
# File lib/sn_foil/controller/concerns/setup_controller_concern.rb, line 23 def setup_options(**options) options = inject_params(**options) options = inject_id(**options) options = inject_includes(**options) inject_controller_action(**options) end
Protected Instance Methods
Private Instance Methods
context_entity()
click to toggle source
# File lib/sn_foil/controller/concerns/setup_controller_concern.rb, line 78 def context_entity return current_entity if defined? current_entity return current_user if defined? current_user end
inject_controller_action(**options)
click to toggle source
# File lib/sn_foil/controller/concerns/setup_controller_concern.rb, line 70 def inject_controller_action(**options) return options if options[:controller_action] return options unless options.dig(:params, :action) options[:controller_action] = options[:params][:action] options end
inject_id(**options)
click to toggle source
# File lib/sn_foil/controller/concerns/setup_controller_concern.rb, line 52 def inject_id(**options) return options if options[:id] options[:id] = id if defined? id options[:id] ||= options[:params][:id] options end
inject_includes(**options)
click to toggle source
# File lib/sn_foil/controller/concerns/setup_controller_concern.rb, line 60 def inject_includes(**options) return options if options[:include] return options unless options.dig(:params, :include) options[:include] = options.dig(:params, :include) .split(',') .map { |item| item.underscore.to_sym } options end
inject_params(**options)
click to toggle source
Grab the rails params and inject them into the options
# File lib/sn_foil/controller/concerns/setup_controller_concern.rb, line 43 def inject_params(**options) return options if options[:params] return options unless params options[:params] = params.to_unsafe_h.deep_symbolize_keys options[:controller_params] = options[:params] options end