module MorseControllerHelpers

Constants

VERSION

Public Instance Methods

assign_current_instance_from_params(pri) click to toggle source
# File lib/morse_controller_helpers.rb, line 21
def assign_current_instance_from_params(pri)
  return if dynamic_current_instance_exceptions.include? pri
  klass_us = pri.gsub('_id', '')
  klass = klass_us.classify.constantize
  if klass.respond_to?(:friendly)
    instance_variable_set "@#{klass_us}", klass.friendly.find(params[pri])
  else
    instance_variable_set "@#{klass_us}", klass.find(params[pri])
  end
  @current_instance = set_current_instance(klass_us)
end
current_instances() click to toggle source
# File lib/morse_controller_helpers.rb, line 33
def current_instances
  @current_instances = klass.all
end
dynamic_current_instance() click to toggle source
# File lib/morse_controller_helpers.rb, line 37
def dynamic_current_instance
  params_resource_ids.each do |pri|
    begin
      if try(:dynamic_current_instance_exceptions)
        next if dynamic_current_instance_exceptions.include? pri
      end
      assign_current_instance_from_params(pri)
    rescue ActiveRecord::RecordNotFound
      render_404
    end
  end
end
klass(str = klass_camel) click to toggle source
# File lib/morse_controller_helpers.rb, line 50
def klass(str = klass_camel)
  str.classify.constantize
end
klass_camel() click to toggle source
# File lib/morse_controller_helpers.rb, line 54
def klass_camel
  controller_name.singularize
end
klass_humanized() click to toggle source
# File lib/morse_controller_helpers.rb, line 58
def klass_humanized
  klass_camel.humanize
end
klass_id() click to toggle source
# File lib/morse_controller_helpers.rb, line 62
def klass_id
  "#{klass_snake}_id"
end
klass_pluralized() click to toggle source
# File lib/morse_controller_helpers.rb, line 66
def klass_pluralized
  klass_snake.pluralize
end
klass_snake(str = klass_camel) click to toggle source
# File lib/morse_controller_helpers.rb, line 70
def klass_snake(str = klass_camel)
  str.underscore
end
params_resource() click to toggle source
# File lib/morse_controller_helpers.rb, line 82
def params_resource
  params.require(resource_symbol).permit!
end
params_resource_ids() click to toggle source
# File lib/morse_controller_helpers.rb, line 74
def params_resource_ids
  params.keys.collect { |p| p if p.include?('_id') }.compact
end
params_resources() click to toggle source
# File lib/morse_controller_helpers.rb, line 78
def params_resources
  params_resource_ids.map { |p| p.gsub('_id', '') }
end
path_edit(cp = current_instance) click to toggle source
# File lib/morse_controller_helpers.rb, line 86
def path_edit(cp = current_instance)
  [:edit, path_prefix, cp].compact
end
path_index() click to toggle source
# File lib/morse_controller_helpers.rb, line 90
def path_index
  [path_prefix, resource_symbols].compact
end
path_new() click to toggle source
# File lib/morse_controller_helpers.rb, line 94
def path_new
  [:new, path_prefix, resource_symbol].compact
end
path_prefix() click to toggle source
# File lib/morse_controller_helpers.rb, line 98
def path_prefix
  nil
end
path_prefix_symbol() click to toggle source
# File lib/morse_controller_helpers.rb, line 102
def path_prefix_symbol
  return nil unless path_prefix
  path_prefix.to_sym
end
path_show(instance = current_instance) click to toggle source
# File lib/morse_controller_helpers.rb, line 107
def path_show(instance = current_instance)
  [path_prefix, instance].compact
end
render_404() click to toggle source
# File lib/morse_controller_helpers.rb, line 119
def render_404
  flash_404_error
  respond_to do |format|
    format.html do
      render file: "#{Rails.root}/public/404",
             layout: false,
             status: :not_found
    end
    format.xml  { head :not_found }
    format.any  { head :not_found }
  end
end
resource_symbol() click to toggle source
# File lib/morse_controller_helpers.rb, line 111
def resource_symbol
  klass_snake.to_sym
end
resource_symbols() click to toggle source
# File lib/morse_controller_helpers.rb, line 115
def resource_symbols
  klass_pluralized
end
set_current_instance(k) click to toggle source
# File lib/morse_controller_helpers.rb, line 132
def set_current_instance(k)
  instance_variable_get("@#{k}") unless action_name == 'index'
end