Class: Settings::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:



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

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



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

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



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

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

#rails5?Boolean

Returns:

  • (Boolean)


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

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