class BrainDamage::ControllerGenerator

Attributes

set_member_before_action_list[RW]

Public Class Methods

new(resource, options = {}) click to toggle source
Calls superclass method
# File lib/generators/brain_damage/lib/controller/controller_generator.rb, line 7
def initialize(resource, options = {})
  @template_file = 'controller.rb'
  @set_member_before_action_list = [:show, :edit, :update, :destroy]
  super
end

Public Instance Methods

add_before_filters() click to toggle source
# File lib/generators/brain_damage/lib/controller/controller_generator.rb, line 18
def add_before_filters
  @parser.class_method_calls[:after_class_definition] << RubySimpleParser::CodeLine.new(render_erb_string('before_action :set_<%= singular_table_name %>, only: <%= set_member_before_action_list.inspect %>').indent)
end
always_overwrite_methods() click to toggle source
# File lib/generators/brain_damage/lib/controller/controller_generator.rb, line 36
def always_overwrite_methods
  [render_erb_string("<%= singular_table_name %>_params").to_sym]
end
attribute_white_list() click to toggle source
# File lib/generators/brain_damage/lib/controller/controller_generator.rb, line 22
def attribute_white_list
  @resource.fields.values.map(&:attr_white_list).reject(&:nil?).sort { |field_a, field_b|
    is_hash_a = (field_a.index '=>') || 0
    is_hash_b = (field_b.index '=>') || 0

    if is_hash_a == is_hash_b
      field_a <=> field_b
    else
      is_hash_a <=> is_hash_b
    end

  }.join(', ')
end
generate() click to toggle source
# File lib/generators/brain_damage/lib/controller/controller_generator.rb, line 13
def generate
  add_before_filters
  render
end

Private Instance Methods

dir() click to toggle source
# File lib/generators/brain_damage/lib/controller/controller_generator.rb, line 41
def dir
  __dir__
end