intacctrb 0.3 → 0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/intacctrb.rb +4 -0
- data/lib/intacctrb/attachment.rb +57 -0
- data/lib/intacctrb/bill.rb +11 -2
- data/lib/intacctrb/exceptions/base.rb +9 -0
- data/lib/intacctrb/exceptions/error.rb +6 -0
- data/lib/intacctrb/journal_entry.rb +2 -2
- data/lib/intacctrb/vendor.rb +1 -0
- data/lib/intacctrb/version.rb +1 -1
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 30b63bbaba31ddbb33e76307484aacba28d123d0
|
4
|
+
data.tar.gz: b9a906512745354721255a1a6c445b0bebc7d394
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3c905eee5af2b696c5e4d7bcc73d443e41d0e76e84fe2ebdbc62e308724b33155ac5d220bf90dc643b5b36ee4c0275e5689851e626470d3e950428b5761127ea
|
7
|
+
data.tar.gz: 229206df620b0e43979ae6473b5044b774515291fcc462a5d71148323240635f5c67d13a9a30437a822d851c13124e30d5b193cf34639f1a4bea12756b8ee169
|
data/Gemfile.lock
CHANGED
data/lib/intacctrb.rb
CHANGED
@@ -11,6 +11,10 @@ require "intacctrb/invoice"
|
|
11
11
|
require "intacctrb/bill"
|
12
12
|
require "intacctrb/ap_payment"
|
13
13
|
require "intacctrb/account"
|
14
|
+
require "intacctrb/attachment"
|
15
|
+
|
16
|
+
require "intacctrb/exceptions/base"
|
17
|
+
require "intacctrb/exceptions/error"
|
14
18
|
|
15
19
|
class Object
|
16
20
|
def blank?
|
@@ -0,0 +1,57 @@
|
|
1
|
+
module IntacctRB
|
2
|
+
class Attachment < IntacctRB::Base
|
3
|
+
attr_accessor :customer_data
|
4
|
+
define_hook :custom_bill_fields, :bill_item_fields
|
5
|
+
|
6
|
+
def create
|
7
|
+
return false if object.intacct_system_id.present?
|
8
|
+
|
9
|
+
send_xml('create') do |xml|
|
10
|
+
xml.function(controlid: "f1") {
|
11
|
+
xml.create_supdoc {
|
12
|
+
attachment_xml xml
|
13
|
+
}
|
14
|
+
}
|
15
|
+
end
|
16
|
+
|
17
|
+
successful?
|
18
|
+
end
|
19
|
+
|
20
|
+
def get_date_at(xpath, object)
|
21
|
+
year = object.at("#{xpath}/year").content
|
22
|
+
month = object.at("#{xpath}/month").content
|
23
|
+
day = object.at("#{xpath}/day").content
|
24
|
+
if [year,month,day].any?(&:empty?)
|
25
|
+
nil
|
26
|
+
else
|
27
|
+
Date.new(year.to_i,month.to_i,day.to_i)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
def attachment_xml xml
|
32
|
+
xml.supdocid object.supdoc_id
|
33
|
+
xml.supdocfoldername object.folder_name
|
34
|
+
xml.attachments {
|
35
|
+
object.attachments.each do |attachment|
|
36
|
+
xml.attachment {
|
37
|
+
xml.attachmentname attachment.name
|
38
|
+
xml.attachmenttype attachment.type
|
39
|
+
xml.attachmentdata attachment.data
|
40
|
+
}
|
41
|
+
end
|
42
|
+
}
|
43
|
+
end
|
44
|
+
|
45
|
+
def set_intacct_system_id
|
46
|
+
object.intacct_system_id = intacct_object_id
|
47
|
+
end
|
48
|
+
|
49
|
+
def delete_intacct_system_id
|
50
|
+
object.intacct_system_id = nil
|
51
|
+
end
|
52
|
+
|
53
|
+
def delete_intacct_key
|
54
|
+
object.intacct_key = nil
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
data/lib/intacctrb/bill.rb
CHANGED
@@ -16,7 +16,11 @@ module IntacctRB
|
|
16
16
|
}
|
17
17
|
end
|
18
18
|
|
19
|
-
successful?
|
19
|
+
if !successful?
|
20
|
+
raise IntacctRB::Exceptions::Error.new(response.at('//error//description2'))
|
21
|
+
end
|
22
|
+
|
23
|
+
object.intacct_id
|
20
24
|
end
|
21
25
|
|
22
26
|
def update
|
@@ -32,7 +36,11 @@ module IntacctRB
|
|
32
36
|
}
|
33
37
|
end
|
34
38
|
|
35
|
-
successful?
|
39
|
+
if !successful?
|
40
|
+
raise(response.at('//error//description2'))
|
41
|
+
end
|
42
|
+
|
43
|
+
object.intacct_id
|
36
44
|
end
|
37
45
|
|
38
46
|
def delete
|
@@ -123,6 +131,7 @@ module IntacctRB
|
|
123
131
|
xml.whendue object.due_date
|
124
132
|
xml.action object.action
|
125
133
|
xml.recordid object.record_id
|
134
|
+
xml.supdocid object.supdoc_id
|
126
135
|
|
127
136
|
xml.apbillitems {
|
128
137
|
object.line_items.each do |line_item|
|
@@ -157,8 +157,8 @@ module IntacctRB
|
|
157
157
|
def je_xml xml
|
158
158
|
xml.recordno object.intacct_id if object.intacct_id
|
159
159
|
xml.journal object.journal_id
|
160
|
-
xml.batch_date object.date.strftime
|
161
|
-
xml.reverse_date object.reverse_date.strftime
|
160
|
+
xml.batch_date (object.date.try(:strftime, '%Y-%m-%d')) if object.date
|
161
|
+
xml.reverse_date (object.reverse_date.try(:strftime, '%Y-%m-%d')) if object.reverse_date
|
162
162
|
xml.batch_title object.description
|
163
163
|
xml.referenceno object.reference_number
|
164
164
|
je_item_fields(xml)
|
data/lib/intacctrb/vendor.rb
CHANGED
@@ -95,6 +95,7 @@ module IntacctRB
|
|
95
95
|
xml.status "active"
|
96
96
|
xml.vendoraccountno object.vendor_account_number
|
97
97
|
xml.paymethodkey object.payment_method
|
98
|
+
xml.onetime object.one_time || false
|
98
99
|
xml.displaycontact {
|
99
100
|
xml.contactname object.company_name
|
100
101
|
xml.printas object.company_name
|
data/lib/intacctrb/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: intacctrb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '0.
|
4
|
+
version: '0.4'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matt Hale
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-02-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: nokogiri
|
@@ -170,9 +170,12 @@ files:
|
|
170
170
|
- lib/intacctrb.rb
|
171
171
|
- lib/intacctrb/account.rb
|
172
172
|
- lib/intacctrb/ap_payment.rb
|
173
|
+
- lib/intacctrb/attachment.rb
|
173
174
|
- lib/intacctrb/base.rb
|
174
175
|
- lib/intacctrb/bill.rb
|
175
176
|
- lib/intacctrb/customer.rb
|
177
|
+
- lib/intacctrb/exceptions/base.rb
|
178
|
+
- lib/intacctrb/exceptions/error.rb
|
176
179
|
- lib/intacctrb/invoice.rb
|
177
180
|
- lib/intacctrb/journal_entry.rb
|
178
181
|
- lib/intacctrb/vendor.rb
|