Class: ApiVersions::Generators::BumpGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- ApiVersions::Generators::BumpGenerator
- Defined in:
- lib/generators/api_versions/bump_generator.rb
Instance Method Summary collapse
Instance Method Details
#generate_new_controllers ⇒ Object
19 20 21 22 23 24 25 26 |
# File 'lib/generators/api_versions/bump_generator.rb', line 19 def generate_new_controllers @controllers.each do |controller| new_controller = controller.gsub(/api\/v#{@highest_version}\//, "api/v#{@highest_version.to_i + 1}/") @current_new_controller = new_controller.chomp(File.extname(controller)).camelize @current_old_controller = controller.chomp(File.extname(controller)).camelize template 'controller.rb', File.join('app', 'controllers', new_controller) end end |
#get_controllers ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 |
# File 'lib/generators/api_versions/bump_generator.rb', line 7 def get_controllers Dir.chdir File.join(Rails.root, 'app', 'controllers') do @controllers = Dir.glob('api/v**/**/*.rb') end @highest_version = @controllers.map do |controller| controller.match(/api\/v(\d+?)\//)[1] end.max @controllers.keep_if { |element| element =~ /api\/v#{@highest_version}\// } end |