Sha256: 41f6ca2ed2c5e3a825e4999b91c6c705f7f2cf1baeb466176b44b363aa672e46

Contents?: true

Size: 1.39 KB

Versions: 10

Compression:

Stored size: 1.39 KB

Contents

module Quaderno
  module Behavior
    module Payment 
      def self.included(base)
        base.send :include, InstanceMethods
      end
      
      module InstanceMethods
        def to_instance(klass, parsed)
          klass.new(parsed)
        end
        
        def add_payment(params)
          party_response = api_model.post "#{api_model.base_url}/api/v1/#{ api_model.api_path }/#{ id }/payments.json", body: params, basic_auth: { username: api_model.auth_token }            
          api_model.check_exception_for(party_response, { rate_limit: true, subdomain_or_token: true, required_fields: true })
          parsed = JSON::parse party_response.body
          instance = to_instance(Quaderno::Payment, parsed)
          payments << instance
          Quaderno::Payment.new parsed
        end

        def remove_payment(payment_id)
          party_response = HTTParty.delete "#{api_model.base_url}/api/v1/#{ api_model.api_path }/#{ id }/payments/#{ payment_id }.json", basic_auth: { username: api_model.auth_token }
          to_delete = nil
          payments.each do |payment|
            if payment.id == payment_id
              to_delete = payment
              break
            end
          end
          payments.delete(to_delete)
          api_model.check_exception_for(party_response, { rate_limit: true, subdomain_or_token: true, id: true }) 
          true
        end
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
quaderno-1.5.5 lib/quaderno-ruby/behavior/payment.rb
quaderno-1.5.4 lib/quaderno-ruby/behavior/payment.rb
quaderno-1.5.3 lib/quaderno-ruby/behavior/payment.rb
quaderno-1.5.2 lib/quaderno-ruby/behavior/payment.rb
quaderno-1.5.1 lib/quaderno-ruby/behavior/payment.rb
quaderno-1.5.0 lib/quaderno-ruby/behavior/payment.rb
quaderno-1.4.2 lib/quaderno-ruby/behavior/payment.rb
quaderno-1.4.1 lib/quaderno-ruby/behavior/payment.rb
quaderno-1.4.0 lib/quaderno-ruby/behavior/payment.rb
quaderno-1.3.2 lib/quaderno-ruby/behavior/payment.rb