Module: Omise::Util
- Defined in:
- lib/omise/util.rb
Class Method Summary collapse
- .generate_param(object) ⇒ Object
- .generate_query(object, namespace = nil) ⇒ Object
- .load_response(response) ⇒ Object
- .typecast(object) ⇒ Object
Class Method Details
.generate_param(object) ⇒ Object
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
# File 'lib/omise/util.rb', line 51 def generate_param(object) if object.is_a?(Hash) return generate_query(object) end if object.is_a?(Array) return object.map { |o| generate_param(o) }.join("/") end if object.is_a?(NilClass) || object.is_a?(TrueClass) || object.is_a?(FalseClass) return object end object.to_s end |
.generate_query(object, namespace = nil) ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/omise/util.rb', line 29 def generate_query(object, namespace = nil) if object.is_a?(Hash) return object.map do |key, value| unless (value.is_a?(Hash) || value.is_a?(Array)) && value.empty? generate_query(value, namespace ? "#{namespace}[#{key}]" : key) end end.compact.sort! * "&" end if object.is_a?(Array) prefix = "#{namespace}[]" if object.empty? return generate_query(nil, prefix) else return object.map { |value| generate_query(value, prefix) }.join("&") end end "#{CGI.escape(generate_param(namespace))}=#{CGI.escape(generate_param(object).to_s)}" end |
.load_response(response) ⇒ Object
19 20 21 22 23 24 25 26 27 |
# File 'lib/omise/util.rb', line 19 def load_response(response) object = JSON.load(response) if object["object"] == "error" raise Omise::Error, object end object end |
.typecast(object) ⇒ Object
8 9 10 11 12 13 14 15 16 17 |
# File 'lib/omise/util.rb', line 8 def typecast(object) klass = begin klass_name = object["object"].split("_").map(&:capitalize).join("") Omise.const_get(klass_name) rescue NameError OmiseObject end klass.new(object) end |