Module: Plazucchini::Utils
Instance Method Summary collapse
Instance Method Details
#deep_transform_keys(obj) ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/plazucchini/utils.rb', line 25 def deep_transform_keys(obj) case obj when Hash obj.each_with_object({}) do |(key, value), result| result[to_snake_case(key)] = deep_transform_keys(value) end when Array obj.map { |item| deep_transform_keys(item) } else obj end end |
#make_user_agent ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 |
# File 'lib/plazucchini/utils.rb', line 5 def make_user_agent requa = "Faraday/v" + Faraday::VERSION habua = "Plazucchini/v" + Plazucchini::VERSION if Plazucchini.mailto mailto = "mailto:" + Plazucchini.mailto ua = requa + " " + habua + " " + mailto else ua = requa + " " + habua end ua end |
#to_snake_case(str) ⇒ Object
17 18 19 20 21 22 23 |
# File 'lib/plazucchini/utils.rb', line 17 def to_snake_case(str) str.to_s .gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2') .gsub(/([a-z\d])([A-Z])/, '\1_\2') .gsub(/[-.]/, '_') .downcase end |