Sha256: d63c60361520e6eaf86cc6bef67bf2bc10a6a3ef94800e5380a8d37ffd29e197

Contents?: true

Size: 1.36 KB

Versions: 12

Compression:

Stored size: 1.36 KB

Contents

# encoding: utf-8
module Agilib
  module Generators
    class TokenGenerator < ::Rails::Generators::Base
      
      desc "Instalação do módulo Token Authenticatable da Agilib"
      class_option :"skip-migration",   type: :boolean, desc: 'Caso não queira que seja criado o arquivo de migração'

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

      # Se o arquivo de configuração não foi criado
      # Então chama o generator de instalação da gem
      def verify_configuratino_file
        unless File.exists?(File.join("config/initializers/agilib.rb"))
          invoke "agilib:install", ["Agilib"]
        end
      end

      def add_route
        unless File.exists?(File.join("config/initializers/agilib.rb"))
          route("agilib_token_authenticatable")
        end
      end

      def update_application_controller_and_model
          inject_into_class "app/controllers/application_controller.rb", "ApplicationController", <<-RUBY
  agilib_token_authenticatable

          RUBY

          if File.exists?(File.join("app/models/user.rb"))
            inject_into_class "app/models/user.rb", "User", <<-RUBY
    agilib_token_authenticatable

            RUBY
          end
      end

      def copy_token_migration
        if !options[:"skip-migration"]
          invoke "active_record:agilib_token", ["Agilib"]
        end
      end

    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
agilib-0.1.9 lib/generators/agilib/token/token_generator.rb
agilib-0.1.8 lib/generators/agilib/token/token_generator.rb
agilib-0.1.7 lib/generators/agilib/token/token_generator.rb
agilib-0.1.6 lib/generators/agilib/token/token_generator.rb
agilib-0.1.5 lib/generators/agilib/token/token_generator.rb
agilib-0.1.4 lib/generators/agilib/token/token_generator.rb
agilib-0.1.3 lib/generators/agilib/token/token_generator.rb
agilib-0.1.2.beta6 lib/generators/agilib/token/token_generator.rb
agilib-0.1.2.beta5 lib/generators/agilib/token/token_generator.rb
agilib-0.1.2.beta4 lib/generators/agilib/token/token_generator.rb
agilib-0.1.2.beta3 lib/generators/agilib/token/token_generator.rb
agilib-0.1.2.beta2 lib/generators/agilib/token/token_generator.rb