intacctrb 0.1
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 +7 -0
- data/.DS_Store +0 -0
- data/.gitignore +1 -0
- data/.rspec +3 -0
- data/Gemfile +4 -0
- data/Gemfile.lock +113 -0
- data/LICENSE.txt +23 -0
- data/README.md +37 -0
- data/Rakefile +7 -0
- data/intacctrb.gemspec +31 -0
- data/lib/.DS_Store +0 -0
- data/lib/intacctrb.rb +35 -0
- data/lib/intacctrb/ap_payment.rb +168 -0
- data/lib/intacctrb/base.rb +119 -0
- data/lib/intacctrb/bill.rb +159 -0
- data/lib/intacctrb/customer.rb +116 -0
- data/lib/intacctrb/invoice.rb +133 -0
- data/lib/intacctrb/journal_entry.rb +166 -0
- data/lib/intacctrb/vendor.rb +130 -0
- data/lib/intacctrb/version.rb +3 -0
- data/spec/features/intacct_bill.feature +17 -0
- data/spec/features/intacct_customer.feature +18 -0
- data/spec/features/intacct_invoice.feature +17 -0
- data/spec/features/intacct_vendor.feature +17 -0
- data/spec/helpers.rb +115 -0
- data/spec/spec_helper.rb +17 -0
- data/spec/steps/intacct_bill_steps.rb +178 -0
- data/spec/steps/intacct_customer_steps.rb +27 -0
- data/spec/steps/intacct_invoice_steps.rb +170 -0
- data/spec/steps/intacct_vendor_steps.rb +23 -0
- data/spec/turnip_helper.rb +7 -0
- metadata +224 -0
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'bundler/setup'
|
3
|
+
# our gem
|
4
|
+
require 'intacctrb'
|
5
|
+
require 'dotenv'
|
6
|
+
require "faker"
|
7
|
+
require "pry"
|
8
|
+
require 'awesome_print'
|
9
|
+
require 'helpers'
|
10
|
+
|
11
|
+
Dotenv.load
|
12
|
+
|
13
|
+
Dir["./spec/steps/**/*steps.rb"].each { |f| require f }
|
14
|
+
|
15
|
+
RSpec.configure do |config|
|
16
|
+
config.include Helpers
|
17
|
+
end
|
@@ -0,0 +1,178 @@
|
|
1
|
+
module IntacctBillSteps
|
2
|
+
class << self
|
3
|
+
attr_accessor :intacct_key
|
4
|
+
end
|
5
|
+
|
6
|
+
step 'I have setup the correct settings' do
|
7
|
+
default_setup
|
8
|
+
custom_fields_for_auto
|
9
|
+
end
|
10
|
+
|
11
|
+
step('I have an payment, customer and vendor') { payment; customer; vendor }
|
12
|
+
|
13
|
+
step 'I create an Intacct Bill object' do
|
14
|
+
@intacct_bill = Intacct::Bill.new({
|
15
|
+
payment: payment,
|
16
|
+
customer: customer,
|
17
|
+
vendor: vendor
|
18
|
+
})
|
19
|
+
end
|
20
|
+
|
21
|
+
step 'I use the #create method' do
|
22
|
+
# We need to remove the fake intacct_system_id so it creates a real one
|
23
|
+
@intacct_bill.object.payment.intacct_system_id = nil
|
24
|
+
@intacct_bill.object.customer.intacct_system_id = nil
|
25
|
+
@intacct_bill.object.vendor.intacct_system_id = nil
|
26
|
+
@response = @intacct_bill.create
|
27
|
+
IntacctBillSteps.intacct_key = @intacct_bill.object.payment.intacct_key
|
28
|
+
end
|
29
|
+
|
30
|
+
step 'I use the #delete method' do
|
31
|
+
@intacct_bill.object.payment.intacct_key = IntacctBillSteps.intacct_key
|
32
|
+
@response = @intacct_bill.delete
|
33
|
+
if @response
|
34
|
+
Intacct::Customer.new(@intacct_bill.object.customer).delete
|
35
|
+
Intacct::Vendor.new(@intacct_bill.object.vendor).delete
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
def custom_fields_for_auto
|
40
|
+
Intacct::Bill.class_eval do
|
41
|
+
custom_bill_fields do |xml|
|
42
|
+
xml.billno intacct_object_id #intact bill id
|
43
|
+
xml.ponumber object.payment.claim.claimnumber
|
44
|
+
xml.description "some description"
|
45
|
+
xml.externalid "AUTO-#{object.payment.id}"
|
46
|
+
xml.basecurr "USD"
|
47
|
+
xml.currency "USD"
|
48
|
+
xml.exchratetype "Intacct Daily Rate"
|
49
|
+
xml.customfields {
|
50
|
+
xml.customfield {
|
51
|
+
xml.customfieldname "CLAIM_NUMBER_ACD"
|
52
|
+
xml.customfieldvalue object.payment.claim.dlnumber
|
53
|
+
}
|
54
|
+
xml.customfield {
|
55
|
+
xml.customfieldname "CLAIM_NUMBER_CLIENT"
|
56
|
+
xml.customfieldvalue object.payment.claim.claimnumber
|
57
|
+
}
|
58
|
+
xml.customfield {
|
59
|
+
xml.customfieldname "VEHICLE_YEAR"
|
60
|
+
xml.customfieldvalue object.payment.claim.vehicle.year
|
61
|
+
}
|
62
|
+
xml.customfield {
|
63
|
+
xml.customfieldname "VEHICLE_MAKE"
|
64
|
+
xml.customfieldvalue object.payment.claim.vehicle.make
|
65
|
+
}
|
66
|
+
xml.customfield {
|
67
|
+
xml.customfieldname "VEHICLE_MODEL"
|
68
|
+
xml.customfieldvalue object.payment.claim.vehicle.model
|
69
|
+
}
|
70
|
+
xml.customfield {
|
71
|
+
xml.customfieldname "VEHICLE_TYPE"
|
72
|
+
xml.customfieldvalue object.payment.claim.appraisal_type
|
73
|
+
}
|
74
|
+
xml.customfield {
|
75
|
+
xml.customfieldname "NAME_OWNER"
|
76
|
+
xml.customfieldvalue object.payment.claim.owner.full_name
|
77
|
+
}
|
78
|
+
xml.customfield {
|
79
|
+
xml.customfieldname "NAME_INSURED"
|
80
|
+
xml.customfieldvalue object.payment.claim.owner.insuredorclaimant=="INSURED" ? object.payment.claim.owner.full_name : object.payment.claim.insured_full_name
|
81
|
+
}
|
82
|
+
xml.customfield {
|
83
|
+
xml.customfieldname "NAME_CLAIMANT"
|
84
|
+
xml.customfieldvalue object.payment.claim.owner.insuredorclaimant=="CLAIMANT" ? object.payment.claim.owner.full_name : ""
|
85
|
+
}
|
86
|
+
xml.customfield {
|
87
|
+
xml.customfieldname "LOCATION_CITY"
|
88
|
+
xml.customfieldvalue object.payment.claim.vehicle.address.city
|
89
|
+
}
|
90
|
+
xml.customfield {
|
91
|
+
xml.customfieldname "LOCATION_STATE"
|
92
|
+
xml.customfieldvalue object.payment.claim.vehicle.address.state
|
93
|
+
}
|
94
|
+
xml.customfield {
|
95
|
+
xml.customfieldname "LOCATION_ZIP"
|
96
|
+
xml.customfieldvalue object.payment.claim.vehicle.address.zipcode
|
97
|
+
}
|
98
|
+
xml.customfield {
|
99
|
+
xml.customfieldname "MILEAGE_RT_BILLABLE"
|
100
|
+
xml.customfieldvalue 100
|
101
|
+
}
|
102
|
+
xml.customfield {
|
103
|
+
xml.customfieldname "MILEAGE_RT_TOTAL"
|
104
|
+
xml.customfieldvalue 100
|
105
|
+
}
|
106
|
+
xml.customfield {
|
107
|
+
xml.customfieldname "MILEAGE_RATE"
|
108
|
+
xml.customfieldvalue object.payment.mileage_rate
|
109
|
+
}
|
110
|
+
xml.customfield {
|
111
|
+
xml.customfieldname "NAME_ADJUSTER"
|
112
|
+
xml.customfieldvalue "#{object.payment.claim.adjuster.last_name}, #{object.payment.claim.adjuster.first_name}"
|
113
|
+
}
|
114
|
+
xml.customfield {
|
115
|
+
xml.customfieldname "CLAIM_CREATED_DATE"
|
116
|
+
xml.customfieldvalue object.payment.claim.dtcreated.strftime("%m/%d/%Y")
|
117
|
+
}
|
118
|
+
xml.customfield {
|
119
|
+
xml.customfieldname "NAME_PROCESSOR"
|
120
|
+
xml.customfieldvalue object.payment.creator.full_name
|
121
|
+
}
|
122
|
+
if object.payment.claim.dtloss.present?
|
123
|
+
xml.customfield {
|
124
|
+
xml.customfieldname "LOSS_DATE"
|
125
|
+
xml.customfieldvalue object.payment.claim.dtloss.strftime("%m/%d/%Y")
|
126
|
+
}
|
127
|
+
end
|
128
|
+
xml.customfield {
|
129
|
+
xml.customfieldname "LOSS_CATEGORY"
|
130
|
+
xml.customfieldvalue object.payment.claim.coveragetype
|
131
|
+
}
|
132
|
+
if object.payment.claim.estimate_id.present?
|
133
|
+
xml.customfield {
|
134
|
+
xml.customfieldname "LOSS_ESTIMATE_AMOUNT"
|
135
|
+
xml.customfieldvalue object.payment.claim.estimate.estimate_amt
|
136
|
+
}
|
137
|
+
xml.customfield {
|
138
|
+
xml.customfieldname "LOSS_FINAL_AMOUNT"
|
139
|
+
xml.customfieldvalue object.payment.claim.estimate.estimate_final_amt
|
140
|
+
}
|
141
|
+
end
|
142
|
+
xml.customfield {
|
143
|
+
xml.customfieldname "ASSIGNMENT_TYPE"
|
144
|
+
xml.customfieldvalue object.payment.type
|
145
|
+
}
|
146
|
+
}
|
147
|
+
end
|
148
|
+
bill_item_fields do |xml|
|
149
|
+
xml.billitems {
|
150
|
+
#set amount
|
151
|
+
xml.lineitem {
|
152
|
+
xml.glaccountno 4040
|
153
|
+
xml.amount 100
|
154
|
+
xml.memo object.payment.note
|
155
|
+
xml.locationid "ACDCorp"
|
156
|
+
xml.customerid object.customer.intacct_system_id
|
157
|
+
xml.vendorid object.vendor.intacct_system_id
|
158
|
+
xml.employeeid
|
159
|
+
xml.classid "A100" #hardcoded = will always be A100
|
160
|
+
}
|
161
|
+
#set mileage amount if exists
|
162
|
+
if object.payment.mileage_amt!=0
|
163
|
+
xml.lineitem {
|
164
|
+
xml.glaccountno 4040
|
165
|
+
xml.amount 100
|
166
|
+
xml.memo object.payment.note
|
167
|
+
xml.locationid "ACDCorp"
|
168
|
+
xml.customerid object.customer.intacct_system_id
|
169
|
+
xml.vendorid object.vendor.intacct_system_id
|
170
|
+
xml.employeeid
|
171
|
+
xml.classid "A100" #hardcoded = will always be A100
|
172
|
+
}
|
173
|
+
end
|
174
|
+
}
|
175
|
+
end
|
176
|
+
end
|
177
|
+
end
|
178
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module IntacctCustomerSteps
|
2
|
+
step('I have a customer') { customer }
|
3
|
+
|
4
|
+
step 'I create an Intacct Customer object' do
|
5
|
+
@intacct_customer = Intacct::Customer.new customer
|
6
|
+
end
|
7
|
+
|
8
|
+
step 'I use the #create method' do
|
9
|
+
@response = @intacct_customer.create
|
10
|
+
end
|
11
|
+
|
12
|
+
step 'I use the #get method' do
|
13
|
+
@response = @intacct_customer.get
|
14
|
+
end
|
15
|
+
|
16
|
+
step 'I use the #update method' do
|
17
|
+
@response = @intacct_customer.update
|
18
|
+
end
|
19
|
+
|
20
|
+
step 'I use the #delete method' do
|
21
|
+
@response = @intacct_customer.delete
|
22
|
+
end
|
23
|
+
|
24
|
+
step 'I should recieve "id, name and termname"' do
|
25
|
+
expect(@response.keys).to include :id, :name, :termname
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,170 @@
|
|
1
|
+
module IntacctInvoiceSteps
|
2
|
+
class << self
|
3
|
+
attr_accessor :intacct_key
|
4
|
+
end
|
5
|
+
|
6
|
+
step 'I have setup the correct settings' do
|
7
|
+
default_setup
|
8
|
+
custom_fields_for_auto
|
9
|
+
end
|
10
|
+
|
11
|
+
step('I have an invoice, customer and vendor') { invoice; customer; vendor }
|
12
|
+
|
13
|
+
step 'I create an Intacct Invoice object' do
|
14
|
+
@intacct_invoice = Intacct::Invoice.new({
|
15
|
+
invoice: invoice,
|
16
|
+
customer: customer,
|
17
|
+
vendor: vendor
|
18
|
+
})
|
19
|
+
end
|
20
|
+
|
21
|
+
step 'I use the #create method' do
|
22
|
+
# We need to remove the fake intacct_system_id so it creates a real one
|
23
|
+
@intacct_invoice.object.invoice.intacct_system_id = nil
|
24
|
+
@intacct_invoice.object.customer.intacct_system_id = nil
|
25
|
+
@intacct_invoice.object.vendor.intacct_system_id = nil
|
26
|
+
@response = @intacct_invoice.create
|
27
|
+
IntacctInvoiceSteps.intacct_key = @intacct_invoice.object.invoice.intacct_key
|
28
|
+
end
|
29
|
+
|
30
|
+
step 'I use the #delete method' do
|
31
|
+
@intacct_invoice.object.invoice.intacct_key = IntacctInvoiceSteps.intacct_key
|
32
|
+
@response = @intacct_invoice.delete
|
33
|
+
if @response
|
34
|
+
Intacct::Customer.new(@intacct_invoice.object.customer).delete
|
35
|
+
Intacct::Vendor.new(@intacct_invoice.object.vendor).delete
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
def custom_fields_for_auto
|
40
|
+
Intacct::Invoice.class_eval do
|
41
|
+
custom_invoice_fields do |xml|
|
42
|
+
xml.customfields {
|
43
|
+
xml.customfield {
|
44
|
+
xml.customfieldname "CLAIM_NUMBER_ACD"
|
45
|
+
xml.customfieldvalue object.invoice.claim.dlnumber
|
46
|
+
}
|
47
|
+
xml.customfield {
|
48
|
+
xml.customfieldname "CLAIM_NUMBER_CLIENT"
|
49
|
+
xml.customfieldvalue object.invoice.claim.claimnumber
|
50
|
+
}
|
51
|
+
xml.customfield {
|
52
|
+
xml.customfieldname "VEHICLE_YEAR"
|
53
|
+
xml.customfieldvalue object.invoice.claim.vehicle.year
|
54
|
+
}
|
55
|
+
xml.customfield {
|
56
|
+
xml.customfieldname "VEHICLE_MAKE"
|
57
|
+
xml.customfieldvalue object.invoice.claim.vehicle.make
|
58
|
+
}
|
59
|
+
xml.customfield {
|
60
|
+
xml.customfieldname "VEHICLE_MODEL"
|
61
|
+
xml.customfieldvalue object.invoice.claim.vehicle.model
|
62
|
+
}
|
63
|
+
xml.customfield {
|
64
|
+
xml.customfieldname "VEHICLE_TYPE"
|
65
|
+
xml.customfieldvalue object.invoice.claim.appraisal_type
|
66
|
+
}
|
67
|
+
xml.customfield {
|
68
|
+
xml.customfieldname "NAME_OWNER"
|
69
|
+
xml.customfieldvalue object.invoice.claim.owner.full_name
|
70
|
+
}
|
71
|
+
xml.customfield {
|
72
|
+
xml.customfieldname "NAME_INSURED"
|
73
|
+
xml.customfieldvalue object.invoice.claim.owner.insuredorclaimant=="INSURED" ? object.invoice.claim.owner.full_name : object.invoice.claim.insured_full_name
|
74
|
+
}
|
75
|
+
xml.customfield {
|
76
|
+
xml.customfieldname "NAME_CLAIMANT"
|
77
|
+
xml.customfieldvalue object.invoice.claim.owner.insuredorclaimant=="CLAIMANT" ? object.invoice.claim.owner.full_name : ""
|
78
|
+
}
|
79
|
+
xml.customfield {
|
80
|
+
xml.customfieldname "LOCATION_CITY"
|
81
|
+
xml.customfieldvalue object.invoice.claim.vehicle.address.city
|
82
|
+
}
|
83
|
+
xml.customfield {
|
84
|
+
xml.customfieldname "LOCATION_STATE"
|
85
|
+
xml.customfieldvalue object.invoice.claim.vehicle.address.state
|
86
|
+
}
|
87
|
+
xml.customfield {
|
88
|
+
xml.customfieldname "LOCATION_ZIP"
|
89
|
+
xml.customfieldvalue object.invoice.claim.vehicle.address.zipcode
|
90
|
+
}
|
91
|
+
xml.customfield {
|
92
|
+
xml.customfieldname "MILEAGE_RT_BILLABLE"
|
93
|
+
xml.customfieldvalue 30
|
94
|
+
}
|
95
|
+
xml.customfield {
|
96
|
+
xml.customfieldname "MILEAGE_RT_TOTAL"
|
97
|
+
xml.customfieldvalue object.invoice.claim.appraiser_driving_distance.to_i*2
|
98
|
+
}
|
99
|
+
xml.customfield {
|
100
|
+
xml.customfieldname "MILEAGE_RATE"
|
101
|
+
xml.customfieldvalue object.invoice.mileage_rate
|
102
|
+
}
|
103
|
+
xml.customfield {
|
104
|
+
xml.customfieldname "NAME_ADJUSTER"
|
105
|
+
xml.customfieldvalue "#{object.invoice.claim.adjuster.last_name}, #{object.invoice.claim.adjuster.first_name}"
|
106
|
+
}
|
107
|
+
xml.customfield {
|
108
|
+
xml.customfieldname "CLAIM_CREATED_DATE"
|
109
|
+
xml.customfieldvalue object.invoice.claim.dtcreated.strftime("%m/%d/%Y")
|
110
|
+
}
|
111
|
+
xml.customfield {
|
112
|
+
xml.customfieldname "NAME_PROCESSOR"
|
113
|
+
xml.customfieldvalue object.invoice.creator.full_name
|
114
|
+
}
|
115
|
+
if object.invoice.claim.dtloss.present?
|
116
|
+
xml.customfield {
|
117
|
+
xml.customfieldname "LOSS_DATE"
|
118
|
+
xml.customfieldvalue object.invoice.claim.dtloss.strftime("%m/%d/%Y")
|
119
|
+
}
|
120
|
+
end
|
121
|
+
xml.customfield {
|
122
|
+
xml.customfieldname "LOSS_CATEGORY"
|
123
|
+
xml.customfieldvalue object.invoice.claim.coveragetype
|
124
|
+
}
|
125
|
+
if object.invoice.claim.estimate_id.present?
|
126
|
+
xml.customfield {
|
127
|
+
xml.customfieldname "LOSS_ESTIMATE_AMOUNT"
|
128
|
+
xml.customfieldvalue object.invoice.claim.estimate.estimate_amt
|
129
|
+
}
|
130
|
+
xml.customfield {
|
131
|
+
xml.customfieldname "LOSS_FINAL_AMOUNT"
|
132
|
+
xml.customfieldvalue object.invoice.claim.estimate.estimate_final_amt
|
133
|
+
}
|
134
|
+
end
|
135
|
+
xml.customfield {
|
136
|
+
xml.customfieldname "ASSIGNMENT_TYPE"
|
137
|
+
xml.customfieldvalue object.invoice.type
|
138
|
+
}
|
139
|
+
}
|
140
|
+
xml.invoiceitems {
|
141
|
+
#set amount
|
142
|
+
standard_amount = object.invoice.base_fee+object.invoice.additional_fee
|
143
|
+
xml.lineitem {
|
144
|
+
xml.glaccountno 4180
|
145
|
+
xml.amount standard_amount
|
146
|
+
xml.memo object.invoice.note
|
147
|
+
xml.locationid "ACDCorp"
|
148
|
+
xml.customerid object.customer.intacct_system_id
|
149
|
+
# xml.vendorid "#{payment.payee.intacct_system_id if payment}"
|
150
|
+
xml.employeeid
|
151
|
+
xml.classid "A100" #hardcoded = will always be A100
|
152
|
+
}
|
153
|
+
#set mileage amount if exists
|
154
|
+
if object.invoice.mileage_fee!=0
|
155
|
+
xml.lineitem {
|
156
|
+
xml.glaccountno 4180
|
157
|
+
xml.amount object.invoice.mileage_fee
|
158
|
+
xml.memo object.invoice.note
|
159
|
+
xml.locationid "ACDCorp"
|
160
|
+
xml.customerid object.customer.intacct_system_id
|
161
|
+
# xml.vendorid "#{payment.payee.intacct_system_id if payment}"
|
162
|
+
xml.employeeid
|
163
|
+
xml.classid "A100" #hardcoded = will always be A100
|
164
|
+
}
|
165
|
+
end
|
166
|
+
}
|
167
|
+
end
|
168
|
+
end
|
169
|
+
end
|
170
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module IntacctVendorSteps
|
2
|
+
step('I have a vendor') { vendor }
|
3
|
+
|
4
|
+
step 'I create an Intacct Vendor object' do
|
5
|
+
@intacct_vendor = Intacct::Vendor.new vendor
|
6
|
+
end
|
7
|
+
|
8
|
+
step 'I use the #create method' do
|
9
|
+
@response = @intacct_vendor.create
|
10
|
+
end
|
11
|
+
|
12
|
+
step 'I use the #update method' do
|
13
|
+
@response = @intacct_vendor.update
|
14
|
+
end
|
15
|
+
|
16
|
+
step 'I use the #delete method' do
|
17
|
+
@response = @intacct_vendor.delete
|
18
|
+
end
|
19
|
+
|
20
|
+
step 'I should recieve "id, name and termname"' do
|
21
|
+
expect(@response.keys).to include :id, :name, :termname
|
22
|
+
end
|
23
|
+
end
|
metadata
ADDED
@@ -0,0 +1,224 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: intacctrb
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: '0.1'
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Matt Hale
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2016-11-13 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: nokogiri
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: hooks
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: bundler
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '1.3'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '1.3'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rake
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rspec
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: turnip
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: awesome_print
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: pry
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: dotenv-rails
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - ">="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - ">="
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: faker
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - ">="
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: 1.2.0
|
146
|
+
type: :development
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - ">="
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: 1.2.0
|
153
|
+
description: Ruby lib to communicate with the Intacct API system. Forked from https://github.com/cj/intacct.
|
154
|
+
email:
|
155
|
+
- matt.hale.0@gmail.com
|
156
|
+
executables: []
|
157
|
+
extensions: []
|
158
|
+
extra_rdoc_files: []
|
159
|
+
files:
|
160
|
+
- ".DS_Store"
|
161
|
+
- ".gitignore"
|
162
|
+
- ".rspec"
|
163
|
+
- Gemfile
|
164
|
+
- Gemfile.lock
|
165
|
+
- LICENSE.txt
|
166
|
+
- README.md
|
167
|
+
- Rakefile
|
168
|
+
- intacctrb.gemspec
|
169
|
+
- lib/.DS_Store
|
170
|
+
- lib/intacctrb.rb
|
171
|
+
- lib/intacctrb/ap_payment.rb
|
172
|
+
- lib/intacctrb/base.rb
|
173
|
+
- lib/intacctrb/bill.rb
|
174
|
+
- lib/intacctrb/customer.rb
|
175
|
+
- lib/intacctrb/invoice.rb
|
176
|
+
- lib/intacctrb/journal_entry.rb
|
177
|
+
- lib/intacctrb/vendor.rb
|
178
|
+
- lib/intacctrb/version.rb
|
179
|
+
- spec/features/intacct_bill.feature
|
180
|
+
- spec/features/intacct_customer.feature
|
181
|
+
- spec/features/intacct_invoice.feature
|
182
|
+
- spec/features/intacct_vendor.feature
|
183
|
+
- spec/helpers.rb
|
184
|
+
- spec/spec_helper.rb
|
185
|
+
- spec/steps/intacct_bill_steps.rb
|
186
|
+
- spec/steps/intacct_customer_steps.rb
|
187
|
+
- spec/steps/intacct_invoice_steps.rb
|
188
|
+
- spec/steps/intacct_vendor_steps.rb
|
189
|
+
- spec/turnip_helper.rb
|
190
|
+
homepage: https://github.com/apexdp/intacctrb
|
191
|
+
licenses: []
|
192
|
+
metadata: {}
|
193
|
+
post_install_message:
|
194
|
+
rdoc_options: []
|
195
|
+
require_paths:
|
196
|
+
- lib
|
197
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
198
|
+
requirements:
|
199
|
+
- - ">="
|
200
|
+
- !ruby/object:Gem::Version
|
201
|
+
version: '0'
|
202
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
203
|
+
requirements:
|
204
|
+
- - ">="
|
205
|
+
- !ruby/object:Gem::Version
|
206
|
+
version: '0'
|
207
|
+
requirements: []
|
208
|
+
rubyforge_project:
|
209
|
+
rubygems_version: 2.5.1
|
210
|
+
signing_key:
|
211
|
+
specification_version: 4
|
212
|
+
summary: Ruby Intacct API Client
|
213
|
+
test_files:
|
214
|
+
- spec/features/intacct_bill.feature
|
215
|
+
- spec/features/intacct_customer.feature
|
216
|
+
- spec/features/intacct_invoice.feature
|
217
|
+
- spec/features/intacct_vendor.feature
|
218
|
+
- spec/helpers.rb
|
219
|
+
- spec/spec_helper.rb
|
220
|
+
- spec/steps/intacct_bill_steps.rb
|
221
|
+
- spec/steps/intacct_customer_steps.rb
|
222
|
+
- spec/steps/intacct_invoice_steps.rb
|
223
|
+
- spec/steps/intacct_vendor_steps.rb
|
224
|
+
- spec/turnip_helper.rb
|