From 2b4cdf44ed7820b134d9a53af831cbf7cf9026ff Mon Sep 17 00:00:00 2001 From: Pat Allan Date: Fri, 22 Jan 2016 17:14:00 +1100 Subject: [PATCH 1/2] Allow references to both InvoiceItem and ItemInvoice. I find ItemInvoice/item_invoice makes more sense (I initially presumed InvoiceItem was referring to line items in an invoice). This keeps things backwards compatible, at least as a temporary measure. --- lib/myob-api.rb | 2 +- lib/myob/api/models/{invoice_item.rb => item_invoice.rb} | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) rename lib/myob/api/models/{invoice_item.rb => item_invoice.rb} (61%) diff --git a/lib/myob-api.rb b/lib/myob-api.rb index e2b85cb..54d461c 100644 --- a/lib/myob-api.rb +++ b/lib/myob-api.rb @@ -17,7 +17,7 @@ require 'myob/api/models/employee_payroll_advice' require 'myob/api/models/invoice' -require 'myob/api/models/invoice_item' +require 'myob/api/models/item_invoice' require 'myob/api/models/payroll_category' require 'myob/api/models/wage' diff --git a/lib/myob/api/models/invoice_item.rb b/lib/myob/api/models/item_invoice.rb similarity index 61% rename from lib/myob/api/models/invoice_item.rb rename to lib/myob/api/models/item_invoice.rb index 3b9081a..7c63454 100644 --- a/lib/myob/api/models/invoice_item.rb +++ b/lib/myob/api/models/item_invoice.rb @@ -1,11 +1,14 @@ module Myob module Api module Model - class InvoiceItem < Base + class ItemInvoice < Base def model_route 'Sale/Invoice/Item' end end + + class InvoiceItem < ItemInvoice + end end end -end \ No newline at end of file +end From aa949951ddcb358014461146ac352883a26f920e Mon Sep 17 00:00:00 2001 From: Pat Allan Date: Fri, 22 Jan 2016 17:15:09 +1100 Subject: [PATCH 2/2] Create helper methods for deep-hierarchy models. Include all descendents, not just the first level subclasses of Myob::Api::Model::Base. --- lib/myob/api/client.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/myob/api/client.rb b/lib/myob/api/client.rb index d6b447c..2cac329 100644 --- a/lib/myob/api/client.rb +++ b/lib/myob/api/client.rb @@ -9,7 +9,9 @@ class Client attr_reader :current_company_file, :client def initialize(options) - Myob::Api::Model::Base.subclasses.each {|c| model(c.name.split("::").last)} + Myob::Api::Model::Base.descendants.each do |klass| + model klass.name.split("::").last + end @redirect_uri = options[:redirect_uri] @consumer = options[:consumer]