qbwc_requests 0.2.0 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +4 -2
- data/lib/qbwc_requests/{qbwc/request/v07/account.rb → account/v07/add.rb} +3 -3
- data/lib/qbwc_requests/account/v07/query.rb +9 -0
- data/lib/qbwc_requests/base.rb +76 -0
- data/lib/qbwc_requests/bill/v07/add.rb +11 -0
- data/lib/qbwc_requests/bill/v07/query.rb +9 -0
- data/lib/qbwc_requests/customer/v07/add.rb +39 -0
- data/lib/qbwc_requests/customer/v07/query.rb +9 -0
- data/lib/qbwc_requests/{qbwc/request/v07/estimate.rb → estimate/v07/add.rb} +5 -4
- data/lib/qbwc_requests/estimate/v07/query.rb +9 -0
- data/lib/qbwc_requests/factory.rb +32 -0
- data/lib/qbwc_requests/general_detail_report/v07/query.rb +9 -0
- data/lib/qbwc_requests/{qbwc/request/v07/invoice.rb → invoice/v07/add.rb} +5 -5
- data/lib/qbwc_requests/invoice/v07/query.rb +9 -0
- data/lib/qbwc_requests/item/v07/query.rb +9 -0
- data/lib/qbwc_requests/{qbwc/request/v07/item_discount.rb → item_discount/v07/add.rb} +5 -4
- data/lib/qbwc_requests/item_discount/v07/query.rb +9 -0
- data/lib/qbwc_requests/{qbwc/request/v07/item_group.rb → item_group/v07/add.rb} +4 -3
- data/lib/qbwc_requests/item_group/v07/query.rb +9 -0
- data/lib/qbwc_requests/{qbwc/request/v07/item_non_inventory.rb → item_non_inventory/v07/add.rb} +5 -4
- data/lib/qbwc_requests/item_non_inventory/v07/query.rb +9 -0
- data/lib/qbwc_requests/{qbwc/request/v07/item_other_charge.rb → item_other_charge/v07/add.rb} +4 -3
- data/lib/qbwc_requests/item_other_charge/v07/query.rb +9 -0
- data/lib/qbwc_requests/{qbwc/request/v07/item_payment.rb → item_payment/v07/add.rb} +4 -3
- data/lib/qbwc_requests/item_payment/v07/query.rb +9 -0
- data/lib/qbwc_requests/{qbwc/request/v07/item_service.rb → item_service/v07/add.rb} +4 -3
- data/lib/qbwc_requests/item_service/v07/query.rb +9 -0
- data/lib/qbwc_requests/{qbwc/request/v07/item_subtotal.rb → item_subtotal/v07/add.rb} +5 -4
- data/lib/qbwc_requests/item_subtotal/v07/query.rb +9 -0
- data/lib/qbwc_requests/ordered_fields.rb +81 -0
- data/lib/qbwc_requests/purchase_order/v07/add.rb +33 -0
- data/lib/qbwc_requests/{qbwc/request/v07/purchase_order.rb → purchase_order/v07/mod.rb} +10 -14
- data/lib/qbwc_requests/purchase_order/v07/query.rb +9 -0
- data/lib/qbwc_requests/sub_models/address.rb +27 -0
- data/lib/qbwc_requests/vendor/v07/add.rb +44 -0
- data/lib/qbwc_requests/vendor/v07/mod.rb +44 -0
- data/lib/qbwc_requests/vendor/v07/query.rb +9 -0
- data/lib/qbwc_requests/vendor/v13/add.rb +44 -0
- data/lib/qbwc_requests/vendor/v13/mod.rb +44 -0
- data/lib/qbwc_requests/vendor/v13/query.rb +9 -0
- data/lib/qbwc_requests/version.rb +1 -1
- data/lib/qbwc_requests/{qbwc/xml_actions.rb → xml_actions.rb} +2 -9
- data/lib/qbwc_requests.rb +51 -5
- data/qbwc_requests.gemspec +4 -2
- data/quickbook/dtd/qbxmlops60.dtd +3043 -0
- data/quickbook/dtd/qbxmlops60_2.dtd +3019 -0
- data/scripts/dtd_to_classes.rb +3 -0
- data/spec/account_qbxml_spec.rb +42 -0
- data/spec/{qbwc/request/v07/bill_spec.rb → bill_qbxml_spec.rb} +10 -5
- data/spec/customer_qbxml_spec.rb +57 -0
- data/spec/{qbwc/request/v07/estimate_spec.rb → estimate_qbxml_spec.rb} +19 -8
- data/spec/general_detail_report_qbxml_spec.rb +9 -0
- data/spec/{qbwc/request/v07/invoice_spec.rb → invoice_qbxml_spec.rb} +11 -9
- data/spec/{qbwc/request/v07/item_discount_spec.rb → item_discount_qbxml_spec.rb} +10 -8
- data/spec/{qbwc/request/v07/item_group_spec.rb → item_group_qbxml_spec.rb} +9 -7
- data/spec/{qbwc/request/v07/item_non_inventory_spec.rb → item_non_inventory_qbxml_spec.rb} +9 -7
- data/spec/{qbwc/request/v07/item_other_charge_spec.rb → item_other_charge_qbxml_spec.rb} +10 -8
- data/spec/{qbwc/request/v07/item_payment_spec.rb → item_payment_qbxml_spec.rb} +10 -7
- data/spec/item_qbxml_spec.rb +9 -0
- data/spec/{qbwc/request/v07/item_service_spec.rb → item_service_qbxml_spec.rb} +9 -7
- data/spec/{qbwc/request/v07/item_subtotal_spec.rb → item_subtotal_qbxml_spec.rb} +12 -10
- data/spec/job_report_qbxml_spec.rb +7 -0
- data/spec/{qbwc/request/v07/purchase_orders_spec.rb → purchase_order_qbxml_spec.rb} +11 -10
- data/spec/spec_helper.rb +5 -0
- data/spec/support/expectations/field_validations.rb +2 -2
- data/spec/support/expectations/xml_equal.rb +4 -2
- data/spec/support/shared_examples_for_xml_requests.rb +18 -20
- data/spec/vendor_qbxml_spec.rb +111 -0
- metadata +113 -68
- data/lib/qbwc_requests/qbwc/ordered_fields.rb +0 -35
- data/lib/qbwc_requests/qbwc/qbwc.rb +0 -2
- data/lib/qbwc_requests/qbwc/request/base.rb +0 -77
- data/lib/qbwc_requests/qbwc/request/v07/bill.rb +0 -9
- data/lib/qbwc_requests/qbwc/request/v07/customer.rb +0 -29
- data/lib/qbwc_requests/qbwc/request/v07/general_detail_report.rb +0 -11
- data/lib/qbwc_requests/qbwc/request/v07/item.rb +0 -11
- data/lib/qbwc_requests/qbwc/request/v07/job_report.rb +0 -3
- data/lib/qbwc_requests/qbwc/request/v07/vendor.rb +0 -31
- data/lib/qbwc_requests/qbwc/request/v07/vendor_address.rb +0 -17
- data/spec/qbwc/request/base_spec.rb +0 -61
- data/spec/qbwc/request/v07/account_spec.rb +0 -32
- data/spec/qbwc/request/v07/customer_spec.rb +0 -32
- data/spec/qbwc/request/v07/general_detail_report_spec.rb +0 -7
- data/spec/qbwc/request/v07/item_spec.rb +0 -7
- data/spec/qbwc/request/v07/job_report_spec.rb +0 -7
- data/spec/qbwc/request/v07/vendor_spec.rb +0 -31
- data/spec/qbwc/request/xml_actions_spec.rb +0 -28
@@ -1,37 +1,33 @@
|
|
1
|
-
module
|
2
|
-
module
|
1
|
+
module QbwcRequests
|
2
|
+
module PurchaseOrder
|
3
3
|
module V07
|
4
|
-
class
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
field :template_ref
|
4
|
+
class Mod < QbwcRequests::Base
|
5
|
+
ref_to :vendor, 41
|
6
|
+
ref_to :class, 159
|
7
|
+
ref_to :ship_to_entity, 209
|
8
|
+
ref_to :template, 31
|
10
9
|
field :txn_date
|
11
10
|
field :ref_number
|
12
11
|
field :vendor_address
|
13
12
|
field :ship_address
|
14
|
-
|
13
|
+
ref_to :terms, 31
|
15
14
|
field :due_date
|
16
15
|
field :expected_date
|
17
|
-
|
16
|
+
ref_to :ship_method, 15
|
18
17
|
field :FOB
|
19
18
|
field :memo
|
20
19
|
field :vendor_msg
|
21
20
|
field :is_to_be_printed
|
22
21
|
field :is_to_be_emailed
|
23
22
|
field :is_tax_included
|
24
|
-
|
23
|
+
ref_to :sales_tax_code, 3
|
25
24
|
field :other1
|
26
25
|
field :other2
|
27
26
|
field :purchase_order_line_add
|
28
27
|
field :purchase_order_line_group_add
|
29
|
-
|
30
|
-
#MODIFICATION FIELDS
|
31
28
|
field :purchase_order_line_mod
|
32
29
|
field :txn_ID
|
33
30
|
field :edit_sequence
|
34
|
-
|
35
31
|
end
|
36
32
|
end
|
37
33
|
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module QbwcRequests
|
2
|
+
module SubModels
|
3
|
+
class Address < QbwcRequests::Base
|
4
|
+
field :addr1
|
5
|
+
field :addr2
|
6
|
+
field :addr3
|
7
|
+
field :addr4
|
8
|
+
field :addr5
|
9
|
+
field :city
|
10
|
+
field :state
|
11
|
+
field :postal_code
|
12
|
+
field :country
|
13
|
+
field :note
|
14
|
+
|
15
|
+
validates :addr1, length: { maximum: 41 }
|
16
|
+
validates :addr2, length: { maximum: 41 }
|
17
|
+
validates :addr3, length: { maximum: 41 }
|
18
|
+
validates :addr4, length: { maximum: 41 }
|
19
|
+
validates :addr5, length: { maximum: 41 }
|
20
|
+
validates :city, length: { maximum: 41 }
|
21
|
+
validates :state, length: { maximum: 21 }
|
22
|
+
validates :postal_code, length: { maximum: 13 }
|
23
|
+
validates :country, length: { maximum: 31 }
|
24
|
+
validates :note, length: { maximum: 41 }
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
module QbwcRequests
|
2
|
+
module Vendor
|
3
|
+
module V07
|
4
|
+
class Add < QbwcRequests::Base
|
5
|
+
|
6
|
+
field :name
|
7
|
+
field :is_active
|
8
|
+
field :company_name
|
9
|
+
field :salutation
|
10
|
+
field :first_name
|
11
|
+
field :middle_name
|
12
|
+
field :last_name
|
13
|
+
field :vendor_address
|
14
|
+
field :phone
|
15
|
+
field :alt_phone
|
16
|
+
field :fax
|
17
|
+
field :email
|
18
|
+
field :contact
|
19
|
+
field :alt_contact
|
20
|
+
field :name_on_check
|
21
|
+
field :account_number
|
22
|
+
field :notes
|
23
|
+
field :is_vendor_eligible_for_1099
|
24
|
+
field :open_balance
|
25
|
+
|
26
|
+
validates :name, presence: true, length: { maximum: 41 }
|
27
|
+
validates :company_name, length: { maximum: 41 }
|
28
|
+
validates :salutation, length: { maximum: 15 }
|
29
|
+
validates :first_name, length: { maximum: 25 }
|
30
|
+
validates :middle_name, length: { maximum: 5 }
|
31
|
+
validates :last_name, length: { maximum: 25 }
|
32
|
+
validates :phone, length: { maximum: 21 }
|
33
|
+
validates :alt_phone, length: { maximum: 21 }
|
34
|
+
validates :fax, length: { maximum: 21 }
|
35
|
+
validates :email, length: { maximum: 1023 }
|
36
|
+
validates :contact, length: { maximum: 41 }
|
37
|
+
validates :alt_contact, length: { maximum: 41 }
|
38
|
+
validates :name_on_check, length: { maximum: 41 }
|
39
|
+
validates :account_number, length: { maximum: 99 }
|
40
|
+
validates :notes, length: { maximum: 4095 }
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
module QbwcRequests
|
2
|
+
module Vendor
|
3
|
+
module V07
|
4
|
+
class Mod < QbwcRequests::Base
|
5
|
+
|
6
|
+
field :name
|
7
|
+
field :is_active
|
8
|
+
field :company_name
|
9
|
+
field :salutation
|
10
|
+
field :first_name
|
11
|
+
field :middle_name
|
12
|
+
field :last_name
|
13
|
+
field :vendor_address
|
14
|
+
field :phone
|
15
|
+
field :alt_phone
|
16
|
+
field :fax
|
17
|
+
field :email
|
18
|
+
field :contact
|
19
|
+
field :alt_contact
|
20
|
+
field :name_on_check
|
21
|
+
field :account_number
|
22
|
+
field :notes
|
23
|
+
field :is_vendor_eligible_for_1099
|
24
|
+
field :open_balance
|
25
|
+
|
26
|
+
validates :name, presence: true, length: { maximum: 41 }
|
27
|
+
validates :company_name, length: { maximum: 41 }
|
28
|
+
validates :salutation, length: { maximum: 15 }
|
29
|
+
validates :first_name, length: { maximum: 25 }
|
30
|
+
validates :middle_name, length: { maximum: 5 }
|
31
|
+
validates :last_name, length: { maximum: 25 }
|
32
|
+
validates :phone, length: { maximum: 21 }
|
33
|
+
validates :alt_phone, length: { maximum: 21 }
|
34
|
+
validates :fax, length: { maximum: 21 }
|
35
|
+
validates :email, length: { maximum: 1023 }
|
36
|
+
validates :contact, length: { maximum: 41 }
|
37
|
+
validates :alt_contact, length: { maximum: 41 }
|
38
|
+
validates :name_on_check, length: { maximum: 41 }
|
39
|
+
validates :account_number, length: { maximum: 99 }
|
40
|
+
validates :notes, length: { maximum: 4095 }
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
module QbwcRequests
|
2
|
+
module Vendor
|
3
|
+
module V13
|
4
|
+
class Add < QbwcRequests::Base
|
5
|
+
|
6
|
+
field :name
|
7
|
+
field :is_active
|
8
|
+
field :company_name
|
9
|
+
field :salutation
|
10
|
+
field :first_name
|
11
|
+
field :middle_name
|
12
|
+
field :last_name
|
13
|
+
field :vendor_address
|
14
|
+
field :phone
|
15
|
+
field :alt_phone
|
16
|
+
field :fax
|
17
|
+
field :email
|
18
|
+
field :contact
|
19
|
+
field :alt_contact
|
20
|
+
field :name_on_check
|
21
|
+
field :account_number
|
22
|
+
field :notes
|
23
|
+
field :is_vendor_eligible_for_1099
|
24
|
+
field :open_balance
|
25
|
+
|
26
|
+
validates :name, presence: true, length: { maximum: 41 }
|
27
|
+
validates :company_name, length: { maximum: 41 }
|
28
|
+
validates :salutation, length: { maximum: 15 }
|
29
|
+
validates :first_name, length: { maximum: 25 }
|
30
|
+
validates :middle_name, length: { maximum: 5 }
|
31
|
+
validates :last_name, length: { maximum: 25 }
|
32
|
+
validates :phone, length: { maximum: 21 }
|
33
|
+
validates :alt_phone, length: { maximum: 21 }
|
34
|
+
validates :fax, length: { maximum: 21 }
|
35
|
+
validates :email, length: { maximum: 1023 }
|
36
|
+
validates :contact, length: { maximum: 41 }
|
37
|
+
validates :alt_contact, length: { maximum: 41 }
|
38
|
+
validates :name_on_check, length: { maximum: 41 }
|
39
|
+
validates :account_number, length: { maximum: 99 }
|
40
|
+
validates :notes, length: { maximum: 4095 }
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
module QbwcRequests
|
2
|
+
module Vendor
|
3
|
+
module V13
|
4
|
+
class Mod < QbwcRequests::Base
|
5
|
+
|
6
|
+
field :name
|
7
|
+
field :is_active
|
8
|
+
field :company_name
|
9
|
+
field :salutation
|
10
|
+
field :first_name
|
11
|
+
field :middle_name
|
12
|
+
field :last_name
|
13
|
+
field :vendor_address
|
14
|
+
field :phone
|
15
|
+
field :alt_phone
|
16
|
+
field :fax
|
17
|
+
field :email
|
18
|
+
field :contact
|
19
|
+
field :alt_contact
|
20
|
+
field :name_on_check
|
21
|
+
field :account_number
|
22
|
+
field :notes
|
23
|
+
field :is_vendor_eligible_for_1099
|
24
|
+
field :open_balance
|
25
|
+
|
26
|
+
validates :name, length: { maximum: 41 }
|
27
|
+
validates :company_name, length: { maximum: 41 }
|
28
|
+
validates :salutation, length: { maximum: 15 }
|
29
|
+
validates :first_name, length: { maximum: 25 }
|
30
|
+
validates :middle_name, length: { maximum: 5 }
|
31
|
+
validates :last_name, length: { maximum: 25 }
|
32
|
+
validates :phone, length: { maximum: 21 }
|
33
|
+
validates :alt_phone, length: { maximum: 21 }
|
34
|
+
validates :fax, length: { maximum: 21 }
|
35
|
+
validates :email, length: { maximum: 1023 }
|
36
|
+
validates :contact, length: { maximum: 41 }
|
37
|
+
validates :alt_contact, length: { maximum: 41 }
|
38
|
+
validates :name_on_check, length: { maximum: 41 }
|
39
|
+
validates :account_number, length: { maximum: 99 }
|
40
|
+
validates :notes, length: { maximum: 4095 }
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
@@ -1,7 +1,6 @@
|
|
1
|
-
module
|
1
|
+
module QbwcRequests
|
2
2
|
module XmlActions
|
3
|
-
|
4
|
-
def self.query req, options, header
|
3
|
+
def self.query req, options, header
|
5
4
|
hash = {"qbxml"=>
|
6
5
|
{"xml_attributes"=> {},
|
7
6
|
"qbxml_msgs_rq"=>
|
@@ -11,7 +10,6 @@ module Qbwc
|
|
11
10
|
}
|
12
11
|
}
|
13
12
|
}
|
14
|
-
self.to_xml(hash)
|
15
13
|
end
|
16
14
|
|
17
15
|
def self.header_attributes attributes = {}
|
@@ -29,10 +27,5 @@ module Qbwc
|
|
29
27
|
}
|
30
28
|
}
|
31
29
|
end
|
32
|
-
|
33
|
-
def self.to_xml hash
|
34
|
-
"<?xml version='1.0' encoding='utf-8'?>#{Qbxml.new.to_qbxml(hash)}"
|
35
|
-
end
|
36
|
-
|
37
30
|
end
|
38
31
|
end
|
data/lib/qbwc_requests.rb
CHANGED
@@ -1,11 +1,57 @@
|
|
1
|
-
require "qbwc_requests/version"
|
2
1
|
require "active_model"
|
2
|
+
require "qbwc_requests/version"
|
3
|
+
require "qbwc_requests/ordered_fields"
|
4
|
+
require "qbwc_requests/xml_actions"
|
5
|
+
require "qbwc_requests/base"
|
6
|
+
require "qbwc_requests/factory"
|
3
7
|
require "qbxml"
|
4
8
|
|
5
|
-
|
6
|
-
|
7
|
-
|
9
|
+
qbxml_models = [
|
10
|
+
"account",
|
11
|
+
"customer",
|
12
|
+
"bill",
|
13
|
+
"estimate",
|
14
|
+
"general_detail_report",
|
15
|
+
"invoice",
|
16
|
+
"item_discount",
|
17
|
+
"item_group",
|
18
|
+
"item_non_inventory",
|
19
|
+
"item_other_charge",
|
20
|
+
"item_payment",
|
21
|
+
"item",
|
22
|
+
"item_service",
|
23
|
+
"item_subtotal",
|
24
|
+
"job_report",
|
25
|
+
"purchase_order",
|
26
|
+
"vendor"
|
27
|
+
]
|
28
|
+
|
29
|
+
def camelize name
|
30
|
+
name.split('_').collect(&:capitalize).join
|
31
|
+
end
|
32
|
+
|
33
|
+
dir_name = File.dirname(__FILE__)
|
34
|
+
|
35
|
+
for qbxml_model in qbxml_models do
|
36
|
+
Object.const_set(
|
37
|
+
camelize(qbxml_model+"_qbxml"),
|
38
|
+
Class.new { extend QbwcRequests::Factory }
|
39
|
+
)
|
40
|
+
Dir["#{dir_name}/qbwc_requests/#{qbxml_model}/**/*.rb"].each {|f| require f}
|
41
|
+
end
|
42
|
+
|
43
|
+
Dir["#{dir_name}/qbwc_requests/sub_models/*.rb"].each {|f| require f}
|
8
44
|
|
9
45
|
module QbwcRequests
|
10
|
-
|
46
|
+
|
47
|
+
@@QBXML_VERSION = "07"
|
48
|
+
|
49
|
+
def self.QBXML_VERSION
|
50
|
+
@@QBXML_VERSION
|
51
|
+
end
|
52
|
+
|
53
|
+
def self.QBXML_VERSION= version
|
54
|
+
@@QBXML_VERSION = version
|
55
|
+
end
|
56
|
+
|
11
57
|
end
|
data/qbwc_requests.gemspec
CHANGED
@@ -18,8 +18,10 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
19
|
spec.require_paths = ["lib"]
|
20
20
|
|
21
|
-
spec.add_runtime_dependency "qbxml", "~> 0.
|
22
|
-
spec.add_runtime_dependency "activemodel"
|
21
|
+
spec.add_runtime_dependency "qbxml", "~> 0.3.0"
|
22
|
+
spec.add_runtime_dependency "activemodel", "~> 4.2.4"
|
23
|
+
spec.add_development_dependency "colorize", "~> 0.7.7"
|
23
24
|
spec.add_development_dependency "bundler", "~> 1.3"
|
24
25
|
spec.add_development_dependency "rake", "~> 10.3"
|
26
|
+
spec.add_development_dependency "codeclimate-test-reporter", "~> 0.4.1"
|
25
27
|
end
|