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

Version Path
horse_power-0.1.6 lib/generators/horse_power/scaffold/scaffold_generator.rb
horse_power-0.1.5 lib/generators/horse_power/scaffold/scaffold_generator.rb
horse_power-0.1.2 lib/generators/horse_power/scaffold/scaffold_generator.rb
horse_power-0.1.1 lib/generators/horse_power/scaffold/scaffold_generator.rb
horse_power-0.1.0 lib/generators/horse_power/scaffold/scaffold_generator.rb
horse_power-0.0.1 lib/generators/horse_power/scaffold/scaffold_generator.rb