Sha256: d5eca2097aee0dc872720c0fc663c461e9bd44d27736ab1f5c48577c7ceb0c74

Contents?: true

Size: 1.04 KB

Versions: 6

Compression:

Stored size: 1.04 KB

Contents

require 'rails/generators/base'
require 'rails/generators/active_record'

module SpiffyStoresApp
  module Generators
    class ShopModelGenerator < Rails::Generators::Base
      include Rails::Generators::Migration
      source_root File.expand_path('../templates', __FILE__)

      def create_shop_model
        copy_file 'shop.rb', 'app/models/shop.rb'
      end

      def create_shop_migration
        migration_template 'db/migrate/create_shops.erb', 'db/migrate/create_shops.rb'
      end

      def update_spiffy_stores_app_initializer
        gsub_file 'config/initializers/spiffy_stores_app.rb', 'SpiffyStoresApp::InMemorySessionStore', 'Shop'
      end

      def create_shop_fixtures
        copy_file 'shops.yml', 'test/fixtures/shops.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

6 entries across 6 versions & 1 rubygems

Version Path
spiffy_stores_app-8.2.11 lib/generators/spiffy_stores_app/shop_model/shop_model_generator.rb
spiffy_stores_app-8.2.10 lib/generators/spiffy_stores_app/shop_model/shop_model_generator.rb
spiffy_stores_app-8.2.9 lib/generators/spiffy_stores_app/shop_model/shop_model_generator.rb
spiffy_stores_app-8.2.8 lib/generators/spiffy_stores_app/shop_model/shop_model_generator.rb
spiffy_stores_app-8.2.7 lib/generators/spiffy_stores_app/shop_model/shop_model_generator.rb
spiffy_stores_app-8.2.6 lib/generators/spiffy_stores_app/shop_model/shop_model_generator.rb