Module: MarathonDeploy::Utils
- Defined in:
- lib/marathon_deploy/utils.rb
Class Method Summary collapse
- .deep_symbolize(obj) ⇒ Object
- .random ⇒ Object
- .response_body(response) ⇒ Object
- .symbolize(data) ⇒ Object
Class Method Details
.deep_symbolize(obj) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/marathon_deploy/utils.rb', line 8 def self.deep_symbolize(obj) return obj.reduce({}) do |memo, (k, v)| memo.tap { |m| m[k.to_sym] = deep_symbolize(v) } end if obj.is_a? Hash return obj.reduce([]) do |memo, v| memo << deep_symbolize(v); memo end if obj.is_a? Array obj end |
.random ⇒ Object
20 21 22 23 |
# File 'lib/marathon_deploy/utils.rb', line 20 def self.random range = [*'0'..'9',*'A'..'Z',*'a'..'z'] return Array.new(30){ range.sample }.join end |
.response_body(response) ⇒ Object
25 26 27 28 29 30 |
# File 'lib/marathon_deploy/utils.rb', line 25 def self.response_body(response) if (response.is_a?(Net::HTTPResponse) && !response.body.nil?) return deep_symbolize((JSON.parse(response.body))) end return nil end |
.symbolize(data) ⇒ Object
4 5 6 |
# File 'lib/marathon_deploy/utils.rb', line 4 def self.symbolize(data) data.inject({}){|h,(k,v)| h[k.to_sym] = v; h} end |