Sha256: 028eca55c12472fe026f6d049ef2fbea07902b2d33d5c977e08971500f37eb76

Contents?: true

Size: 858 Bytes

Versions: 9

Compression:

Stored size: 858 Bytes

Contents

require 'rails/generators/migration'

class SettingsGenerator < Rails::Generators::NamedBase
  include Rails::Generators::Migration

  argument :name, type: :string, default: 'my_settings'

  source_root File.expand_path('../templates', __FILE__)

  @@migrations = false

  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

  def settings
    # generate(:model, name, "--skip-migration")
    template 'model.rb', File.join('app/models', class_path, "#{file_name}.rb"), force: true
    migration_template 'migration.rb', 'db/migrate/create_settings.rb'
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
rails-settings-cached-0.5.4 lib/generators/settings/settings_generator.rb
rails-settings-cached-0.5.3 lib/generators/settings/settings_generator.rb
rails-settings-cached-0.5.2 lib/generators/settings/settings_generator.rb
rails-settings-cached-0.5.0 lib/generators/settings/settings_generator.rb
rails-settings-cached-0.4.6 lib/generators/settings/settings_generator.rb
rails-settings-cached-0.4.5 lib/generators/settings/settings_generator.rb
rails-settings-cached-0.4.4 lib/generators/settings/settings_generator.rb
rails-settings-cached-0.4.3 lib/generators/settings/settings_generator.rb
rails-settings-cached-0.4.2 lib/generators/settings/settings_generator.rb