Class: RailsSettings::InstallGenerator

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

Constant Summary collapse

@@migrations =
false

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.next_migration_number(dirname) ⇒ Object

:nodoc:



18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/generators/settings/install_generator.rb', line 18

def self.next_migration_number(dirname) #:nodoc:
  if ActiveRecord::Base.timestamped_migrations
    if @@migrations
      (current_migration_number(dirname) + 1)
    else
      @@migrations = true
      Time.now.utc.strftime("%Y%m%d%H%M%S")
    end
  else
    format "%.3d", current_migration_number(dirname) + 1
  end
end

Instance Method Details

#install_settingObject



31
32
33
34
# File 'lib/generators/settings/install_generator.rb', line 31

def install_setting
  template "model.rb", File.join("app/models", class_path, "#{file_name}.rb")
  migration_template "migration.rb", "db/migrate/create_settings.rb", migration_version: migration_version
end

#migration_versionObject



44
45
46
# File 'lib/generators/settings/install_generator.rb', line 44

def migration_version
  "[#{rails_version_major}.#{rails_version_minor}]" if rails_version_major >= 5
end

#rails_version_majorObject



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

def rails_version_major
  Rails::VERSION::MAJOR
end

#rails_version_minorObject



40
41
42
# File 'lib/generators/settings/install_generator.rb', line 40

def rails_version_minor
  Rails::VERSION::MINOR
end