Class: ChinaRegions::InstallGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- ChinaRegions::InstallGenerator
- Includes:
- Rails::Generators::Migration
- Defined in:
- lib/generators/china_regions/install_generator.rb
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.next_migration_number(dirname) ⇒ Object
21 22 23 24 25 26 27 |
# File 'lib/generators/china_regions/install_generator.rb', line 21 def self.next_migration_number(dirname) if ActiveRecord::Base. Time.now.utc.strftime('%Y%m%d%H%M%S') else format('%.3d', (current_migration_number(dirname) + 1)) end end |
Instance Method Details
#add_rails_version_for_migration ⇒ Object
29 30 31 32 33 34 35 36 37 38 |
# File 'lib/generators/china_regions/install_generator.rb', line 29 def add_rails_version_for_migration rails_version = Gem.loaded_specs["activesupport"].version return if rails_version < Gem::Version.create('4.0') migration_version = rails_version.to_s.split(/\./)[0..1].join('.') filename = 'db/migrate/*create_china_regions_tables.rb' kclass = 'ActiveRecord::Migration' system(`grep -rl "#{kclass}$" #{filename} | xargs sed -i "" "s/#{kclass}/#{kclass}[#{migration_version}]/g"`) end |
#copy_locales ⇒ Object
14 15 16 17 18 19 |
# File 'lib/generators/china_regions/install_generator.rb', line 14 def copy_locales %w[en zh].each do |locale| config_file = "config/locales/regions.#{locale}.yml" copy_file "../../../../config/locales/china_regions.#{locale}.yml", config_file unless File.exist?(config_file) end end |
#copy_migration ⇒ Object
8 9 10 11 12 |
# File 'lib/generators/china_regions/install_generator.rb', line 8 def copy_migration Dir['db/migrate/*_china_regions_tables.rb'].each { |file| File.delete(file) } migration_template 'migration.rb', 'db/migrate/create_china_regions_tables.rb' end |