Sha256: bea1518f512de11ce48838f29c349547b6404f68e5a0cd1c2f7777f5f8487bf8
Contents?: true
Size: 1.73 KB
Versions: 6
Compression:
Stored size: 1.73 KB
Contents
module HorsePower class ScaffoldGenerator < Rails::Generators::Base source_root File.expand_path('../templates', __FILE__) argument :resource_name, :type => :string argument :api_version, :type => :string, :default => "1" argument :attributes, type: :array, default: [], banner: "field:type field:type" def sprint create_model create_controller create_serializer create_authorizations create_tests create_admin correct_routes end private def create_model run "rails g horse_power:model #{HorsePower.get_singular(resource_name)} #{api_version} #{attributes.join(" ")}" end def create_controller run "rails g horse_power:controller #{HorsePower.get_singular(resource_name)} #{api_version} #{attributes.join(" ")}" end def create_serializer run "rails g horse_power:serializer #{HorsePower.get_singular(resource_name)} #{api_version} #{attributes.join(" ")}" end def create_authorizations run "rails g horse_power:authorization #{HorsePower.get_singular(resource_name)} #{api_version} #{attributes.join(" ")}" end def create_tests run "rails g horse_power:tests #{HorsePower.get_singular(resource_name)} #{api_version} #{attributes.join(" ")}" end def create_admin if api_version == "1" template "active_admin_register.rb.erb", "app/admin/#{HorsePower.get_singular(resource_name)}.rb" end end def correct_routes # Expects the routes to already be setup gsub_file 'config/routes.rb', "scope \'#{api_version}\' do\n", "scope \'#{api_version}\' do\n\t\t\tresources :#{HorsePower.get_plural(resource_name)}, except: [:new, :edit], controller: \'api/v#{api_version}/#{HorsePower.get_plural(resource_name)}\'\n" end end end
Version data entries
6 entries across 6 versions & 1 rubygems