Sha256: 444af3f9aa80d30e2831163d2f8e6cd95e280e1ee66e82696d11288815098f24

Contents?: true

Size: 1.22 KB

Versions: 6

Compression:

Stored size: 1.22 KB

Contents

require 'rails/generators/migration'

module Apicasso
  module Generators
    # Class used to install Apicasso engine into a project
    class InstallGenerator < ::Rails::Generators::Base
      include Rails::Generators::Migration
      source_root File.expand_path('../templates', __FILE__)
      desc 'Add the required migrations to run APIcasso'

      # Method generates the next migration number
      # @param path [String] the path to migration directory
      # @returns [String] the next migration number
      def self.next_migration_number(path)
        if @prev_migration_nr
          @prev_migration_nr += 1
        else
          @prev_migration_nr = Time.now.utc.strftime("%Y%m%d%H%M%S").to_i
        end
        @prev_migration_nr.to_s
      end

      # Create a migration to setup database tables used by the
      # engine to implement authentication, authorization and auditability
      def copy_migrations
        migration_template 'create_apicasso_tables.rb',
                           'db/migrate/create_apicasso_tables.rb'
      end

      # Create an initializer with CORS configuration to Apicasso
      def copy_initializer
        copy_file 'apicasso.rb', 'config/initalizers/apicasso.rb'
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
apicasso-0.6.5 lib/generators/apicasso/install/install_generator.rb
apicasso-0.6.4 lib/generators/apicasso/install/install_generator.rb
apicasso-0.6.3 lib/generators/apicasso/install/install_generator.rb
apicasso-0.6.2 lib/generators/apicasso/install/install_generator.rb
apicasso-0.6.1 lib/generators/apicasso/install/install_generator.rb
apicasso-0.6.0 lib/generators/apicasso/install/install_generator.rb