class ExpressSettings::InstallGenerator

Public Instance Methods

add_routes() click to toggle source
# File lib/generators/express_settings/install/install_generator.rb, line 32
def add_routes
  inject_into_file 'config/routes.rb', "resource :setting, only: [:show, :update]\n\n", after: "#{@module_class}::Engine.routes.draw do\n"
end
add_settings_to_engine() click to toggle source
# File lib/generators/express_settings/install/install_generator.rb, line 18
  def add_settings_to_engine
    engine_path = File.join('lib', @module_name, 'engine.rb')
    engine_settings_class_method = <<-RUBY


  def self.settings
    #{@module_class}::Setting.first_or_create
  end
    RUBY

    inject_into_file engine_path, engine_settings_class_method, after: /module #{@module_class}/
    prepend_to_file engine_path, "require 'express_settings'\n\n"
  end
create_model_controller_and_migration() click to toggle source
# File lib/generators/express_settings/install/install_generator.rb, line 5
def create_model_controller_and_migration
  @module_name = destination_root.split('/').last
  @module_class = @module_name.camelize
  template 'model/model.rb', File.join('app', 'models', @module_name, 'setting.rb')
  invoke 'active_record:migration', ["create_#{@module_name}_settings", 'data:text']

  template 'controller/controller.rb', File.join('app', 'controllers', @module_name, 'admin', 'settings_controller.rb')
end
create_view() click to toggle source
# File lib/generators/express_settings/install/install_generator.rb, line 14
def create_view
  template 'show.html.et.erb', File.join('app', 'views', @module_name, 'admin', 'settings', 'show.html.et')
end