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
- #add_rails_version_for_migration ⇒ Object
- #copy_cities ⇒ Object
- #copy_locales ⇒ Object
- #copy_migration ⇒ Object
- #copy_rake_tasks ⇒ Object
Class Method Details
.next_migration_number(dirname) ⇒ Object
27 28 29 30 31 32 33 |
# File 'lib/generators/china_regions/install_generator.rb', line 27 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
35 36 37 38 39 40 41 42 43 44 |
# File 'lib/generators/china_regions/install_generator.rb', line 35 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_cities ⇒ Object
14 15 16 |
# File 'lib/generators/china_regions/install_generator.rb', line 14 def copy_cities copy_file('cities.yml', 'config/cities.yml') unless File.exist?('config/cities.yml') end |
#copy_locales ⇒ Object
18 19 20 21 |
# File 'lib/generators/china_regions/install_generator.rb', line 18 def copy_locales copy_file '../../../../config/locales/en.yml', 'config/locales/regions.en.yml' unless File.exist?('config/locales/regions.en.yml') copy_file '../../../../config/locales/zh.yml', 'config/locales/regions.zh.yml' unless File.exist?('config/locales/regions.zh.yml') 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 |
#copy_rake_tasks ⇒ Object
23 24 25 |
# File 'lib/generators/china_regions/install_generator.rb', line 23 def copy_rake_tasks copy_file '../../../../lib/custom_tasks/china_regions.rake', 'lib/tasks/china_regions.rake' unless File.exist?('lib/tasks/china_regions.rake') end |