Sha256: e5c25391a5ae336f27c6e9994e4608828aa40c9e2db9a8b1d9bc0dadaf4ae66f

Contents?: true

Size: 1.07 KB

Versions: 3

Compression:

Stored size: 1.07 KB

Contents

require "rails/generators/base"
require "rails/generators/active_record"

module DuodealerApp
  module Generators
    class AccountModelGenerator < Rails::Generators::Base
      include Rails::Generators::Migration
      source_root File.expand_path("../templates", __FILE__)

      def create_account_model
        copy_file "account.rb", "app/models/account.rb"
      end

      def create_account_migration
        migration_template "db/migrate/create_accounts.erb", "db/migrate/create_accounts.rb"
      end

      def update_duodealer_app_initializer
        gsub_file "config/initializers/duodealer_app.rb", "DuodealerApp::InMemorySessionStore", "account"
      end

      def create_account_fixtures
        copy_file "accounts.yml", "test/fixtures/accounts.yml"
      end

      private
        def rails_migration_version
          Rails.version.match(/\d\.\d/)[0]
        end

        # for generating a timestamp when using `create_migration`
        def self.next_migration_number(dir)
          ActiveRecord::Generators::Base.next_migration_number(dir)
        end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
duodealer_app-1.0.4 lib/generators/duodealer_app/account_model/account_model_generator.rb
duodealer_app-1.0.3 lib/generators/duodealer_app/account_model/account_model_generator.rb
duodealer_app-1.0.2 lib/generators/duodealer_app/account_model/account_model_generator.rb