module Agilib

Public Class Methods

rails4?() click to toggle source

Método para identificar se a versão do rails utilizado no projeto é a versão 4

@return [Boolean] True ou False se a versão do Rails for 4

# File lib/agilib.rb, line 60
def self.rails4?
        ::Rails::VERSION::MAJOR == 4
end
setup() { |self| ... } click to toggle source

Método de configuração da Agilib Passando um bloco, você recebe uma instância do módulo para realizar configurações ou personalizações, desde habilitar ou desabilitar um módulo e também configura-lo.

@example Configuração da Agilib

Agilib.setup do |config|
  config.use :token_authentication
end

@param block [Proc, Lambda] - Bloco que receberá a instância para ser configurada. @return [Agilib]

# File lib/agilib.rb, line 75
def self.setup
  yield self
end
use(name, options={}) { |mod| ... } click to toggle source

Define os módulos que serão utilizados pela gem. Através deste método é possível habilitar o módulo e também definir suas configurações Para habilitar um módulo, é necessário apenas passar um symbol de sua representação. @example Configuração simples

Agilib.setup do |config|
  config.use :token_authenticatable
  config.use :push_notification
end

Existem duas formas de setar as configurações de cada módulo através do método use.

@example Configuração por parâmetro

config.use :token_authenticatable, :route => "/tokens"

@example Configuração por Bloco

config.use :token_authenticatable do |options|
  options.route = "/tokens"
end

@param name [Symbol] Identificação do Módulo (Token Authenticatable => :token_authenticatable) @param options [Hash] Optional - Configurações do Módulo @param block [Proc,Lambda] Optional - Bloco com configurações do Módulo

@return nil

# File lib/agilib.rb, line 42
def self.use(name, options={}, &block)
  mod = "Agilib::#{name.to_s.classify}".constantize

  @@use_modules[name] = true

  options.each_with_index do |value, index|
    mod.send("#{value[0]}=", [value[1]])
  end

  if block_given?
    yield(mod)
  end

end