intacctrb 0.5.8 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 328f00d0ecf540d300b82cd5af43bed2799e5569
4
- data.tar.gz: 7b771204fad2a1f723a4b76602ff535b0c0ebadd
3
+ metadata.gz: 16089eefc09b3fca5b2ba31bc760d088241f7e0c
4
+ data.tar.gz: ba01c55569d7941d235871fa8eba8ff5bd654908
5
5
  SHA512:
6
- metadata.gz: 8f4fb958e8ff0ae1a2520be02338a94f5a4cbf79c6c5b8f8bf0ca652ed1485145c62076ad36c235525b49ddbdce32bd605460e640e0a31b1756ecf9a5239a599
7
- data.tar.gz: ad4845178f7973d379215d69d2e073471bf9cd1f56f3bbd3e945ff01ffad3a092d7dc05870d3274f5a71cdb22007790c8406d06e8e764074c3f2cb05c206d106
6
+ metadata.gz: cc67acebb2067b80fb9e1bcf06242bfe1fc747dacb83f4ff46d44b10ff8a61be8dfd1ab2974c388ca8a521c09207fd0e1fb77f061549d978ab3e99d105193dd1
7
+ data.tar.gz: 80c3600d0e56bde8fc3dd9b842c0bee11332e190031f6d17622418ec5ca27d3920c2aa54cc4f997976ddb66c31c7030931a9b179186a75a29201ad2878d25733
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- intacctrb (0.5.8)
4
+ intacctrb (0.6.0)
5
5
  hooks
6
6
  nokogiri
7
7
 
@@ -0,0 +1,129 @@
1
+ module IntacctRB
2
+ class Contact < IntacctRB::Base
3
+ def create
4
+ send_xml('create') do |xml|
5
+ xml.function(controlid: "1") {
6
+ xml.send("create") {
7
+ contact_xml(xml)
8
+ }
9
+ }
10
+ end
11
+
12
+ successful?
13
+ end
14
+
15
+ def get(options = {})
16
+ # return false unless object.intacct_id.present?
17
+
18
+ options[:fields] = [
19
+ :contactid,
20
+ :contactname
21
+ ] if options[:fields].nil?
22
+
23
+ send_xml('get') do |xml|
24
+ xml.function(controlid: "f4") {
25
+ xml.read {
26
+ xml.object 'contact'
27
+ xml.keys object.try(:intacct_id) || options[:intacct_id]
28
+ xml.fields '*'
29
+ }
30
+ }
31
+ end
32
+
33
+ if successful?
34
+ @data = OpenStruct.new({
35
+ id: response.at("//contact/RECORDNO").content,
36
+ name: response.at("//contact/PERSONALINFO/CONTACTNAME").content
37
+ })
38
+ end
39
+
40
+ successful?
41
+ end
42
+
43
+ def get_list *fields
44
+ #return false unless object.intacct_id.present?
45
+
46
+ fields = [
47
+ :customerid,
48
+ :name,
49
+ :termname
50
+ ] if fields.empty?
51
+
52
+ send_xml('get_list') do |xml|
53
+ xml.function(controlid: "f4") {
54
+ xml.get_list(object: "contact", maxitems: "10", showprivate:"false") {
55
+ # xml.fields {
56
+ # fields.each do |field|
57
+ # xml.field field.to_s
58
+ # end
59
+ # }
60
+ }
61
+ }
62
+ end
63
+
64
+ # if successful?
65
+ # @data = OpenStruct.new({
66
+ # id: response.at("//customer//customerid").content,
67
+ # name: response.at("//customer//name").content,
68
+ # termname: response.at("//customer//termname").content
69
+ # })
70
+ # end
71
+ #
72
+ # successful?
73
+ puts response
74
+ end
75
+
76
+ def update updated_contact = false
77
+ @object = updated_contact if updated_contact
78
+ return false unless object.intacct_id.present?
79
+
80
+ send_xml('update') do |xml|
81
+ xml.function(controlid: "1") {
82
+ xml.update {
83
+ contact_xml(xml, true)
84
+ }
85
+ }
86
+ end
87
+
88
+ successful?
89
+ end
90
+
91
+ def delete
92
+ return false unless object.intacct_id.present?
93
+
94
+ @response = send_xml('delete') do |xml|
95
+ xml.function(controlid: "1") {
96
+ xml.delete_contact(contactid: intacct_id)
97
+ }
98
+ end
99
+
100
+ successful?
101
+ end
102
+
103
+ def contact_xml(xml, is_update = false)
104
+ xml.contact {
105
+ xml.recordno object.intacct_id if object.intacct_id
106
+ xml.contactname object.name unless (is_update || object.intacct_id.nil?)
107
+ xml.printas object.name
108
+ # COMPANYNAME Optional string Company name
109
+ # TAXABLE Optional boolean Taxable. Use false for No, true for Yes. (Default: true)
110
+ # TAXGROUP Optional string Contact tax group name
111
+ # PREFIX Optional string Prefix
112
+ # FIRSTNAME Optional string First name
113
+ # LASTNAME Optional string Last name
114
+ # INITIAL Optional string Middle name
115
+ # PHONE1 Optional string Primary phone number
116
+ # PHONE2 Optional string Secondary phone number
117
+ # CELLPHONE Optional string Cellular phone number
118
+ # PAGER Optional string Pager number
119
+ # FAX Optional string Fax number
120
+ # EMAIL1 Optional string Primary email address
121
+ # EMAIL2 Optional string Secondary email address
122
+ # URL1 Optional string Primary URL
123
+ # URL2 Optional string Secondary URL
124
+ # STATUS Optional string Status. Use active for Active or inactive for Inactive (Default: active)
125
+ # MAILADDRESS Optional object Mail address
126
+ }
127
+ end
128
+ end
129
+ end
@@ -13,7 +13,7 @@ module IntacctRB
13
13
  end
14
14
 
15
15
  def get(options = {})
16
- # return false unless object.intacct_system_id.present?
16
+ # return false unless object.intacct_id.present?
17
17
 
18
18
  options[:fields] = [
19
19
  :employeeid,
@@ -33,7 +33,8 @@ module IntacctRB
33
33
  if successful?
34
34
  @data = OpenStruct.new({
35
35
  id: response.at("//EMPLOYEE/RECORDNO").content,
36
- name: response.at("//EMPLOYEE/PERSONALINFO/CONTACTNAME").content
36
+ name: response.at("//EMPLOYEE/PERSONALINFO/CONTACTNAME").content,
37
+ contact_id: response.at("//EMPLOYEE/CONTACTKEY").content
37
38
  })
38
39
  end
39
40
 
@@ -41,7 +42,7 @@ module IntacctRB
41
42
  end
42
43
 
43
44
  def get_list *fields
44
- #return false unless object.intacct_system_id.present?
45
+ #return false unless object.intacct_id.present?
45
46
 
46
47
  fields = [
47
48
  :customerid,
@@ -75,14 +76,12 @@ module IntacctRB
75
76
 
76
77
  def update updated_employee = false
77
78
  @object = updated_employee if updated_employee
78
- return false unless object.intacct_system_id.present?
79
+ return false unless object.intacct_id.present?
79
80
 
80
81
  send_xml('update') do |xml|
81
82
  xml.function(controlid: "1") {
82
- xml.update_employee(employeeid: intacct_system_id) {
83
- xml.name object.name
84
- xml.comments
85
- xml.status "active"
83
+ xml.update {
84
+ employee_xml(xml)
86
85
  }
87
86
  }
88
87
  end
@@ -91,11 +90,11 @@ module IntacctRB
91
90
  end
92
91
 
93
92
  def delete
94
- return false unless object.intacct_system_id.present?
93
+ return false unless object.intacct_id.present?
95
94
 
96
95
  @response = send_xml('delete') do |xml|
97
96
  xml.function(controlid: "1") {
98
- xml.delete_employee(employeeid: intacct_system_id)
97
+ xml.delete_employee(employeeid: intacct_id)
99
98
  }
100
99
  end
101
100
 
@@ -104,7 +103,7 @@ module IntacctRB
104
103
 
105
104
  def employee_xml xml
106
105
  xml.employee {
107
- xml.employeeid object.intacct_id if object.intacct_id
106
+ xml.recordno if object.intacct_id
108
107
  xml.title object.title if object.title
109
108
  xml.personalinfo {
110
109
  xml.contactname object.name
@@ -1,3 +1,3 @@
1
1
  module IntacctRB
2
- VERSION = "0.5.8"
2
+ VERSION = "0.6.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: intacctrb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.8
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matt Hale
@@ -174,6 +174,7 @@ files:
174
174
  - lib/intacctrb/attachment.rb
175
175
  - lib/intacctrb/base.rb
176
176
  - lib/intacctrb/bill.rb
177
+ - lib/intacctrb/contact.rb
177
178
  - lib/intacctrb/customer.rb
178
179
  - lib/intacctrb/employee.rb
179
180
  - lib/intacctrb/exceptions/ap_payment.rb