Module: Jackal::Utils::Config

Included in:
Carnivore::Http::PointBuilder::Endpoint, Callback, Callback
Defined in:
lib/jackal/utils/config.rb

Instance Method Summary collapse

Instance Method Details

#configSmash

Returns configuration.

Returns:

  • (Smash)

    configuration



30
31
32
# File 'lib/jackal/utils/config.rb', line 30

def config
  service_config[:config] || Smash.new
end

#config_path(class_name = self.class.name) ⇒ Array

Returns key path in configuration.

Returns:

  • (Array)

    key path in configuration



13
14
15
16
17
# File 'lib/jackal/utils/config.rb', line 13

def config_path(class_name = self.class.name)
  class_name.split('::')[0,2].map do |string|
    string.gsub(/(?<![A-Z])([A-Z])/, '_\1').sub(/^_/, '').downcase
  end
end

#destination(direction = :output) ⇒ Symbol

Generation destination key based on direction

Parameters:

  • direction (Symbol, String) (defaults to: :output)

Returns:

  • (Symbol)


38
39
40
# File 'lib/jackal/utils/config.rb', line 38

def destination(direction = :output)
  [source_prefix, direction].map(&:to_s).join('_').to_sym
end

#service_configSmash

Returns service configuration.

Returns:

  • (Smash)

    service configuration



25
26
27
# File 'lib/jackal/utils/config.rb', line 25

def service_config
  Carnivore::Config.get(*config_path) || Smash.new
end

#service_name(class_name = self.class.name) ⇒ Symbol

Returns name of service.

Returns:

  • (Symbol)

    name of service



8
9
10
# File 'lib/jackal/utils/config.rb', line 8

def service_name(class_name = self.class.name)
  config_path(class_name).last.to_sym
end

#source_prefixString

Returns prefix of source for this callback.

Returns:

  • (String)

    prefix of source for this callback



20
21
22
# File 'lib/jackal/utils/config.rb', line 20

def source_prefix
  config_path.join('_')
end