class Adminpanel::ResourceGenerator

Public Instance Methods

add_resource_to_config() click to toggle source
# File lib/generators/adminpanel/resource/resource_generator.rb, line 80
def add_resource_to_config
  if is_a_resource?
    inject_into_file 'config/initializers/adminpanel_setup.rb',
      after: 'config.displayable_resources = [' do
      indent "\n:#{pluralized_name},", 4
    end
  end
end
change_fields_aliases() click to toggle source
# File lib/generators/adminpanel/resource/resource_generator.rb, line 19
def change_fields_aliases
  attrs_to_delete = []
  fields.each do |attribute|
    case attribute.split(':').second
    when 'wysiwyg'
      attrs_to_delete << attribute
      fields << attribute.split(':').first + ':' + 'text'
    when 'datepicker'
      attrs_to_delete << attribute
      fields << attribute.split(':').first + ':' + 'date'
    when 'has_many'
      attrs_to_delete << attribute
      fields << attribute.split(':').first + ':' + 'checkbox'
    end
  end
  attrs_to_delete.each { |f| fields.delete(f) }
end
generate_controller() click to toggle source
# File lib/generators/adminpanel/resource/resource_generator.rb, line 41
def generate_controller
  if is_a_resource?
    template 'adminpanel_controller_template.rb', "app/controllers/adminpanel/#{pluralized_name}_controller.rb"
  end
end
generate_files_uploaders() click to toggle source
# File lib/generators/adminpanel/resource/resource_generator.rb, line 70
def generate_files_uploaders
  fields.each do |attribute|
    assign_attributes_variables(attribute)
    case @attr_type
    when 'file', 'image'
      template '../../gallery/templates/uploader.rb', "app/uploaders/adminpanel/#{class_name.underscore}_uploader.rb"
    end
  end
end
generate_migration() click to toggle source
# File lib/generators/adminpanel/resource/resource_generator.rb, line 47
def generate_migration
  parameters = fields.dup
  parameters.delete_if { |pair| pair.split(':').second == 'checkbox' }
  attrs_to_delete = []
  parameters.each do |attribute|
    case attribute.split(':').second
    when 'file', 'image'
      attrs_to_delete << attribute
      parameters << attribute.split(':').first + ':' + 'string'
    end
  end
  attrs_to_delete.each { |a| parameters.delete(a) }
  parameters << 'created_at:datetime' << 'updated_at:datetime'

  invoke :migration, ["create_adminpanel_#{pluralized_name}", parameters]
end
generate_model() click to toggle source
# File lib/generators/adminpanel/resource/resource_generator.rb, line 37
def generate_model
  template 'adminpanel_resource_template.rb', "app/models/adminpanel/#{resource_name}.rb"
end
print_messages() click to toggle source