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
14 15 16 17 18 19 20 21 22 23 |
# File 'lib/pagarme/util.rb', line 14 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
46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'lib/pagarme/util.rb', line 46 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
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/pagarme/util.rb', line 30 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
3 4 5 6 7 8 9 10 11 12 |
# File 'lib/pagarme/util.rb', line 3 def self.pagarme_classes return { 'transaction' => Transaction, 'plan' => Plan, 'customer' => Customer, 'subscription' => Subscription, 'address' => Address, 'phone' => Phone, } end |
.url_encode(key) ⇒ Object
25 26 27 |
# File 'lib/pagarme/util.rb', line 25 def self.url_encode(key) URI.escape(key.to_s, Regexp.new("[^#{URI::PATTERN::UNRESERVED}]")) end |