module Xavius::Controllers::Helpers

Protected Instance Methods

find_resource() click to toggle source
# File lib/xavius/controllers/helpers.rb, line 10
def find_resource
  if params[:id]
    resource_class.find(params[:id])
  else
    resource_class.new
  end
end
resource() click to toggle source
# File lib/xavius/controllers/helpers.rb, line 6
def resource
  instance_variable_get(instance_variable_name_for(instance_name))
end
resource_class() click to toggle source
# File lib/xavius/controllers/helpers.rb, line 18
def resource_class
  class_name.constantize
end
resource_human_name() click to toggle source
# File lib/xavius/controllers/helpers.rb, line 22
def resource_human_name
  resource_class.model_name.human
end
set_resource() click to toggle source
# File lib/xavius/controllers/helpers.rb, line 26
def set_resource
  instance_variable_set(instance_variable_name_for(instance_name), find_resource)
end
success_message() click to toggle source
# File lib/xavius/controllers/helpers.rb, line 30
def success_message
  I18n.t('.success', default: I18n.t(:success, scope: [:resource, action_name], resource_name: resource_human_name))
end

Private Instance Methods

action_class() click to toggle source
# File lib/xavius/controllers/helpers.rb, line 35
def action_class
  infer_user_action_class || "Xavius::Actions::#{action_name.camelize}".constantize
end
class_name() click to toggle source
# File lib/xavius/controllers/helpers.rb, line 56
def class_name
  controller_name.singularize.camelize.freeze
end
collection_name() click to toggle source
# File lib/xavius/controllers/helpers.rb, line 60
def collection_name
  infer_from_controller.freeze
end
infer_from_controller() click to toggle source
# File lib/xavius/controllers/helpers.rb, line 68
def infer_from_controller
  controller_name.gsub("/", "_")
end
infer_user_action_class() click to toggle source
# File lib/xavius/controllers/helpers.rb, line 39
def infer_user_action_class
  "#{module_parent}::#{controller_name.camelize.demodulize}::#{action_name.camelize}Action".safe_constantize ||
  "#{controller_name.camelize}::#{action_name.camelize}Action".safe_constantize
end
instance_name() click to toggle source
# File lib/xavius/controllers/helpers.rb, line 64
def instance_name
  infer_from_controller.singularize.freeze
end
instance_variable_name_for(name) click to toggle source
# File lib/xavius/controllers/helpers.rb, line 52
def instance_variable_name_for(name)
  "@#{name}"
end
module_parent() click to toggle source
# File lib/xavius/controllers/helpers.rb, line 44
def module_parent
  if Rails::VERSION::MAJOR > 5
    resource_class.module_parent
  else
    resource_class.parent
  end
end