capsulecrm-b 0.0.6

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.
Files changed (45) hide show
  1. data/.gitignore +4 -0
  2. data/Gemfile +10 -0
  3. data/README.rdoc +33 -0
  4. data/Rakefile +9 -0
  5. data/capsulecrm.gemspec +23 -0
  6. data/examples.rb +82 -0
  7. data/lib/capsulecrm/address.rb +23 -0
  8. data/lib/capsulecrm/base.rb +176 -0
  9. data/lib/capsulecrm/child.rb +24 -0
  10. data/lib/capsulecrm/child_collection.rb +14 -0
  11. data/lib/capsulecrm/collection.rb +14 -0
  12. data/lib/capsulecrm/contact.rb +27 -0
  13. data/lib/capsulecrm/custom_field.rb +41 -0
  14. data/lib/capsulecrm/email.rb +64 -0
  15. data/lib/capsulecrm/history.rb +32 -0
  16. data/lib/capsulecrm/history_item.rb +20 -0
  17. data/lib/capsulecrm/opportunity.rb +60 -0
  18. data/lib/capsulecrm/organisation.rb +41 -0
  19. data/lib/capsulecrm/party.rb +114 -0
  20. data/lib/capsulecrm/person.rb +126 -0
  21. data/lib/capsulecrm/phone.rb +15 -0
  22. data/lib/capsulecrm/record_not_found.rb +1 -0
  23. data/lib/capsulecrm/recorn_not_recognised.rb +1 -0
  24. data/lib/capsulecrm/tag.rb +12 -0
  25. data/lib/capsulecrm/version.rb +3 -0
  26. data/lib/capsulecrm/website.rb +19 -0
  27. data/lib/capsulecrm.rb +46 -0
  28. data/test/create_person_test.rb +36 -0
  29. data/test/fixtures/responses/create_person.yml +59 -0
  30. data/test/fixtures/responses/party_history.yml +45 -0
  31. data/test/fixtures/responses/party_tags.yml +26 -0
  32. data/test/fixtures/responses/person_find_all.yml +28 -0
  33. data/test/fixtures/responses/person_find_all_with_limit.yml +26 -0
  34. data/test/fixtures/responses/person_find_all_with_offset.yml +28 -0
  35. data/test/fixtures/responses/person_find_by_id.yml +102 -0
  36. data/test/fixtures/responses/update_person.yml +85 -0
  37. data/test/fixtures/responses/update_person_without_changes.yml +28 -0
  38. data/test/party_dot_find_test.rb +40 -0
  39. data/test/party_dot_history_test.rb +29 -0
  40. data/test/party_dot_tags_test.rb +30 -0
  41. data/test/person_dot_find_all_test.rb +48 -0
  42. data/test/person_dot_find_by_id_test.rb +61 -0
  43. data/test/test_helper.rb +52 -0
  44. data/test/update_person_test.rb +46 -0
  45. metadata +158 -0
@@ -0,0 +1,102 @@
1
+ ---
2
+ - !ruby/struct:VCR::HTTPInteraction
3
+ request: !ruby/struct:VCR::Request
4
+ method: :get
5
+ uri: https://[API-TOKEN]:x@[ACCOUNT-NAME].capsulecrm.com:443/api/party/10185256
6
+ body:
7
+ headers:
8
+ user-agent:
9
+ - CapsuleCRM ruby gem
10
+ response: !ruby/struct:VCR::Response
11
+ status: !ruby/struct:VCR::ResponseStatus
12
+ code: 200
13
+ message: OK
14
+ headers:
15
+ content-type:
16
+ - "*/*"
17
+ server:
18
+ - Apache
19
+ date:
20
+ - Tue, 12 Apr 2011 12:34:21 GMT
21
+ content-length:
22
+ - "333"
23
+ set-cookie:
24
+ - "[SESSION-COOKIE]"
25
+ body: <?xml version="1.0" encoding="UTF-8" standalone="yes"?><organisation><id>10185256</id><contacts><email><id>18583945</id><emailAddress>gov@example.com</emailAddress></email></contacts><pictureURL>https://d365sd3k9yw37.cloudfront.net/a/543325/theme/default/images/org_avatar_70.png</pictureURL><name>UK Government</name></organisation>
26
+ http_version: "1.1"
27
+ - !ruby/struct:VCR::HTTPInteraction
28
+ request: !ruby/struct:VCR::Request
29
+ method: :get
30
+ uri: https://[API-TOKEN]:x@[ACCOUNT-NAME].capsulecrm.com:443/api/party/10185257
31
+ body:
32
+ headers:
33
+ user-agent:
34
+ - CapsuleCRM ruby gem
35
+ response: !ruby/struct:VCR::Response
36
+ status: !ruby/struct:VCR::ResponseStatus
37
+ code: 200
38
+ message: OK
39
+ headers:
40
+ content-type:
41
+ - "*/*"
42
+ server:
43
+ - Apache
44
+ date:
45
+ - Tue, 12 Apr 2011 12:34:22 GMT
46
+ content-length:
47
+ - "897"
48
+ set-cookie:
49
+ - "[SESSION-COOKIE]"
50
+ body: <?xml version="1.0" encoding="UTF-8" standalone="yes"?><person><id>10185257</id><contacts><address><id>18565068</id><type>Office</type><street>10 Downing Street</street><city>London</city><zip>SW1A 2AA</zip><country>United Kingdom</country></address><email><id>18565066</id><type>Work</type><emailAddress>pm@example.com</emailAddress></email><phone><id>18566503</id><phoneNumber>12345 67890</phoneNumber></phone><website><id>18565067</id><webAddress>http://www.number10.gov.uk/</webAddress><webService>URL</webService><url>http://www.number10.gov.uk/</url></website></contacts><pictureURL>https://d365sd3k9yw37.cloudfront.net/a/543325/theme/default/images/person_avatar_70.png</pictureURL><title>Mr</title><firstName>David</firstName><lastName>Cameron</lastName><jobTitle>Prime Minister</jobTitle><organisationId>10185256</organisationId><organisationName>UK Government</organisationName></person>
51
+ http_version: "1.1"
52
+ - !ruby/struct:VCR::HTTPInteraction
53
+ request: !ruby/struct:VCR::Request
54
+ method: :get
55
+ uri: https://[API-TOKEN]:x@[ACCOUNT-NAME].capsulecrm.com:443/api/party/10185256
56
+ body:
57
+ headers:
58
+ user-agent:
59
+ - CapsuleCRM ruby gem
60
+ response: !ruby/struct:VCR::Response
61
+ status: !ruby/struct:VCR::ResponseStatus
62
+ code: 200
63
+ message: OK
64
+ headers:
65
+ content-type:
66
+ - "*/*"
67
+ server:
68
+ - Apache
69
+ date:
70
+ - Tue, 12 Apr 2011 12:34:24 GMT
71
+ content-length:
72
+ - "333"
73
+ set-cookie:
74
+ - "[SESSION-COOKIE]"
75
+ body: <?xml version="1.0" encoding="UTF-8" standalone="yes"?><organisation><id>10185256</id><contacts><email><id>18583945</id><emailAddress>gov@example.com</emailAddress></email></contacts><pictureURL>https://d365sd3k9yw37.cloudfront.net/a/543325/theme/default/images/org_avatar_70.png</pictureURL><name>UK Government</name></organisation>
76
+ http_version: "1.1"
77
+
78
+ - !ruby/struct:VCR::HTTPInteraction
79
+ request: !ruby/struct:VCR::Request
80
+ method: :get
81
+ uri: https://[API-TOKEN]:x@[ACCOUNT-NAME].capsulecrm.com:443/api/party/11111111
82
+ body:
83
+ headers:
84
+ user-agent:
85
+ - CapsuleCRM ruby gem
86
+ response: !ruby/struct:VCR::Response
87
+ status: !ruby/struct:VCR::ResponseStatus
88
+ code: 200
89
+ message: OK
90
+ headers:
91
+ content-type:
92
+ - "*/*"
93
+ server:
94
+ - Apache
95
+ date:
96
+ - Tue, 12 Apr 2011 12:34:24 GMT
97
+ content-length:
98
+ - "333"
99
+ set-cookie:
100
+ - "[SESSION-COOKIE]"
101
+ body: <?xml version="1.0" encoding="UTF-8" standalone="yes"?><organisation><id>10185256</id><pictureURL>https://d365sd3k9yw37.cloudfront.net/a/543325/theme/default/images/org_avatar_70.png</pictureURL><name>UK Government</name></organisation>
102
+ http_version: "1.1"
@@ -0,0 +1,85 @@
1
+ ---
2
+ - !ruby/struct:VCR::HTTPInteraction
3
+ request: !ruby/struct:VCR::Request
4
+ method: :get
5
+ uri: https://[API-TOKEN]:x@[ACCOUNT-NAME].capsulecrm.com:443/api/party/10185261
6
+ body:
7
+ headers:
8
+ user-agent:
9
+ - CapsuleCRM ruby gem
10
+ response: !ruby/struct:VCR::Response
11
+ status: !ruby/struct:VCR::ResponseStatus
12
+ code: 200
13
+ message: OK
14
+ headers:
15
+ content-type:
16
+ - "*/*"
17
+ server:
18
+ - Apache
19
+ date:
20
+ - Tue, 12 Apr 2011 12:29:03 GMT
21
+ content-length:
22
+ - "709"
23
+ set-cookie:
24
+ - "[SESSION-COOKIE]"
25
+ body: |-
26
+ <?xml version="1.0" encoding="UTF-8" standalone="yes"?><person><id>10185261</id><contacts><address><id>18565115</id><type>Office</type><street>Deputy Prime Minister's Office&#xD;
27
+ 70 Whitehall</street><city>London</city><zip>SW1A 2AS</zip><country>United Kingdom</country></address><email><id>18565116</id><type>Work</type><emailAddress>dpm@example.com</emailAddress></email></contacts><pictureURL>https://d365sd3k9yw37.cloudfront.net/a/543325/theme/default/images/person_avatar_70.png</pictureURL><title>Mr</title><firstName>kciN</firstName><lastName>Clegg</lastName><jobTitle>Deputy Prime Minister</jobTitle><organisationId>10185256</organisationId><organisationName>UK Government</organisationName></person>
28
+ http_version: "1.1"
29
+ - !ruby/struct:VCR::HTTPInteraction
30
+ request: !ruby/struct:VCR::Request
31
+ method: :put
32
+ uri: https://[API-TOKEN]:x@[ACCOUNT-NAME].capsulecrm.com:443/api/person/10185261
33
+ body: |
34
+ <?xml version="1.0" encoding="UTF-8"?>
35
+ <person>
36
+ <firstName>Nick</firstName>
37
+ </person>
38
+
39
+ headers:
40
+ content-type:
41
+ - text/xml
42
+ response: !ruby/struct:VCR::Response
43
+ status: !ruby/struct:VCR::ResponseStatus
44
+ code: 200
45
+ message: OK
46
+ headers:
47
+ content-type:
48
+ - text/plain; charset=UTF-8
49
+ server:
50
+ - Apache
51
+ date:
52
+ - Tue, 12 Apr 2011 12:29:05 GMT
53
+ content-length:
54
+ - "0"
55
+ set-cookie:
56
+ - "[SESSION-COOKIE]"
57
+ body:
58
+ http_version: "1.1"
59
+ - !ruby/struct:VCR::HTTPInteraction
60
+ request: !ruby/struct:VCR::Request
61
+ method: :get
62
+ uri: https://[API-TOKEN]:x@[ACCOUNT-NAME].capsulecrm.com:443/api/party/10185261
63
+ body:
64
+ headers:
65
+ user-agent:
66
+ - CapsuleCRM ruby gem
67
+ response: !ruby/struct:VCR::Response
68
+ status: !ruby/struct:VCR::ResponseStatus
69
+ code: 200
70
+ message: OK
71
+ headers:
72
+ content-type:
73
+ - "*/*"
74
+ server:
75
+ - Apache
76
+ date:
77
+ - Tue, 12 Apr 2011 12:29:06 GMT
78
+ content-length:
79
+ - "709"
80
+ set-cookie:
81
+ - "[SESSION-COOKIE]"
82
+ body: |-
83
+ <?xml version="1.0" encoding="UTF-8" standalone="yes"?><person><id>10185261</id><contacts><address><id>18565115</id><type>Office</type><street>Deputy Prime Minister's Office&#xD;
84
+ 70 Whitehall</street><city>London</city><zip>SW1A 2AS</zip><country>United Kingdom</country></address><email><id>18565116</id><type>Work</type><emailAddress>dpm@example.com</emailAddress></email></contacts><pictureURL>https://d365sd3k9yw37.cloudfront.net/a/543325/theme/default/images/person_avatar_70.png</pictureURL><title>Mr</title><firstName>Nick</firstName><lastName>Clegg</lastName><jobTitle>Deputy Prime Minister</jobTitle><organisationId>10185256</organisationId><organisationName>UK Government</organisationName></person>
85
+ http_version: "1.1"
@@ -0,0 +1,28 @@
1
+ ---
2
+ - !ruby/struct:VCR::HTTPInteraction
3
+ request: !ruby/struct:VCR::Request
4
+ method: :get
5
+ uri: https://[API-TOKEN]:x@[ACCOUNT-NAME].capsulecrm.com:443/api/party/10185261
6
+ body:
7
+ headers:
8
+ user-agent:
9
+ - CapsuleCRM ruby gem
10
+ response: !ruby/struct:VCR::Response
11
+ status: !ruby/struct:VCR::ResponseStatus
12
+ code: 200
13
+ message: OK
14
+ headers:
15
+ content-type:
16
+ - "*/*"
17
+ server:
18
+ - Apache
19
+ date:
20
+ - Tue, 12 Apr 2011 12:29:07 GMT
21
+ content-length:
22
+ - "709"
23
+ set-cookie:
24
+ - "[SESSION-COOKIE]"
25
+ body: |-
26
+ <?xml version="1.0" encoding="UTF-8" standalone="yes"?><person><id>10185261</id><contacts><address><id>18565115</id><type>Office</type><street>Deputy Prime Minister's Office&#xD;
27
+ 70 Whitehall</street><city>London</city><zip>SW1A 2AS</zip><country>United Kingdom</country></address><email><id>18565116</id><type>Work</type><emailAddress>dpm@example.com</emailAddress></email></contacts><pictureURL>https://d365sd3k9yw37.cloudfront.net/a/543325/theme/default/images/person_avatar_70.png</pictureURL><title>Mr</title><firstName>Nick</firstName><lastName>Clegg</lastName><jobTitle>Deputy Prime Minister</jobTitle><organisationId>10185256</organisationId><organisationName>UK Government</organisationName></person>
28
+ http_version: "1.1"
@@ -0,0 +1,40 @@
1
+ require 'test_helper'
2
+ class PartyDotFindTest < Test::Unit::TestCase
3
+
4
+ def setup
5
+ end
6
+
7
+ # nodoc
8
+ def test_find_organisation
9
+ VCR.use_cassette('person.find_by_id') do
10
+ @organisation = CapsuleCRM::Party.find organisations(:gov)
11
+ end
12
+ assert @organisation.is?(:organisation)
13
+ end
14
+
15
+ # nodoc
16
+ def test_find_person
17
+ VCR.use_cassette('person.find_by_id') do
18
+ @person = CapsuleCRM::Party.find people(:pm)
19
+ end
20
+ assert @person.is?(:person)
21
+ assert_equal @person.first_name, "David"
22
+ end
23
+
24
+ def test_party_without_contacts
25
+ VCR.use_cassette('person.find_by_id') do
26
+ @org = CapsuleCRM::Party.find organisations(:emptyish)
27
+ end
28
+
29
+ fields = %w(emails phone_numbers websites addresses)
30
+ fields.each do |field|
31
+ assert @org.send(field).blank?
32
+ end
33
+ end
34
+
35
+ # nodoc
36
+ def teardown
37
+ WebMock.reset!
38
+ end
39
+
40
+ end
@@ -0,0 +1,29 @@
1
+ require 'test_helper'
2
+ class PartyDotHistoryTest < Test::Unit::TestCase
3
+
4
+ def setup
5
+ VCR.use_cassette('person.find_by_id') do
6
+ @person = CapsuleCRM::Person.find people(:pm)
7
+ end
8
+ end
9
+
10
+ def test_load_history
11
+ VCR.use_cassette('party.history') do
12
+ assert_equal 2, @person.history.size
13
+ assert_equal "First subject", @person.history[0].subject
14
+ end
15
+ end
16
+
17
+ def test_add_history
18
+ skip "Should write a cassette to handle adding a note"
19
+ VCR.use_cassette('party.history') do
20
+ @person.add_history "new history"
21
+ assert_equal 2, @person.history.size
22
+ end
23
+ end
24
+
25
+ def teardown
26
+ WebMock.reset!
27
+ end
28
+
29
+ end
@@ -0,0 +1,30 @@
1
+ require 'test_helper'
2
+ class PartyDotTagsTest < Test::Unit::TestCase
3
+
4
+ def setup
5
+ VCR.use_cassette('person.find_by_id') do
6
+ @person = CapsuleCRM::Person.find people(:pm)
7
+ end
8
+ end
9
+
10
+ def test_tag_names
11
+ VCR.use_cassette('party.tags') do
12
+ @taglist = @person.tag_names
13
+ end
14
+ assert_equal @taglist.size, 11
15
+ end
16
+
17
+
18
+ def test_tags_and_tagnames
19
+ VCR.use_cassette('party.tags') do
20
+ @tagnames = @person.tag_names
21
+ @taglist = @person.tags
22
+ end
23
+ assert_equal @tagnames.size, @taglist.size
24
+ end
25
+
26
+ def teardown
27
+ WebMock.reset!
28
+ end
29
+
30
+ end
@@ -0,0 +1,48 @@
1
+ require 'test_helper'
2
+
3
+ class PersonDotFindAllTest < Test::Unit::TestCase
4
+
5
+ # nodoc
6
+ def setup
7
+ VCR.use_cassette 'person.find_all' do
8
+ @results = CapsuleCRM::Person.find :all
9
+ end
10
+ end
11
+
12
+
13
+ # nodoc
14
+ def test_return_value_type
15
+ assert_equal CapsuleCRM::Collection, @results.class
16
+ end
17
+
18
+
19
+ # nodoc
20
+ def test_return_value_size
21
+ assert_equal 6, @results.size
22
+ end
23
+
24
+
25
+ # nodoc
26
+ def test_offset_parameter
27
+ VCR.use_cassette 'person.find_all_with_offset' do
28
+ @results = CapsuleCRM::Person.find :all, :offset => 3
29
+ assert_requested :get, /capsulecrm.*start=3/
30
+ end
31
+ end
32
+
33
+
34
+ # nodoc
35
+ def test_limit_parameter
36
+ VCR.use_cassette 'person.find_all_with_limit' do
37
+ @results = CapsuleCRM::Person.find(:all, :limit => 2)
38
+ assert_requested :get, /capsulecrm.*limit=2/
39
+ end
40
+ end
41
+
42
+
43
+ # nodoc
44
+ def teardown
45
+ WebMock.reset!
46
+ end
47
+
48
+ end
@@ -0,0 +1,61 @@
1
+ require 'test_helper'
2
+ class PersonDotFindByIdTest < Test::Unit::TestCase
3
+
4
+ def setup
5
+ VCR.use_cassette('person.find_by_id') do
6
+ @organisation = CapsuleCRM::Organisation.find organisations(:gov)
7
+ @person = CapsuleCRM::Person.find people(:pm)
8
+ @person.organisation # to record the request
9
+ end
10
+ end
11
+
12
+
13
+ # nodoc
14
+ def test_attributes
15
+ assert_equal @person.title, 'Mr'
16
+ assert_equal @person.first_name, 'David'
17
+ assert_equal @person.last_name, 'Cameron'
18
+ assert_equal @person.job_title, 'Prime Minister'
19
+ end
20
+
21
+
22
+ # nodoc
23
+ def test_organisation
24
+ assert_equal @organisation, @person.organisation
25
+ end
26
+
27
+
28
+ # nodoc
29
+ def test_addresses
30
+ assert_equal CapsuleCRM::ChildCollection, @person.addresses.class
31
+ assert_equal 1, @person.addresses.size
32
+ @person.addresses.each { |address| assert address.is_a?(CapsuleCRM::Address) }
33
+ end
34
+
35
+
36
+ # nodoc
37
+ def test_emails
38
+ assert_equal CapsuleCRM::ChildCollection, @person.emails.class
39
+ assert_equal 1, @person.emails.size
40
+ @person.emails.each { |email| assert email.is_a?(CapsuleCRM::Email) }
41
+ end
42
+
43
+
44
+ # nodoc
45
+ def test_phone_numbers
46
+ assert_equal CapsuleCRM::ChildCollection, @person.phone_numbers.class
47
+ assert_equal 1, @person.phone_numbers.size
48
+ @person.phone_numbers.each { |pn| assert pn.is_a?(CapsuleCRM::Phone) }
49
+ end
50
+
51
+ def test_websites
52
+ assert_equal CapsuleCRM::ChildCollection, @person.phone_numbers.class
53
+ assert_equal 1, @person.websites.size
54
+ end
55
+
56
+ def teardown
57
+ WebMock.reset!
58
+ end
59
+
60
+
61
+ end
@@ -0,0 +1,52 @@
1
+ require 'rubygems'
2
+ # require 'ruby-debug'
3
+ require 'test/unit'
4
+ require 'webmock/test_unit'
5
+ require 'vcr'
6
+
7
+
8
+ # .gemspec does this usually
9
+ $: << File.expand_path('../../lib', __FILE__)
10
+ require 'capsulecrm'
11
+
12
+ # initialization - credentials only matter for VCR's first run
13
+ CapsuleCRM.account_name = ENV['CAPSULE_ACCOUNT'] || 'foo'
14
+ CapsuleCRM.api_token = ENV['CAPSULE_TOKEN'] || 'bar'
15
+ CapsuleCRM.initialize!
16
+
17
+
18
+ # nodoc
19
+ VCR.config do |c|
20
+ c.cassette_library_dir = 'test/fixtures/responses'
21
+ c.stub_with :webmock
22
+ c.filter_sensitive_data('[API-TOKEN]') { CapsuleCRM.api_token }
23
+ c.filter_sensitive_data('[ACCOUNT-NAME]') { CapsuleCRM.account_name }
24
+ c.filter_sensitive_data('[SESSION-COOKIE]') do |interaction|
25
+ interaction.response.headers['set-cookie'].first
26
+ end
27
+ end
28
+
29
+
30
+ # nodoc
31
+ class Test::Unit::TestCase
32
+
33
+ # nodoc
34
+ def organisations(key)
35
+ ids = {
36
+ :gov => 10185256,
37
+ :emptyish => 11111111
38
+ }
39
+ ids[key]
40
+ end
41
+
42
+
43
+ # nodoc
44
+ def people(key)
45
+ ids = {
46
+ :dpm => 10185261,
47
+ :pm => 10185257
48
+ }
49
+ ids[key]
50
+ end
51
+
52
+ end
@@ -0,0 +1,46 @@
1
+ require 'test_helper'
2
+ class UpdatePersonTest < Test::Unit::TestCase
3
+
4
+ # nodoc
5
+ def setup
6
+ end
7
+
8
+
9
+ # nodoc
10
+ def test_with_changes
11
+ VCR.use_cassette('update_person') do
12
+
13
+ # get the person, cache the first name
14
+ person = CapsuleCRM::Person.find people(:dpm)
15
+ first_name = person.first_name
16
+ new_name = first_name.reverse
17
+
18
+ # change the name and update
19
+ person.first_name = new_name
20
+ assert person.save
21
+
22
+ # reload and check updates were saved
23
+ person = CapsuleCRM::Person.find person.id
24
+ assert_equal new_name, person.first_name
25
+
26
+ end
27
+ end
28
+
29
+
30
+ # nodoc
31
+ def test_without_changes
32
+ VCR.use_cassette('update_person_without_changes') do
33
+ person = CapsuleCRM::Person.find people(:dpm)
34
+ assert person.save
35
+ assert_requested :put, /capsulecrm/, :times => 0
36
+ end
37
+ end
38
+
39
+
40
+ # nodoc
41
+ def teardown
42
+ WebMock.reset!
43
+ end
44
+
45
+
46
+ end
metadata ADDED
@@ -0,0 +1,158 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: capsulecrm-b
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.6
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Ahmed Adam
9
+ - dsimard
10
+ - FWMatt
11
+ autorequire:
12
+ bindir: bin
13
+ cert_chain: []
14
+ date: 2013-01-24 00:00:00.000000000 Z
15
+ dependencies:
16
+ - !ruby/object:Gem::Dependency
17
+ name: httparty
18
+ requirement: !ruby/object:Gem::Requirement
19
+ none: false
20
+ requirements:
21
+ - - ~>
22
+ - !ruby/object:Gem::Version
23
+ version: '0.7'
24
+ type: :runtime
25
+ prerelease: false
26
+ version_requirements: !ruby/object:Gem::Requirement
27
+ none: false
28
+ requirements:
29
+ - - ~>
30
+ - !ruby/object:Gem::Version
31
+ version: '0.7'
32
+ - !ruby/object:Gem::Dependency
33
+ name: activemodel
34
+ requirement: !ruby/object:Gem::Requirement
35
+ none: false
36
+ requirements:
37
+ - - ~>
38
+ - !ruby/object:Gem::Version
39
+ version: '3.0'
40
+ type: :runtime
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ none: false
44
+ requirements:
45
+ - - ~>
46
+ - !ruby/object:Gem::Version
47
+ version: '3.0'
48
+ - !ruby/object:Gem::Dependency
49
+ name: activesupport
50
+ requirement: !ruby/object:Gem::Requirement
51
+ none: false
52
+ requirements:
53
+ - - ~>
54
+ - !ruby/object:Gem::Version
55
+ version: '3.0'
56
+ type: :runtime
57
+ prerelease: false
58
+ version_requirements: !ruby/object:Gem::Requirement
59
+ none: false
60
+ requirements:
61
+ - - ~>
62
+ - !ruby/object:Gem::Version
63
+ version: '3.0'
64
+ description: CapsuleCRM API Gem
65
+ email:
66
+ - ahmed.msgs@gmail.com
67
+ - dsimard@azanka.ca
68
+ - matt@futureworkshops.com
69
+ executables: []
70
+ extensions: []
71
+ extra_rdoc_files: []
72
+ files:
73
+ - .gitignore
74
+ - Gemfile
75
+ - README.rdoc
76
+ - Rakefile
77
+ - capsulecrm.gemspec
78
+ - examples.rb
79
+ - lib/capsulecrm.rb
80
+ - lib/capsulecrm/address.rb
81
+ - lib/capsulecrm/base.rb
82
+ - lib/capsulecrm/child.rb
83
+ - lib/capsulecrm/child_collection.rb
84
+ - lib/capsulecrm/collection.rb
85
+ - lib/capsulecrm/contact.rb
86
+ - lib/capsulecrm/custom_field.rb
87
+ - lib/capsulecrm/email.rb
88
+ - lib/capsulecrm/history.rb
89
+ - lib/capsulecrm/history_item.rb
90
+ - lib/capsulecrm/opportunity.rb
91
+ - lib/capsulecrm/organisation.rb
92
+ - lib/capsulecrm/party.rb
93
+ - lib/capsulecrm/person.rb
94
+ - lib/capsulecrm/phone.rb
95
+ - lib/capsulecrm/record_not_found.rb
96
+ - lib/capsulecrm/recorn_not_recognised.rb
97
+ - lib/capsulecrm/tag.rb
98
+ - lib/capsulecrm/version.rb
99
+ - lib/capsulecrm/website.rb
100
+ - test/create_person_test.rb
101
+ - test/fixtures/responses/create_person.yml
102
+ - test/fixtures/responses/party_history.yml
103
+ - test/fixtures/responses/party_tags.yml
104
+ - test/fixtures/responses/person_find_all.yml
105
+ - test/fixtures/responses/person_find_all_with_limit.yml
106
+ - test/fixtures/responses/person_find_all_with_offset.yml
107
+ - test/fixtures/responses/person_find_by_id.yml
108
+ - test/fixtures/responses/update_person.yml
109
+ - test/fixtures/responses/update_person_without_changes.yml
110
+ - test/party_dot_find_test.rb
111
+ - test/party_dot_history_test.rb
112
+ - test/party_dot_tags_test.rb
113
+ - test/person_dot_find_all_test.rb
114
+ - test/person_dot_find_by_id_test.rb
115
+ - test/test_helper.rb
116
+ - test/update_person_test.rb
117
+ homepage: https://github.com/dsimard/capsulecrm
118
+ licenses: []
119
+ post_install_message:
120
+ rdoc_options: []
121
+ require_paths:
122
+ - lib
123
+ required_ruby_version: !ruby/object:Gem::Requirement
124
+ none: false
125
+ requirements:
126
+ - - ! '>='
127
+ - !ruby/object:Gem::Version
128
+ version: '0'
129
+ required_rubygems_version: !ruby/object:Gem::Requirement
130
+ none: false
131
+ requirements:
132
+ - - ! '>='
133
+ - !ruby/object:Gem::Version
134
+ version: '0'
135
+ requirements: []
136
+ rubyforge_project:
137
+ rubygems_version: 1.8.24
138
+ signing_key:
139
+ specification_version: 3
140
+ summary: CapsuleCRM API Gem
141
+ test_files:
142
+ - test/create_person_test.rb
143
+ - test/fixtures/responses/create_person.yml
144
+ - test/fixtures/responses/party_history.yml
145
+ - test/fixtures/responses/party_tags.yml
146
+ - test/fixtures/responses/person_find_all.yml
147
+ - test/fixtures/responses/person_find_all_with_limit.yml
148
+ - test/fixtures/responses/person_find_all_with_offset.yml
149
+ - test/fixtures/responses/person_find_by_id.yml
150
+ - test/fixtures/responses/update_person.yml
151
+ - test/fixtures/responses/update_person_without_changes.yml
152
+ - test/party_dot_find_test.rb
153
+ - test/party_dot_history_test.rb
154
+ - test/party_dot_tags_test.rb
155
+ - test/person_dot_find_all_test.rb
156
+ - test/person_dot_find_by_id_test.rb
157
+ - test/test_helper.rb
158
+ - test/update_person_test.rb