Sha256: e721aaaa652d25533c54851b400083f05fb60c0fcb3a79d2a187e7d54bf46877

Contents?: true

Size: 1.08 KB

Versions: 6

Compression:

Stored size: 1.08 KB

Contents

module Octobat
  class CustomerBalanceTransaction < APIResource
    extend Octobat::APIOperations::List
    include Octobat::APIOperations::Create
    
    
    def url
      !parent_obj.nil? ? parentize_url : super
    end
    
    
    def save_url
      if self[:id] == nil && self.class.respond_to?(:create)
        self.relative_save_url
      else
        url
      end
    end
    
    
    def parentize_url
      if parent_obj.include?(:customer)
        "#{Customer.url}/#{CGI.escape(parent_obj[:customer])}/customer_balance_transactions/#{CGI.escape(id)}"
      else
        url
      end
    end
    
    
    
    def relative_save_url
      if self[:customer]
        "#{Customer.url}/#{CGI.escape(self[:customer])}/customer_balance_transactions"
      end
    end
    

    def self.url
      if @parent_resource.include?(:customer)
        "#{Customer.url}/#{CGI.escape(@parent_resource[:customer])}/customer_balance_transactions"
      end
    end

    def self.set_parent_resource(filters)
      @parent_resource = filters.select{|k, v| [:customer].include?(k)}
    end
    
    
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
octobat-2.0.27 lib/octobat/customer_balance_transaction.rb
octobat-2.0.26 lib/octobat/customer_balance_transaction.rb
octobat-2.0.25 lib/octobat/customer_balance_transaction.rb
octobat-2.0.24 lib/octobat/customer_balance_transaction.rb
octobat-2.0.23 lib/octobat/customer_balance_transaction.rb
octobat-2.0.22 lib/octobat/customer_balance_transaction.rb