Class: PagarMe::Util
- Inherits:
-
Object
- Object
- PagarMe::Util
- Defined in:
- lib/pagarme/util.rb
Class Method Summary collapse
- .convert_to_pagarme_object(response) ⇒ Object
- .normalize_array_params(value, current_key) ⇒ Object
- .normalize_params(parameters, parent = nil) ⇒ Object
- .pagarme_classes ⇒ Object
- .url_encode(key) ⇒ Object
Class Method Details
.convert_to_pagarme_object(response) ⇒ Object
17 18 19 20 21 22 23 24 25 26 |
# File 'lib/pagarme/util.rb', line 17 def self.convert_to_pagarme_object(response) case response when Array response.map{ |i| convert_to_pagarme_object(i)} when Hash self.pagarme_classes.fetch(response['object'], PagarMeObject).build(response) else response end end |
.normalize_array_params(value, current_key) ⇒ Object
49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/pagarme/util.rb', line 49 def self.normalize_array_params(value, current_key) ret = [] value.each do |element| case element when Hash ret += normalize_params(element, current_key) when Array ret += normalize_array_params(element, current_key) else ret << ["#{current_key}[]", element] end end ret end |
.normalize_params(parameters, parent = nil) ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/pagarme/util.rb', line 33 def self.normalize_params(parameters, parent = nil) ret = [] parameters.each do |k, v| current_key = parent ? "#{parent}[#{url_encode(k)}]" : url_encode(k) case v when Hash ret += normalize_params(v, current_key) when Array ret += normalize_array_params(v, current_key) else ret << [current_key, v] end end ret end |
.pagarme_classes ⇒ Object
6 7 8 9 10 11 12 13 14 15 |
# File 'lib/pagarme/util.rb', line 6 def self.pagarme_classes return { 'transaction' => Transaction, 'plan' => Plan, 'customer' => Customer, 'subscription' => Subscription, 'address' => Address, 'phone' => Phone, } end |
.url_encode(key) ⇒ Object
28 29 30 |
# File 'lib/pagarme/util.rb', line 28 def self.url_encode(key) URI.escape(key.to_s, Regexp.new("[^#{URI::PATTERN::UNRESERVED}]")) end |