Sha256: 3fced7b64fd804e45ad95cc08e1a09423999b1ad7a369973b910442fb8d983f7

Contents?: true

Size: 1.29 KB

Versions: 2

Compression:

Stored size: 1.29 KB

Contents

module CurrencyCloud
  
  class Settlement < Resource
    
    resource :settlements
    
    actions :create, :retrieve, :find, :delete

    def add_conversion(conversion_id)
      update_attributes(Settlement.add_conversion(id, conversion_id))
    end
    
    def remove_conversion(conversion_id)
      update_attributes(Settlement.remove_conversion(id, conversion_id))
    end
    
    def release
      update_attributes(Settlement.release(id))
    end
    
    def unrelease
      update_attributes(Settlement.unrelease(id))
    end

    def self.add_conversion(settlement_id, conversion_id)
      post("#{settlement_id}/add_conversion", conversion_id: conversion_id)
    end
    
    def self.remove_conversion(settlement_id, conversion_id)
      post("#{settlement_id}/remove_conversion", conversion_id: conversion_id)
    end
    
    def self.release(settlement_id)
      post("#{settlement_id}/release")
    end
    
    def self.unrelease(settlement_id)
      post("#{settlement_id}/unrelease")
    end    

    private
    def update_attributes(settlement)
      self.conversion_ids = settlement.conversion_ids
      self.status = settlement.status
      self.entries = settlement.entries
      self.updated_at = settlement.updated_at
      self.released_at = settlement.released_at
      self
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
currency_cloud-0.7.1 lib/currency_cloud/resources/settlement.rb
currency_cloud-0.7 lib/currency_cloud/resources/settlement.rb