Class: Indonesia::Generators::InstallGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Includes:
Rails::Generators::Migration
Defined in:
lib/generators/indonesia/install_generator.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.next_migration_number(path) ⇒ Object



14
15
16
17
18
19
20
21
# File 'lib/generators/indonesia/install_generator.rb', line 14

def self.next_migration_number(path)
  unless @prev_migration_nr
    @prev_migration_nr = Time.now.utc.strftime("%Y%m%d%H%M%S").to_i
  else
    @prev_migration_nr += 1
  end
  @prev_migration_nr.to_s
end

Instance Method Details

#create_indonesia_migrationObject



29
30
31
32
33
34
# File 'lib/generators/indonesia/install_generator.rb', line 29

def create_indonesia_migration
  migration_template 'migrations/province.rb', 'db/migrate/create_provinces.rb', migration_version: migration_version
  migration_template 'migrations/regency.rb', 'db/migrate/create_regencies.rb', migration_version: migration_version
  migration_template 'migrations/district.rb', 'db/migrate/create_districts.rb', migration_version: migration_version
  migration_template 'migrations/data.rb', 'db/migrate/insert_indonesia_address.rb', migration_version: migration_version
end

#create_modelObject



23
24
25
26
27
# File 'lib/generators/indonesia/install_generator.rb', line 23

def create_model
  template 'models/province.rb', File.join('app/models', 'province.rb')
  template 'models/regency.rb', File.join('app/models', 'regency.rb')
  template 'models/district.rb', File.join('app/models', 'district.rb')
end

#migration_versionObject



40
41
42
43
44
# File 'lib/generators/indonesia/install_generator.rb', line 40

def migration_version
  if rails5?
    "[#{Rails::VERSION::MAJOR}.#{Rails::VERSION::MINOR}]"
  end
end

#rails5?Boolean

Returns:

  • (Boolean)


36
37
38
# File 'lib/generators/indonesia/install_generator.rb', line 36

def rails5?
  Rails.version.start_with? '5'
end