Module: Cfenv::Application

Included in:
Cfenv
Defined in:
lib/cfenv/application.rb

Constant Summary collapse

WHITELISTED_SYMBOLS =
%i(
  application_users users
  instance_id instance_index
  application_version version
  application_name name
  application uris
  started_at start started_at_timestamp
  host port limits
)

Instance Method Summary collapse

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missingObject Also known as: method_missing_without_whitelisted_symbol_check



33
34
35
36
37
38
39
# File 'lib/cfenv/application.rb', line 33

def method_missing_with_whitelisted_symbol_check(method, *args)
  if WHITELISTED_SYMBOLS.include?(method)
    vcap_application.send(method)
  else
    method_missing_without_whitelisted_symbol_check(method, args)
  end
end

Instance Method Details

#method_missing_with_whitelisted_symbol_check(method, *args) ⇒ Object Also known as: method_missing



25
26
27
28
29
30
31
# File 'lib/cfenv/application.rb', line 25

def method_missing_with_whitelisted_symbol_check(method, *args)
  if WHITELISTED_SYMBOLS.include?(method)
    vcap_application.send(method)
  else
    method_missing_without_whitelisted_symbol_check(method, args)
  end
end

#vcap_applicationObject



16
17
18
19
20
21
# File 'lib/cfenv/application.rb', line 16

def vcap_application
  str = ENV['VCAP_APPLICATION']
  str ||= '{}'
  obj = MultiJson.load str
  Hashie::Mash.new(obj)
end