Module: Glassfrog::Utils
- Included in:
- Base, Client, REST::Request
- Defined in:
- lib/glassfrog/utils/utils.rb
Overview
Utilites for handling requests.
Instance Method Summary collapse
-
#extract_id(object, klass) ⇒ Integer?
Grabs ID out of an object.
-
#parameterize(value) ⇒ Symbol
Turns a string into a lowercase, underscored symbol for use as a parameter.
-
#symbolize_keys(object) ⇒ Hash, ...
Turns all the values into symbols in an array or all the keys in a hash.
Instance Method Details
#extract_id(object, klass) ⇒ Integer?
Grabs ID out of an object.
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/glassfrog/utils/utils.rb', line 39 def extract_id(object, klass) case object when ::Integer object when ::String object.split('/').last.to_i when ::Hash object[:id] || object[:ID] when URI, Addressable::URI object.path.split('/').last.to_i when klass object.id else nil end end |
#parameterize(value) ⇒ Symbol
Turns a string into a lowercase, underscored symbol for use as a parameter.
11 12 13 |
# File 'lib/glassfrog/utils/utils.rb', line 11 def parameterize(value) value.to_s.downcase.tr(" ", "_").to_sym end |
#symbolize_keys(object) ⇒ Hash, ...
Turns all the values into symbols in an array or all the keys in a hash.
20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/glassfrog/utils/utils.rb', line 20 def symbolize_keys(object) if object.is_a?(Array) object.each_with_index do |val, index| object[index] = symbolize_keys(val) end elsif object.is_a?(Hash) object.keys.each do |key| object[key.to_sym] = symbolize_keys(object.delete(key)) end end object end |