Class: ApiValidator::Generators::InstallGenerator

Inherits:
Rails::Generators::NamedBase
  • Object
show all
Defined in:
lib/generators/api_validator/install/install_generator.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.source_rootObject



6
7
8
# File 'lib/generators/api_validator/install/install_generator.rb', line 6

def self.source_root
  source_root ||= File.join(File.dirname(__FILE__), 'templates/')
end

Instance Method Details

#add_moduleObject



21
22
23
24
25
26
# File 'lib/generators/api_validator/install/install_generator.rb', line 21

def add_module
  line = "class ApplicationController < ActionController::Base"
  gsub_file 'app/controllers/application_controller.rb', /(#{Regexp.escape(line)})/mi do |match|
    "#{match}\n include ApiValidator\n"
  end 
end

#copy_initializer_fileObject



10
11
12
13
14
15
# File 'lib/generators/api_validator/install/install_generator.rb', line 10

def copy_initializer_file
  create_file "config/initializers/#{file_name}.rb", <<-FILE
  validation_template = ERB.new(File.new(File.expand_path('../../#{file_name}.yml.erb', __FILE__)).read)
  VALIDATION_CONFIG = HashWithIndifferentAccess.new(YAML.load(validation_template.result(binding)))
  FILE
end

#copy_validate_api_yml_fileObject



17
18
19
# File 'lib/generators/api_validator/install/install_generator.rb', line 17

def copy_validate_api_yml_file
	copy_file "validate_api.yml.erb", "config/#{file_name}.yml.erb"
end