sugarcrm 0.9.12 → 0.9.13

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.
@@ -0,0 +1,183 @@
1
+ require 'helper'
2
+
3
+ class TestFinders < ActiveSupport::TestCase
4
+ context "A SugarCRM::Base instance" do
5
+ should "always return an Array when :all" do
6
+ users = SugarCRM::User.all(:limit => 10)
7
+ assert_instance_of Array, users
8
+ users = SugarCRM::User.find(:all, :conditions => {:user_name => '= admin'})
9
+ assert_instance_of Array, users
10
+ assert users.length == 1
11
+ users = SugarCRM::User.find(:all, :conditions => {:user_name => '= invalid_user_123'})
12
+ assert_instance_of Array, users
13
+ assert users.length == 0
14
+ end
15
+
16
+ should "support finding first instance (sorted by attribute)" do
17
+ account = SugarCRM::Account.first({
18
+ :order_by => 'name'
19
+ })
20
+ assert_instance_of SugarCRM::Account, account
21
+ end
22
+
23
+ should "support finding last instance (sorted by attribute)" do
24
+ expected_account = SugarCRM::Account.first({:order_by => 'name DESC'})
25
+ account = SugarCRM::Account.last({:order_by => 'name'})
26
+ assert_equal expected_account.id, account.id
27
+
28
+ expected_account = SugarCRM::Account.first({:order_by => 'name DESC'})
29
+ account = SugarCRM::Account.last({:order_by => 'name ASC'})
30
+ assert_equal expected_account.id, account.id
31
+
32
+ expected_account = SugarCRM::Account.first({:order_by => 'name ASC'})
33
+ account = SugarCRM::Account.last({:order_by => 'name DESC'})
34
+ assert_equal expected_account.id, account.id
35
+ end
36
+
37
+ should "support finding last instance with symbol as :order_by option" do
38
+ expected_account = SugarCRM::Account.first({:order_by => 'id DESC'})
39
+ account = SugarCRM::Account.last({:order_by => :id})
40
+ assert_equal expected_account.id, account.id
41
+ end
42
+
43
+ should "support finding last instance (last created)" do
44
+ expected_account = SugarCRM::Account.first({:order_by => 'date_entered DESC'})
45
+ account = SugarCRM::Account.last
46
+ assert_equal expected_account.id, account.id
47
+ end
48
+
49
+ should "support returning only certain fields" do
50
+ user = SugarCRM::User.first(:fields => [:first_name, :department])
51
+ assert_instance_of SugarCRM::User, user
52
+ end
53
+
54
+ should "raise a RuntimeError when searching for last instance with multiple order clauses" do
55
+ assert_raise(RuntimeError){ SugarCRM::Account.last({:order_by => 'name, id DESC'}) }
56
+ end
57
+
58
+ should "raise a RuntimeError when searching for last instance if order clause has weird format" do
59
+ assert_raise(RuntimeError){ SugarCRM::Account.last({:order_by => 'name id DESC'}) }
60
+ assert_raise(RuntimeError){ SugarCRM::Account.last({:order_by => 'name DESC id'}) }
61
+ end
62
+
63
+ should "support searching based on conditions" do
64
+ accounts = SugarCRM::Account.all({
65
+ :conditions => { :billing_address_postalcode => ["> '70000'", "< '79999'" ] },
66
+ :limit => 2,
67
+ :order_by => 'billing_address_postalcode'
68
+ })
69
+ assert_instance_of SugarCRM::Account, accounts.first
70
+ end
71
+
72
+ should "support searching based on SQL operators" do
73
+ accounts = SugarCRM::Account.all({
74
+ :conditions => { :name => "LIKE '%Inc%'" }
75
+ })
76
+ assert accounts
77
+ assert_instance_of SugarCRM::Account, accounts.first
78
+ end
79
+
80
+ should "return an an instance of itself when sent #find(id)" do
81
+ assert_instance_of SugarCRM::User, SugarCRM::User.find(1)
82
+ end
83
+
84
+ should "receive a response containing all fields when sent #get_entry" do
85
+ u = SugarCRM::User.find(1)
86
+ assert_equal u.user_name, "admin"
87
+ end
88
+
89
+ should "return an array of records when sent #find([id1, id2, id3])" do
90
+ users = SugarCRM::User.find(["seed_sarah_id", 1])
91
+ assert_equal "admin", users.last.user_name
92
+ end
93
+
94
+ # test Base#find_by_sql edge case
95
+ should "return an array of records with small limit and an offset of 0" do
96
+ accounts = SugarCRM::Account.all(:limit => 3, :offset => 0)
97
+ assert_equal 3, accounts.size
98
+ end
99
+
100
+ # test Base#find_by_sql edge case: force slize size to vary up and down
101
+ should "return an array of records with small offset and a limit greater than 5 but not divisible by 5" do
102
+ accounts = SugarCRM::Account.all(:limit => 13, :offset => 2)
103
+ assert_equal 13, accounts.size
104
+ end
105
+
106
+ # test Base#find_by_sql standard case
107
+ should "return an array of records with high limit" do
108
+ accounts = SugarCRM::Account.all(:limit => 12)
109
+ assert_equal 12, accounts.size
110
+ end
111
+
112
+ should "accept a block" do
113
+ # try small limit which will return result on the first result slice (and call yield block only once)
114
+ count = 0
115
+ assert_nothing_raised do
116
+ SugarCRM::Account.all(:limit => 2){|a|
117
+ count += 1
118
+ }
119
+ end
120
+ assert_equal 2, count
121
+
122
+ # try larger limit which will require multiple result slices to be fetched and yielded individually (yield block called for each result slice)
123
+ count = 0
124
+ assert_nothing_raised do
125
+ SugarCRM::Account.all(:limit => 12){|a|
126
+ count += 1
127
+ }
128
+ end
129
+ assert_equal 12, count
130
+ end
131
+
132
+ should "retrieve all records (with no limit option) correctly" do
133
+ count = 0
134
+ SugarCRM::Account.all{|a|
135
+ count += 1
136
+ }
137
+ assert_equal SugarCRM::Account.count, count
138
+ end
139
+
140
+ should "return an array of records when using :order_by, :limit, and :offset options" do
141
+ accounts = SugarCRM::Account.all(:order_by => 'name', :limit => 3, :offset => 10)
142
+ accounts_api = SugarCRM.connection.get_entry_list('Accounts', '1=1', :order_by => 'name', :limit => 3, :offset => 10)
143
+ assert_equal accounts_api, accounts
144
+ end
145
+
146
+ should "return an array of records working around a SugarCRM bug when :limit > :offset" do
147
+ accounts = SugarCRM::Account.all(:order_by => 'name', :limit => 10, :offset => 2)
148
+ assert_equal 10, accounts.size
149
+ end
150
+
151
+ should "return an array of 1 record with :limit => 1, :offset => 1" do
152
+ accounts = SugarCRM::Account.all(:order_by => 'name', :limit => 1, :offset => 1)
153
+ assert_equal 1, accounts.size
154
+ end
155
+
156
+ should "ignore :offset => 0" do
157
+ accounts = SugarCRM::Account.all(:order_by => 'name', :limit => 3)
158
+ accounts_offset = SugarCRM::Account.all(:order_by => 'name', :limit => 3, :offset => 0)
159
+ assert_equal accounts, accounts_offset
160
+ end
161
+
162
+ should "compute offsets correctly" do
163
+ accounts = SugarCRM::Account.all(:order_by => 'name', :limit => 10, :offset => 3)
164
+ accounts_first_slice = SugarCRM::Account.all(:order_by => 'name', :limit => 5, :offset => 3)
165
+ accounts_second_slice = SugarCRM::Account.all(:order_by => 'name', :limit => 5, :offset => 8)
166
+ assert_equal accounts, accounts_first_slice.concat(accounts_second_slice)
167
+ end
168
+
169
+ should "return an instance of User when sent User#find_by_username" do
170
+ u = SugarCRM::User.find_by_user_name("sarah")
171
+ assert_equal "sarah@example.com", u.email_addresses.first.email_address
172
+ end
173
+
174
+ should "create or retrieve a record when #find_or_create_by_name" do
175
+ a = SugarCRM::Account.find_or_create_by_name("Really Important Co. Name")
176
+ assert_instance_of SugarCRM::Account, a
177
+ assert !a.new?
178
+ b = SugarCRM::Account.find_or_create_by_name("Really Important Co. Name")
179
+ assert a == b
180
+ assert a.delete
181
+ end
182
+ end
183
+ end
@@ -1,6 +1,18 @@
1
1
  require 'helper'
2
2
 
3
3
  class TestSugarCRM < ActiveSupport::TestCase
4
+ context "A class inheriting SugarCRM::Base" do
5
+ should "implement self.class.count" do
6
+ nb_accounts = SugarCRM::Account.count
7
+ assert nb_accounts > 0
8
+ nb_inc_accounts = SugarCRM::Account.count(:conditions => {:name => "LIKE '%Inc'"})
9
+ nb_inc_accounts_size = SugarCRM::Account.all(:conditions => {:name => "LIKE '%Inc'"}).size
10
+ assert nb_inc_accounts > 0
11
+ assert nb_inc_accounts < nb_accounts
12
+ assert_equal nb_inc_accounts_size, nb_inc_accounts
13
+ end
14
+ end
15
+
4
16
  context "A SugarCRM::Base instance" do
5
17
 
6
18
  should "return the module name" do
@@ -11,7 +23,7 @@ class TestSugarCRM < ActiveSupport::TestCase
11
23
  assert_instance_of ActiveSupport::HashWithIndifferentAccess, SugarCRM::Account._module.fields
12
24
  end
13
25
 
14
- should "responsd to self#methods" do
26
+ should "respond to self#methods" do
15
27
  assert_instance_of Array, SugarCRM::User.new.methods
16
28
  end
17
29
 
@@ -50,17 +62,6 @@ class TestSugarCRM < ActiveSupport::TestCase
50
62
  end
51
63
  end
52
64
 
53
- should "always return an Array when :all" do
54
- users = SugarCRM::User.all(:limit => 10)
55
- assert_instance_of Array, users
56
- users = SugarCRM::User.find(:all, :conditions => {:user_name => '= admin'})
57
- assert_instance_of Array, users
58
- assert users.length == 1
59
- users = SugarCRM::User.find(:all, :conditions => {:user_name => '= invalid_user_123'})
60
- assert_instance_of Array, users
61
- assert users.length == 0
62
- end
63
-
64
65
  should "create, modify, and delete a record" do
65
66
  u = SugarCRM::User.new
66
67
  assert u.email1?
@@ -81,131 +82,9 @@ class TestSugarCRM < ActiveSupport::TestCase
81
82
  assert m.destroyed?
82
83
  end
83
84
 
84
- should "support finding first instance (sorted by attribute)" do
85
- account = SugarCRM::Account.first({
86
- :order_by => 'name'
87
- })
88
- assert_instance_of SugarCRM::Account, account
89
- end
90
-
91
- should "support finding last instance (sorted by attribute)" do
92
- expected_account = SugarCRM::Account.first({:order_by => 'name DESC'})
93
- account = SugarCRM::Account.last({:order_by => 'name'})
94
- assert_equal expected_account.id, account.id
95
-
96
- expected_account = SugarCRM::Account.first({:order_by => 'name DESC'})
97
- account = SugarCRM::Account.last({:order_by => 'name ASC'})
98
- assert_equal expected_account.id, account.id
99
-
100
- expected_account = SugarCRM::Account.first({:order_by => 'name ASC'})
101
- account = SugarCRM::Account.last({:order_by => 'name DESC'})
102
- assert_equal expected_account.id, account.id
103
- end
104
-
105
- should "support finding last instance (last created)" do
106
- expected_account = SugarCRM::Account.first({:order_by => 'date_entered DESC'})
107
- account = SugarCRM::Account.last
108
- assert_equal expected_account.id, account.id
109
- end
110
-
111
- should "support returning only certain fields" do
112
- user = SugarCRM::User.first(:fields => [:first_name, :department])
113
- assert_instance_of SugarCRM::User, user
114
- end
115
-
116
- should "raise a RuntimeError when searching for last instance with multiple order clauses" do
117
- assert_raise(RuntimeError){ SugarCRM::Account.last({:order_by => 'name, id DESC'}) }
118
- end
119
-
120
- should "raise a RuntimeError when searching for last instance if order clause has weird format" do
121
- assert_raise(RuntimeError){ SugarCRM::Account.last({:order_by => 'name id DESC'}) }
122
- assert_raise(RuntimeError){ SugarCRM::Account.last({:order_by => 'name DESC id'}) }
123
- end
124
-
125
- should "support searching based on conditions" do
126
- accounts = SugarCRM::Account.all({
127
- :conditions => { :billing_address_postalcode => ["> '70000'", "< '79999'" ] },
128
- :limit => '10',
129
- :order_by => 'billing_address_postalcode'
130
- })
131
- assert_instance_of SugarCRM::Account, accounts.first
132
- end
133
-
134
- should "support searching based on SQL operators" do
135
- accounts = SugarCRM::Account.all({
136
- :conditions => { :name => "LIKE '%Inc%'" }
137
- })
138
- assert accounts
139
- assert_instance_of SugarCRM::Account, accounts.first
140
- end
141
-
142
- should "return an an instance of itself when sent #find(id)" do
143
- assert_instance_of SugarCRM::User, SugarCRM::User.find(1)
144
- end
145
-
146
- should "receive a response containing all fields when sent #get_entry" do
147
- u = SugarCRM::User.find(1)
148
- assert_equal u.user_name, "admin"
149
- end
150
-
151
- should "return an array of records when sent #find([id1, id2, id3])" do
152
- users = SugarCRM::User.find(["seed_sarah_id", 1])
153
- assert_equal "admin", users.last.user_name
154
- end
155
-
156
- # test Base#find_by_sql edge case
157
- should "return an array of records with small limit and an offset of 0" do
158
- accounts = SugarCRM::Account.all(:limit => 3, :offset => 0)
159
- assert_equal 3, accounts.size
160
- end
161
-
162
- # test Base#find_by_sql standard case
163
- should "return an array of records with high limit" do
164
- accounts = SugarCRM::Account.all(:limit => 12)
165
- assert_equal 12, accounts.size
166
- end
167
-
168
- should "return an array of records when using :order_by, :limit, and :offset options" do
169
- accounts = SugarCRM::Account.all(:order_by => 'name', :limit => 3, :offset => 10)
170
- accounts_api = SugarCRM.connection.get_entry_list('Accounts', '1=1', :order_by => 'name', :limit => 3, :offset => 10)
171
- assert_equal accounts_api, accounts
172
- end
173
-
174
- should "return an array of records working around a SugarCRM bug when :limit > :offset" do
175
- accounts = SugarCRM::Account.all(:order_by => 'name', :limit => 10, :offset => 2)
176
- assert_equal 10, accounts.size
177
- end
178
-
179
- should "return an array of 1 record with :limit => 1, :offset => 1" do
180
- accounts = SugarCRM::Account.all(:order_by => 'name', :limit => 1, :offset => 1)
181
- assert_equal 1, accounts.size
182
- end
183
-
184
- should "ignore :offset => 0" do
185
- accounts = SugarCRM::Account.all(:order_by => 'name', :limit => 3)
186
- accounts_offset = SugarCRM::Account.all(:order_by => 'name', :limit => 3, :offset => 0)
187
- assert_equal accounts, accounts_offset
188
- end
189
-
190
- should "compute offsets correctly" do
191
- accounts = SugarCRM::Account.all(:order_by => 'name', :limit => 10, :offset => 3)
192
- accounts_first_slice = SugarCRM::Account.all(:order_by => 'name', :limit => 5, :offset => 3)
193
- accounts_second_slice = SugarCRM::Account.all(:order_by => 'name', :limit => 5, :offset => 8)
194
- assert_equal accounts, accounts_first_slice.concat(accounts_second_slice)
195
- end
196
-
197
- should "return an instance of User when sent User#find_by_username" do
198
- u = SugarCRM::User.find_by_user_name("sarah")
199
- assert_equal "sarah@example.com", u.email_addresses.first.email_address
200
- end
201
-
202
- should "create or retrieve a record when #find_or_create_by_name" do
203
- a = SugarCRM::Account.find_or_create_by_name("Really Important Co. Name")
204
- assert_instance_of SugarCRM::Account, a
205
- assert !a.new?
206
- b = SugarCRM::Account.find_or_create_by_name("Really Important Co. Name")
207
- assert a == b
208
- assert a.delete
85
+ should "respond to destroy" do
86
+ a = SugarCRM::Account.first
87
+ assert a.respond_to? :destroy
209
88
  end
210
89
 
211
90
  should "support saving of records with special characters in them" do
@@ -232,10 +111,64 @@ class TestSugarCRM < ActiveSupport::TestCase
232
111
  b.last_name = orig_last_name
233
112
  b.save!
234
113
  end
235
- end
114
+
115
+ should "implement Base#update_attribute" do
116
+ a = SugarCRM::Account.first
117
+ orig_name = a.name
118
+ assert a.update_attribute('name', orig_name + 'test')
119
+ assert_not_equal orig_name, a.name
120
+ assert a.update_attribute('name', orig_name) # revert changes
121
+ end
122
+
123
+ should "implement Base#update_attribute!" do
124
+ a = SugarCRM::Account.first
125
+ orig_name = a.name
126
+ assert_nothing_raised do
127
+ a.update_attribute!('name', orig_name + 'test')
128
+ end
129
+ assert_not_equal orig_name, a.name
130
+ assert a.update_attribute('name', orig_name) # revert changes
131
+ end
132
+
133
+ should "implement Base#update_attributes" do
134
+ a = SugarCRM::Account.first
135
+ orig_name = a.name
136
+ orig_street = a.billing_address_street
137
+ assert a.update_attributes(:name => orig_name + 'test', :billing_address_street => orig_street + 'test')
138
+ assert_not_equal orig_name, a.name
139
+ assert_not_equal orig_street, a.billing_address_street
140
+ assert a.update_attributes(:name => orig_name, :billing_address_street => orig_street) # revert changes
141
+ end
142
+
143
+ should "implement Base#update_attributes!" do
144
+ a = SugarCRM::Account.first
145
+ orig_name = a.name
146
+ orig_street = a.billing_address_street
147
+ assert_nothing_raised do
148
+ a.update_attributes!(:name => orig_name + 'test', :billing_address_street => orig_street + 'test')
149
+ end
150
+ assert_not_equal orig_name, a.name
151
+ assert_not_equal orig_street, a.billing_address_street
152
+ assert a.update_attributes(:name => orig_name, :billing_address_street => orig_street) # revert changes
153
+ end
154
+
155
+ should "implement Base#persisted?" do
156
+ a = SugarCRM::Account.new(:name => 'temp')
157
+ assert ! a.persisted?
158
+ a.save!
159
+ assert a.persisted?
160
+ a.delete
161
+ assert ! a.persisted?
162
+ end
236
163
 
237
- should "respond to #pretty_print" do
238
- assert_respond_to SugarCRM::User.new, :pretty_print
164
+ should "respond to #pretty_print" do
165
+ assert_respond_to SugarCRM::User.new, :pretty_print
166
+ end
167
+
168
+ should "return an instance's URL" do
169
+ user = SugarCRM::User.first
170
+ assert_equal "#{SugarCRM.session.config[:base_url]}/index.php?module=Users&action=DetailView&record=#{user.id}", user.url
171
+ end
239
172
  end
240
173
 
241
174
  end
metadata CHANGED
@@ -1,12 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sugarcrm
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: false
4
+ hash: 33
5
+ prerelease:
5
6
  segments:
6
7
  - 0
7
8
  - 9
8
- - 12
9
- version: 0.9.12
9
+ - 13
10
+ version: 0.9.13
10
11
  platform: ruby
11
12
  authors:
12
13
  - Carl Hicks
@@ -15,92 +16,98 @@ autorequire:
15
16
  bindir: bin
16
17
  cert_chain: []
17
18
 
18
- date: 2011-03-02 00:00:00 -08:00
19
+ date: 2011-04-06 00:00:00 -07:00
19
20
  default_executable: sugarcrm
20
21
  dependencies:
21
22
  - !ruby/object:Gem::Dependency
22
- name: activesupport
23
+ prerelease: false
24
+ type: :runtime
23
25
  requirement: &id001 !ruby/object:Gem::Requirement
24
26
  none: false
25
27
  requirements:
26
28
  - - ">="
27
29
  - !ruby/object:Gem::Version
30
+ hash: 7
28
31
  segments:
29
32
  - 3
30
33
  - 0
31
34
  - 0
32
35
  version: 3.0.0
33
- type: :runtime
34
- prerelease: false
36
+ name: activesupport
35
37
  version_requirements: *id001
36
38
  - !ruby/object:Gem::Dependency
37
- name: i18n
39
+ prerelease: false
40
+ type: :runtime
38
41
  requirement: &id002 !ruby/object:Gem::Requirement
39
42
  none: false
40
43
  requirements:
41
44
  - - ">="
42
45
  - !ruby/object:Gem::Version
46
+ hash: 3
43
47
  segments:
44
48
  - 0
45
49
  version: "0"
46
- type: :runtime
47
- prerelease: false
50
+ name: i18n
48
51
  version_requirements: *id002
49
52
  - !ruby/object:Gem::Dependency
50
- name: json
53
+ prerelease: false
54
+ type: :runtime
51
55
  requirement: &id003 !ruby/object:Gem::Requirement
52
56
  none: false
53
57
  requirements:
54
58
  - - ">="
55
59
  - !ruby/object:Gem::Version
60
+ hash: 3
56
61
  segments:
57
62
  - 0
58
63
  version: "0"
59
- type: :runtime
60
- prerelease: false
64
+ name: json
61
65
  version_requirements: *id003
62
66
  - !ruby/object:Gem::Dependency
63
- name: shoulda
67
+ prerelease: false
68
+ type: :development
64
69
  requirement: &id004 !ruby/object:Gem::Requirement
65
70
  none: false
66
71
  requirements:
67
72
  - - ">="
68
73
  - !ruby/object:Gem::Version
74
+ hash: 3
69
75
  segments:
70
76
  - 0
71
77
  version: "0"
72
- type: :development
73
- prerelease: false
78
+ name: shoulda
74
79
  version_requirements: *id004
75
80
  - !ruby/object:Gem::Dependency
76
- name: bundler
81
+ prerelease: false
82
+ type: :development
77
83
  requirement: &id005 !ruby/object:Gem::Requirement
78
84
  none: false
79
85
  requirements:
80
86
  - - ~>
81
87
  - !ruby/object:Gem::Version
88
+ hash: 23
82
89
  segments:
83
90
  - 1
84
91
  - 0
85
92
  - 0
86
93
  version: 1.0.0
87
- type: :development
88
- prerelease: false
94
+ name: bundler
89
95
  version_requirements: *id005
90
96
  - !ruby/object:Gem::Dependency
91
- name: jeweler
97
+ prerelease: false
98
+ type: :development
92
99
  requirement: &id006 !ruby/object:Gem::Requirement
93
100
  none: false
94
101
  requirements:
95
102
  - - ~>
96
103
  - !ruby/object:Gem::Version
104
+ hash: 7
97
105
  segments:
98
106
  - 1
99
107
  - 5
100
108
  - 2
101
109
  version: 1.5.2
102
- type: :development
103
- prerelease: false
110
+ name: jeweler
104
111
  version_requirements: *id006
105
112
  description:
106
113
  email: carl.hicks@gmail.com
@@ -173,7 +180,6 @@ files:
173
180
  - ./lib/sugarcrm/module_methods.rb
174
181
  - ./lib/sugarcrm/session.rb
175
182
  - ./sugarcrm.gemspec
176
- - ./sugarcrm.tmproj
177
183
  - LICENSE
178
184
  - README.rdoc
179
185
  - test/connection/test_get_available_modules.rb
@@ -196,6 +202,7 @@ files:
196
202
  - test/test_associations.rb
197
203
  - test/test_connection.rb
198
204
  - test/test_connection_pool.rb
205
+ - test/test_finders.rb
199
206
  - test/test_module.rb
200
207
  - test/test_response.rb
201
208
  - test/test_session.rb
@@ -215,7 +222,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
215
222
  requirements:
216
223
  - - ">="
217
224
  - !ruby/object:Gem::Version
218
- hash: 912327613836966464
225
+ hash: 3
219
226
  segments:
220
227
  - 0
221
228
  version: "0"
@@ -224,13 +231,14 @@ required_rubygems_version: !ruby/object:Gem::Requirement
224
231
  requirements:
225
232
  - - ">="
226
233
  - !ruby/object:Gem::Version
234
+ hash: 3
227
235
  segments:
228
236
  - 0
229
237
  version: "0"
230
238
  requirements: []
231
239
 
232
240
  rubyforge_project:
233
- rubygems_version: 1.3.7
241
+ rubygems_version: 1.6.2
234
242
  signing_key:
235
243
  specification_version: 3
236
244
  summary: A less clunky way to interact with SugarCRM via REST.
@@ -255,6 +263,7 @@ test_files:
255
263
  - test/test_associations.rb
256
264
  - test/test_connection.rb
257
265
  - test/test_connection_pool.rb
266
+ - test/test_finders.rb
258
267
  - test/test_module.rb
259
268
  - test/test_response.rb
260
269
  - test/test_session.rb