class Octobat::Item

Public Class Methods

set_parent_resource(filters) click to toggle source
# File lib/octobat/item.rb, line 58
def self.set_parent_resource(filters)
  @parent_resource = filters.select{|k, v| [:transaction, :invoice, :credit_note].include?(k)}
end
url() click to toggle source
# File lib/octobat/item.rb, line 48
def self.url
  if @parent_resource.include?(:transaction)
    "#{Transaction.url}/#{CGI.escape(@parent_resource[:transaction])}/items"
  elsif @parent_resource.include?(:invoice)
    "#{Invoice.url}/#{CGI.escape(@parent_resource[:invoice])}/items"
  elsif @parent_resource.include?(:credit_note)
    "#{CreditNote.url}/#{CGI.escape(@parent_resource[:credit_note])}/items"
  end
end

Public Instance Methods

parentize_url() click to toggle source
# File lib/octobat/item.rb, line 23
def parentize_url
  if parent_obj.include?(:transaction)
    "#{Transaction.url}/#{CGI.escape(parent_obj[:transaction])}/items/#{CGI.escape(id)}"
  elsif parent_obj.include?(:invoice)
    "#{Invoice.url}/#{CGI.escape(parent_obj[:invoice])}/items/#{CGI.escape(id)}"
  elsif parent_obj.include?(:credit_note)
    "#{CreditNote.url}/#{CGI.escape(parent_obj[:credit_note])}/items/#{CGI.escape(id)}"
  else
    url
  end
end
relative_save_url() click to toggle source
# File lib/octobat/item.rb, line 37
def relative_save_url
  if self[:transaction]
    "#{Transaction.url}/#{CGI.escape(self[:transaction])}/items"
  elsif self[:invoice]
    "#{Invoice.url}/#{CGI.escape(self[:invoice])}/items"
  elsif self[:credit_note]
    "#{CreditNote.url}/#{CGI.escape(self[:credit_note])}/items"
  end
end
save_url() click to toggle source
# File lib/octobat/item.rb, line 14
def save_url
  if self[:id] == nil && self.class.respond_to?(:create)
    self.relative_save_url
  else
    url
  end
end
url() click to toggle source
Calls superclass method Octobat::APIResource::url
# File lib/octobat/item.rb, line 9
def url
  !parent_obj.nil? ? parentize_url : super
end