Module: Agilib

Defined in:
lib/agilib.rb,
lib/agilib/cli.rb,
lib/agilib/engine.rb,
lib/agilib/routing.rb,
lib/agilib/version.rb,
lib/agilib/composer/command.rb,
lib/agilib/composer/composer.rb,
lib/agilib/composer/templater.rb,
lib/agilib/push_notification/model.rb,
lib/generators/agilib/push/push_generator.rb,
lib/agilib/push_notification/platforms/ios.rb,
lib/generators/agilib/token/token_generator.rb,
lib/agilib/push_notification/platforms/android.rb,
lib/agilib/push_notification/push_notification.rb,
lib/generators/agilib/install/install_generator.rb,
lib/agilib/token_authenticatable/token_authentication.rb,
lib/agilib/token_authenticatable/token_authentication_handler.rb

Defined Under Namespace

Modules: Composer, Generators, PushNotification, Routing, TokenAuthenticatable, TokenAuthenticationHandler, TokenAuthenticationHandlerMethods, Version Classes: Cli, Engine

Constant Summary collapse

@@use_modules =
Hash.new

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.rails4?Boolean

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

Returns:

  • (Boolean)

    True ou False se a versão do Rails for 4



60
61
62
# File 'lib/agilib.rb', line 60

def self.rails4?
	::Rails::VERSION::MAJOR == 4
end

.setup {|_self| ... } ⇒ Agilib

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.

Examples:

Configuração da Agilib

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

Parameters:

  • block (Proc, Lambda)
    • Bloco que receberá a instância para ser configurada.

Yields:

  • (_self)

Yield Parameters:

  • _self (Agilib)

    the object that the method was called on

Returns:



75
76
77
# File 'lib/agilib.rb', line 75

def self.setup
  yield self
end

.use(name, options = {}, &block) ⇒ Object

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. Existem duas formas de setar as configurações de cada módulo através do método use.

Examples:

Configuração simples

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

Configuração por parâmetro

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

Configuração por Bloco

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

Parameters:

  • name (Symbol)

    Identificação do Módulo (Token Authenticatable => :token_authenticatable)

  • options (Hash) (defaults to: {})

    Optional - Configurações do Módulo

  • block (Proc, Lambda)

    Optional - Bloco com configurações do Módulo

Returns:

  • nil



42
43
44
45
46
47
48
49
50
51
52
53
54
55
# 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

Instance Method Details

#use_modulesHash

Acessor onde é guardado os módulos que estão habilitados.

Returns:

  • (Hash)

    Hash com os módulos habilitados



14
# File 'lib/agilib.rb', line 14

mattr_accessor :use_modules