rubyzoho 0.0.2 → 0.0.3

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.
data/.rspec CHANGED
@@ -1,3 +1,4 @@
1
1
  --color
2
2
  --format progress
3
3
  --format documentation
4
+
@@ -1,7 +1,7 @@
1
1
  GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
- activesupport (3.2.11)
4
+ activesupport (3.2.12)
5
5
  i18n (~> 0.6)
6
6
  multi_json (~> 1.0)
7
7
  archive-tar-minitar (0.5.2)
@@ -26,16 +26,16 @@ GEM
26
26
  git (>= 1.2.5)
27
27
  rake
28
28
  rdoc
29
- json (1.7.6)
29
+ json (1.7.7)
30
30
  metaclass (0.0.1)
31
- mime-types (1.19)
31
+ mime-types (1.21)
32
32
  mocha (0.10.5)
33
33
  metaclass (~> 0.0.1)
34
- multi_json (1.5.0)
35
- multi_xml (0.5.2)
34
+ multi_json (1.5.1)
35
+ multi_xml (0.5.3)
36
36
  nokogiri (1.5.6)
37
37
  rake (10.0.3)
38
- rdoc (3.12)
38
+ rdoc (3.12.1)
39
39
  json (~> 1.4)
40
40
  relish (0.6)
41
41
  archive-tar-minitar (>= 0.5.2)
@@ -7,23 +7,112 @@ Travis CI - YRI 1.9.x
7
7
  Abstracting Zoho's API into a set of Ruby classes, with reflection of Zoho's fields using a more familiar
8
8
  ActiveRecord lifecycle but without ActiveRecord.
9
9
 
10
- == Installation
10
+ == Install
11
11
  gem install rubyzoho
12
12
 
13
- == Configuration
13
+ == Configure
14
14
  Put the following in an initializer (e.g. zoho.rb):
15
15
 
16
16
  RubyZoho.configure do |config|
17
- config.api_key = << API Key from Zoho>>
17
+ config.api_key = '<< API Key from Zoho>>'
18
18
  end
19
19
 
20
20
  Please be aware that Zoho limits API calls. So running tests repeatedly will quickly exhaust
21
21
  your daily allowance.
22
22
 
23
+
24
+ == Use
25
+ RubyZoho attempts to follow the ActiveRecord lifecycle, i.e. new, save and delete
26
+ at this point.
27
+
28
+ To get a list of supported attributes for a Zoho CRM contact:
29
+
30
+ require 'ruby_zoho'
31
+
32
+ c = RubyZoho::Crm::Contact.new
33
+ c.attr_writers # => Give a list of updatable attributes
34
+ c.fields # => Hash of all fields
35
+
36
+ Attributes are reflected from the current API instance of Zoho, dynamically on
37
+ initialization of the API, when the RubyZoho.configure block is called. This
38
+ includes custom fields.
39
+
40
+ Another example:
41
+
42
+ l = RubyZoho::Crm::Lead.new
43
+ l.attr_writers # => Give a list of updatable attributes
44
+ l.fields # => Hash of all fields
45
+
46
+ To retrieve an existing record:
47
+
48
+ l = RubyZoho::Crm::Lead.find_by_email('email@domain.com')
49
+
50
+ Returns one or more records matching the query. The find_by_<attribute> follows
51
+ ActiveRecord style reflections, so if the attribute is present in the API, it can
52
+ be queried. There is currently a single attribute limitation imposed by the Zoho
53
+ API. Note, what is returned is an Array class. Use subscripts at this point to access
54
+ or iterate through the returned set of records.
55
+
56
+ Equality is the only match currently supported.
57
+
58
+ To get a list of all accounts:
59
+
60
+ a = RubyZoho::Crm::Account.all
61
+ a.each do |account|
62
+ pp account.account_name
63
+ end
64
+
65
+ Or for all quotes:
66
+
67
+ q = RubyZoho::Crm::Quote.all
68
+ q.each do |quote|
69
+ pp quote.subject
70
+ pp quote.quote_name
71
+ end
72
+
73
+ To create a new record:
74
+
75
+ c = RubyZoho::Crm::Contact.new(
76
+ :first_name => 'First Name',
77
+ :last_name => 'Last Name',
78
+ :email => 'email@domain.com',
79
+ etc.
80
+ )
81
+ c.save
82
+ r = RubyZoho::Crm::Contact.find_by_email('email@domain.com')
83
+ r[0].contactid # => Has the newly created contact's ID
84
+
85
+
86
+ To add a contact to an existing account:
87
+
88
+ a = RubyZoho::Crm::Account.find_by_account_name('Very Big Account')
89
+ c = RubyZoho::Crm::Contact.new(
90
+ :first_name => 'First Name',
91
+ :last_name => 'Last Name',
92
+ :email => 'email@domain.com',
93
+ :account_name => a[0].account_name,
94
+ :accountid => a[0].accountid # accountid instead of account_id because of Zoho's convention
95
+ etc.
96
+ )
97
+ c.save
98
+
99
+
100
+ Objects currently supported are:
101
+ RubyZoho::Crm::Account
102
+ RubyZoho::Crm::Contact
103
+ RubyZoho::Crm::Lead
104
+ RubyZoho::Crm::Potential
105
+ RubyZoho::Crm::Quote
106
+
107
+
108
+ ==Bugs and Enhancments
109
+ Please open an issue on GitHub. Or better yet, send in a pull request.
110
+
23
111
  ---
24
112
 
25
113
  == Contributing to rubyzoho
26
-
114
+
115
+ * Pull requests with unit tests or specs and a version branch are welcomed.
27
116
  * Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet.
28
117
  * Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it.
29
118
  * Fork the project.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.2
1
+ 0.0.3
Binary file
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "rubyzoho"
8
- s.version = "0.0.2"
8
+ s.version = "0.0.3"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["amalc"]
@@ -30,6 +30,7 @@ Gem::Specification.new do |s|
30
30
  "lib/api_utils.rb",
31
31
  "lib/ruby_zoho.rb",
32
32
  "lib/zoho_api.rb",
33
+ "rubyzoho-0.0.2.gem",
33
34
  "rubyzoho.gemspec",
34
35
  "spec/api_utils_spec.rb",
35
36
  "spec/fixtures/sample_contact.xml",
@@ -44,7 +45,7 @@ Gem::Specification.new do |s|
44
45
  s.homepage = "http://github.com/amalc/rubyzoho"
45
46
  s.licenses = ["MIT"]
46
47
  s.require_paths = ["lib"]
47
- s.rubygems_version = "1.8.23"
48
+ s.rubygems_version = "1.8.24"
48
49
  s.summary = "A set of Ruby classes supporting the ActiveRecord lifecycle for the Zoho API."
49
50
 
50
51
  if s.respond_to? :specification_version then
@@ -37,6 +37,9 @@ describe RubyZoho::Crm do
37
37
  r.each { |m| m.email.should eq('bob@smith.com') }
38
38
  r = RubyZoho::Crm::Contact.find_by_last_name('Smithereens')
39
39
  r.should_not eq(nil)
40
+ r.first.should_not eq(nil)
41
+ r.last.should_not eq(nil)
42
+ r.map { |c| c.last_name }.count.should eq(3)
40
43
  r.first.last_name.should eq('Smithereens')
41
44
  r.each { |m| RubyZoho::Crm::Contact.delete(m.contactid) }
42
45
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubyzoho
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -208,6 +208,7 @@ files:
208
208
  - lib/api_utils.rb
209
209
  - lib/ruby_zoho.rb
210
210
  - lib/zoho_api.rb
211
+ - rubyzoho-0.0.2.gem
211
212
  - rubyzoho.gemspec
212
213
  - spec/api_utils_spec.rb
213
214
  - spec/fixtures/sample_contact.xml
@@ -239,7 +240,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
239
240
  version: '0'
240
241
  requirements: []
241
242
  rubyforge_project:
242
- rubygems_version: 1.8.23
243
+ rubygems_version: 1.8.24
243
244
  signing_key:
244
245
  specification_version: 3
245
246
  summary: A set of Ruby classes supporting the ActiveRecord lifecycle for the Zoho