ryandotsmith-asf-soap-adapter 1.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (178) hide show
  1. data/.document +5 -0
  2. data/LICENSE +20 -0
  3. data/README.rdoc +125 -0
  4. data/Rakefile +63 -0
  5. data/VERSION +1 -0
  6. data/asf-soap-adapter.gemspec +300 -0
  7. data/asf-soap-adapter.pptx +0 -0
  8. data/deploy +6 -0
  9. data/lib/active_record/connection_adapters/activesalesforce.rb +36 -0
  10. data/lib/active_record/connection_adapters/activesalesforce_adapter.rb +919 -0
  11. data/lib/active_record/connection_adapters/asf_active_record.rb +40 -0
  12. data/lib/active_record/connection_adapters/boxcar_command.rb +66 -0
  13. data/lib/active_record/connection_adapters/column_definition.rb +95 -0
  14. data/lib/active_record/connection_adapters/entity_definition.rb +59 -0
  15. data/lib/active_record/connection_adapters/id_resolver.rb +84 -0
  16. data/lib/active_record/connection_adapters/recording_binding.rb +93 -0
  17. data/lib/active_record/connection_adapters/relationship_definition.rb +81 -0
  18. data/lib/active_record/connection_adapters/result_array.rb +31 -0
  19. data/lib/active_record/connection_adapters/sid_authentication_filter.rb +57 -0
  20. data/lib/activerecord-activesalesforce-adapter.rb +1 -0
  21. data/lib/asf-soap-adapter.rb +34 -0
  22. data/lib/salesforce/account.rb +28 -0
  23. data/lib/salesforce/account_feed.rb +27 -0
  24. data/lib/salesforce/apex_log.rb +28 -0
  25. data/lib/salesforce/asset.rb +27 -0
  26. data/lib/salesforce/asset_feed.rb +27 -0
  27. data/lib/salesforce/campaign.rb +27 -0
  28. data/lib/salesforce/campaign_feed.rb +27 -0
  29. data/lib/salesforce/case.rb +27 -0
  30. data/lib/salesforce/case_feed.rb +27 -0
  31. data/lib/salesforce/case_team_member.rb +28 -0
  32. data/lib/salesforce/case_team_role.rb +28 -0
  33. data/lib/salesforce/chatter_feed.rb +291 -0
  34. data/lib/salesforce/contact.rb +27 -0
  35. data/lib/salesforce/contact_feed.rb +29 -0
  36. data/lib/salesforce/contract.rb +27 -0
  37. data/lib/salesforce/contract_feed.rb +27 -0
  38. data/lib/salesforce/entity_subscription.rb +27 -0
  39. data/lib/salesforce/feed_comment.rb +27 -0
  40. data/lib/salesforce/feed_post.rb +27 -0
  41. data/lib/salesforce/feed_tracked_change.rb +27 -0
  42. data/lib/salesforce/file_writer.rb +61 -0
  43. data/lib/salesforce/group.rb +28 -0
  44. data/lib/salesforce/group_member.rb +28 -0
  45. data/lib/salesforce/lead.rb +27 -0
  46. data/lib/salesforce/lead_feed.rb +27 -0
  47. data/lib/salesforce/news_feed.rb +27 -0
  48. data/lib/salesforce/opportunity.rb +27 -0
  49. data/lib/salesforce/opportunity_feed.rb +27 -0
  50. data/lib/salesforce/organization.rb +27 -0
  51. data/lib/salesforce/product2.rb +27 -0
  52. data/lib/salesforce/product2_feed.rb +27 -0
  53. data/lib/salesforce/sf_base.rb +94 -0
  54. data/lib/salesforce/sf_utility.rb +214 -0
  55. data/lib/salesforce/solution.rb +27 -0
  56. data/lib/salesforce/solution_feed.rb +27 -0
  57. data/lib/salesforce/solution_history.rb +28 -0
  58. data/lib/salesforce/task.rb +28 -0
  59. data/lib/salesforce/task_feed.rb +28 -0
  60. data/lib/salesforce/user.rb +27 -0
  61. data/lib/salesforce/user_feed.rb +27 -0
  62. data/lib/salesforce/user_profile_feed.rb +27 -0
  63. data/lib/salesforce/user_role.rb +28 -0
  64. data/ryandotsmith-asf-soap-adapter.gemspec +301 -0
  65. data/test/asf-soap-adapter-rails-app/README +243 -0
  66. data/test/asf-soap-adapter-rails-app/Rakefile +10 -0
  67. data/test/asf-soap-adapter-rails-app/app/controllers/adapter_homes_controller.rb +83 -0
  68. data/test/asf-soap-adapter-rails-app/app/controllers/application_controller.rb +10 -0
  69. data/test/asf-soap-adapter-rails-app/app/helpers/adapter_homes_helper.rb +2 -0
  70. data/test/asf-soap-adapter-rails-app/app/helpers/application_helper.rb +3 -0
  71. data/test/asf-soap-adapter-rails-app/app/models/adapter_home.rb +2 -0
  72. data/test/asf-soap-adapter-rails-app/app/views/adapter_homes/edit.html.erb +24 -0
  73. data/test/asf-soap-adapter-rails-app/app/views/adapter_homes/index.html.erb +24 -0
  74. data/test/asf-soap-adapter-rails-app/app/views/adapter_homes/new.html.erb +23 -0
  75. data/test/asf-soap-adapter-rails-app/app/views/adapter_homes/show.html.erb +18 -0
  76. data/test/asf-soap-adapter-rails-app/app/views/layouts/adapter_homes.html.erb +17 -0
  77. data/test/asf-soap-adapter-rails-app/config/boot.rb +110 -0
  78. data/test/asf-soap-adapter-rails-app/config/database.yml +30 -0
  79. data/test/asf-soap-adapter-rails-app/config/environment.rb +44 -0
  80. data/test/asf-soap-adapter-rails-app/config/environments/development.rb +17 -0
  81. data/test/asf-soap-adapter-rails-app/config/environments/production.rb +28 -0
  82. data/test/asf-soap-adapter-rails-app/config/environments/salesforce-default-realm.rb +30 -0
  83. data/test/asf-soap-adapter-rails-app/config/environments/test.rb +28 -0
  84. data/test/asf-soap-adapter-rails-app/config/initializers/backtrace_silencers.rb +7 -0
  85. data/test/asf-soap-adapter-rails-app/config/initializers/cookie_verification_secret.rb +7 -0
  86. data/test/asf-soap-adapter-rails-app/config/initializers/inflections.rb +10 -0
  87. data/test/asf-soap-adapter-rails-app/config/initializers/mime_types.rb +5 -0
  88. data/test/asf-soap-adapter-rails-app/config/initializers/new_rails_defaults.rb +21 -0
  89. data/test/asf-soap-adapter-rails-app/config/initializers/session_store.rb +15 -0
  90. data/test/asf-soap-adapter-rails-app/config/locales/en.yml +5 -0
  91. data/test/asf-soap-adapter-rails-app/config/routes.rb +46 -0
  92. data/test/asf-soap-adapter-rails-app/db/development.sqlite3 +0 -0
  93. data/test/asf-soap-adapter-rails-app/db/migrate/20101107202112_create_adapter_homes.rb +15 -0
  94. data/test/asf-soap-adapter-rails-app/db/schema.rb +22 -0
  95. data/test/asf-soap-adapter-rails-app/db/seeds.rb +7 -0
  96. data/test/asf-soap-adapter-rails-app/db/test.sqlite3 +0 -0
  97. data/test/asf-soap-adapter-rails-app/log/development.log +51 -0
  98. data/test/asf-soap-adapter-rails-app/log/salesforce-default-realm.log +928 -0
  99. data/test/asf-soap-adapter-rails-app/nbproject/private/config.properties +0 -0
  100. data/test/asf-soap-adapter-rails-app/nbproject/private/private.properties +3 -0
  101. data/test/asf-soap-adapter-rails-app/nbproject/private/private.xml +4 -0
  102. data/test/asf-soap-adapter-rails-app/nbproject/private/rake-d.txt +94 -0
  103. data/test/asf-soap-adapter-rails-app/nbproject/project.properties +5 -0
  104. data/test/asf-soap-adapter-rails-app/nbproject/project.xml +9 -0
  105. data/test/asf-soap-adapter-rails-app/public/404.html +30 -0
  106. data/test/asf-soap-adapter-rails-app/public/422.html +30 -0
  107. data/test/asf-soap-adapter-rails-app/public/500.html +30 -0
  108. data/test/asf-soap-adapter-rails-app/public/favicon.ico +0 -0
  109. data/test/asf-soap-adapter-rails-app/public/images/rails.png +0 -0
  110. data/test/asf-soap-adapter-rails-app/public/javascripts/application.js +2 -0
  111. data/test/asf-soap-adapter-rails-app/public/javascripts/controls.js +963 -0
  112. data/test/asf-soap-adapter-rails-app/public/javascripts/dragdrop.js +973 -0
  113. data/test/asf-soap-adapter-rails-app/public/javascripts/effects.js +1128 -0
  114. data/test/asf-soap-adapter-rails-app/public/javascripts/prototype.js +4320 -0
  115. data/test/asf-soap-adapter-rails-app/public/robots.txt +5 -0
  116. data/test/asf-soap-adapter-rails-app/public/stylesheets/scaffold.css +54 -0
  117. data/test/asf-soap-adapter-rails-app/script/about +4 -0
  118. data/test/asf-soap-adapter-rails-app/script/console +3 -0
  119. data/test/asf-soap-adapter-rails-app/script/dbconsole +3 -0
  120. data/test/asf-soap-adapter-rails-app/script/destroy +3 -0
  121. data/test/asf-soap-adapter-rails-app/script/generate +3 -0
  122. data/test/asf-soap-adapter-rails-app/script/performance/benchmarker +3 -0
  123. data/test/asf-soap-adapter-rails-app/script/performance/profiler +3 -0
  124. data/test/asf-soap-adapter-rails-app/script/plugin +3 -0
  125. data/test/asf-soap-adapter-rails-app/script/runner +3 -0
  126. data/test/asf-soap-adapter-rails-app/script/server +3 -0
  127. data/test/asf-soap-adapter-rails-app/test/performance/browsing_test.rb +9 -0
  128. data/test/asf-soap-adapter-rails-app/test/test_helper.rb +44 -0
  129. data/test/asf-soap-adapter-rails-app/test/test_keys.rb +4 -0
  130. data/test/asf-soap-adapter-rails-app/test/unit/adapter_home_test.rb +8 -0
  131. data/test/asf-soap-adapter-rails-app/test/unit/helpers/adapter_homes_helper_test.rb +4 -0
  132. data/test/asf-soap-adapter-rails-app/test/unit/salesforce/account_feed_test.rb +16 -0
  133. data/test/asf-soap-adapter-rails-app/test/unit/salesforce/account_test.rb +66 -0
  134. data/test/asf-soap-adapter-rails-app/test/unit/salesforce/apex_log_test.rb +10 -0
  135. data/test/asf-soap-adapter-rails-app/test/unit/salesforce/asset_feed_test.rb +14 -0
  136. data/test/asf-soap-adapter-rails-app/test/unit/salesforce/asset_test.rb +13 -0
  137. data/test/asf-soap-adapter-rails-app/test/unit/salesforce/campaign_feed_test.rb +13 -0
  138. data/test/asf-soap-adapter-rails-app/test/unit/salesforce/campaign_test.rb +13 -0
  139. data/test/asf-soap-adapter-rails-app/test/unit/salesforce/case_feed_test.rb +13 -0
  140. data/test/asf-soap-adapter-rails-app/test/unit/salesforce/case_team_member_test.rb +10 -0
  141. data/test/asf-soap-adapter-rails-app/test/unit/salesforce/case_team_role.rb +10 -0
  142. data/test/asf-soap-adapter-rails-app/test/unit/salesforce/case_test.rb +13 -0
  143. data/test/asf-soap-adapter-rails-app/test/unit/salesforce/chatter_feed_test.rb +53 -0
  144. data/test/asf-soap-adapter-rails-app/test/unit/salesforce/contact_feed_test.rb +13 -0
  145. data/test/asf-soap-adapter-rails-app/test/unit/salesforce/contact_test.rb +14 -0
  146. data/test/asf-soap-adapter-rails-app/test/unit/salesforce/contract_feed_test.rb +13 -0
  147. data/test/asf-soap-adapter-rails-app/test/unit/salesforce/contract_test.rb +13 -0
  148. data/test/asf-soap-adapter-rails-app/test/unit/salesforce/entity_subscription_test.rb +13 -0
  149. data/test/asf-soap-adapter-rails-app/test/unit/salesforce/feed_comment_test.rb +9 -0
  150. data/test/asf-soap-adapter-rails-app/test/unit/salesforce/feed_post_test.rb +10 -0
  151. data/test/asf-soap-adapter-rails-app/test/unit/salesforce/feed_tracked_change_test.rb +9 -0
  152. data/test/asf-soap-adapter-rails-app/test/unit/salesforce/group_member_test.rb +10 -0
  153. data/test/asf-soap-adapter-rails-app/test/unit/salesforce/group_test.rb +24 -0
  154. data/test/asf-soap-adapter-rails-app/test/unit/salesforce/lead_feed_test.rb +13 -0
  155. data/test/asf-soap-adapter-rails-app/test/unit/salesforce/lead_test.rb +40 -0
  156. data/test/asf-soap-adapter-rails-app/test/unit/salesforce/news_feed_test.rb +13 -0
  157. data/test/asf-soap-adapter-rails-app/test/unit/salesforce/opportunity_feed_test.rb +13 -0
  158. data/test/asf-soap-adapter-rails-app/test/unit/salesforce/opportunity_test.rb +13 -0
  159. data/test/asf-soap-adapter-rails-app/test/unit/salesforce/organization_test.rb +8 -0
  160. data/test/asf-soap-adapter-rails-app/test/unit/salesforce/product2_feed_test.rb +13 -0
  161. data/test/asf-soap-adapter-rails-app/test/unit/salesforce/product2_test.rb +13 -0
  162. data/test/asf-soap-adapter-rails-app/test/unit/salesforce/salesforce_base_test.rb +10 -0
  163. data/test/asf-soap-adapter-rails-app/test/unit/salesforce/solution_feed_test.rb +13 -0
  164. data/test/asf-soap-adapter-rails-app/test/unit/salesforce/solution_history_test.rb +10 -0
  165. data/test/asf-soap-adapter-rails-app/test/unit/salesforce/solution_test.rb +14 -0
  166. data/test/asf-soap-adapter-rails-app/test/unit/salesforce/task_feed_test.rb +10 -0
  167. data/test/asf-soap-adapter-rails-app/test/unit/salesforce/task_test.rb +10 -0
  168. data/test/asf-soap-adapter-rails-app/test/unit/salesforce/user_feed_test.rb +13 -0
  169. data/test/asf-soap-adapter-rails-app/test/unit/salesforce/user_profile_feed_test.rb +11 -0
  170. data/test/asf-soap-adapter-rails-app/test/unit/salesforce/user_role_test.rb +10 -0
  171. data/test/asf-soap-adapter-rails-app/test/unit/salesforce/user_test.rb +48 -0
  172. data/test/basic_test.rb +204 -0
  173. data/test/config.yml +5 -0
  174. data/test/helper.rb +10 -0
  175. data/test/recorded_test_case.rb +87 -0
  176. data/test/simple_test.rb +96 -0
  177. data/test/tests_without_rail.rb +65 -0
  178. metadata +401 -0
@@ -0,0 +1,5 @@
1
+ README.rdoc
2
+ lib/**/*.rb
3
+ bin/*
4
+ features/**/*.feature
5
+ LICENSE
data/LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2009 Raymond Gao
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,125 @@
1
+ == Welcome to ActiveSalesforce SOAP Adapter (asf-soap-adapter)
2
+
3
+ The "asf-soap-adapter" is based on the ActiveSalesforce-Adapter (link:classes/ActiveRecord/Base.html and link:classes/ActiveRecord/ConnectionAdapters/SalesforceAdapter.html). It has been updated to include new methods/APIs from the latest version of the Salesforce Web Services (SOAP-based) APIs. At the time of release, that API is at version 20.
4
+ Major features:
5
+ 1. Removed hardcoded version of v19, v18, etc in the code. Now, you just specify it in the 'database.yml' file with 'api_version'. By default it is at 20.0
6
+ 2. Adding RForce GEM as a prerequisite. By removing embedded RForce 0.4.0 files, we can now taken advantage of RForce 0.4.1 GEM, which is cleaner and addressed several problems with Hash. One thing to note: if you are using <em>RFORCE:MethodHash</em> class. It has been been replaced by <OpenHash> class. To use it, simply call <em>OpenHash.new({})</em> in place of MethodHash. Previously, there was a bug with the MethodHash class causing Id to be put into an array, e.g. FeedPost.Id[0], even though there was only one element. So, now it is FeedPost.Id.
7
+ 3. Adding several useful Salesforce convenience classes, which is under Saleforce module. You can use <em>Salesforce::Account, Salesforce::User</em>, etc. This frees you from having to create Ruby Models in your application, which can be in a pain, if you using Rails db generation tools, e.g. Hobo, which checks to see if you have a database table for that class. With these convenience classes, you are no longer required to create those tables.
8
+ 4. Support for Chatter newsfeeds. Retrieving Chatter Feed has always been difficult. There are several challenges. First, you can not select directly from the <em>FeedPost</em>, <em>FeedTrackedChanges</em>, and <em>FeedComments</em> tables. That means you always needed to put that in a subquery, as: <em>SELECT Id, Type, (FeedPost.ID, FeedPost.Body, FeedPost.ContentType, et.... ), (Select Id, FieldName, OldValue, NewValue from FeedTrackedChanges), (Select Id, CommentBody, .... from FeedComments) form {feed_type}Feed where parentid='#####'</em>. Doing that over and over again can be repetitive and against the DRY (Don't Repeat Yourself) principle of Rails programming. Therefore, a convenience class has been provided from you. see <em>Salesforce::ChatterFeed</em>. See following example.
9
+ chatter_feed_finder = Salesforce::ChatterFeed.new
10
+ # The following two lines shows how to get the account_feed.id. You can replace it with your
11
+ account_feed = Salesforce::AccountFeed.first
12
+ object_id = account_feed.id
13
+ feed_no_attachment = chatter_feed_finder.get_all_chatter_feeds_without_attachments(object_id, 'Account', user.connection.binding, 'test-session-id')
14
+ Furthermore, the syntaxes from the methods are:
15
+ chatter_feed_finder.get_all_chatter_feeds_with_attachments(object_id, object_type, binding, directory_name, limit, get_attachment)
16
+ chatter_feed_finder.get_all_chatter_feeds_without_attachments(object_id, object_type, binding, directory_name, limit)
17
+ chatter_feed_finder.get_single_chatter_feed_with_attachment(feedpost_id, feed_type, binding, directory_name, limit)
18
+ where,
19
+ object_id -> id of the feed
20
+ object_type -> type of feed, e.g. AccountFeed, CampaignFeed, ContactFeed, UserFeed, ....
21
+ binding -> the RForce binding used to for connecting to Salesforce Web Services Server
22
+ directory_name -> where the attachment will be saved at, it is stored under the RAILS_ROOT/public/tmp/{your directory}
23
+ limit -> max of number of feed retrieved which this call
24
+ get_attachment -> boolean flag: yes (get attachment), no (don't get attachment)
25
+ 5. Salesforce Object lookup utility, provide a Salesforce object Id, and figure out if it is an Account, User, Lead, etc. <em>Salesforce::SfUtility.determine_sf_object_type(id)</em>. See the document for other useful method in this class.
26
+ 6. Ability to call non-traditional SQLs. e.g. with "LIMIT", "GROUP BY", "HAVING", and "WITH DATA CATEGORY". example:
27
+ another = Salesforce::SfBase.query_by_sql("SELECT LeadSource, COUNT(Name) FROM Lead GROUP BY LeadSource")
28
+ assert another.size
29
+ 7. more ....
30
+
31
+ zero_result = Salesforce::SfBase.query_by_sql("SELECT Name, Count(Id) FROM Account GROUP BY Name HAVING Count(Id) > 100")
32
+ assert_nil zero_result
33
+ 6. The best part, is this gem is backward compatible with the original ActiveSalesforce-Adapter GEM release. You only need to make minimum changes to your application to use this GEM. To use this gem, simply replace the declaration in <em>config/environment.rb</em> with <em>config.gem "asf-soap-adapter", :lib => "activerecord-activesalesforce-adapter"</em> in the <em>Rails::Initializer.run do |config|</em> section.
34
+ == Significant Changes
35
+ 1. Detached hardcoded RForce 0.4.0 and replaced with RForce 0.4.1 gem.
36
+ 2. Dynamic Adapter version from 'database.yml' file via 'api_version' parameter
37
+ 3. Conveninence classes, Salesforce::Account, User, ....
38
+ 4. Chatter Feed
39
+ 5. Object Lookup Utility (SF id -> SF object type)
40
+ 6. Nontraditional query support
41
+
42
+ == Installation
43
+
44
+ 1. Add: <em>config.gem "asf-soap-adapter", :lib => "activerecord-activesalesforce-adapter"</em> to <em>Rails::Initializer.run do |config|</em> section in your <em>config/environment.rb</em> file.
45
+ 2. run <em>sudo rake gems:install</em> from your rails base directory.
46
+
47
+ == Getting started
48
+
49
+ 1. If you have not already done so generate your initial rails app:
50
+
51
+ rails myappname
52
+
53
+ 2. Edit config/environment.rb and add a config.gem requirement:
54
+
55
+ Rails::Initializer.run do |config|
56
+ ...
57
+ config.gem "asf-soap-adapter", :lib => 'asf-soap-adapter'
58
+ ...
59
+ end
60
+
61
+ 3. Edit database.yml
62
+
63
+ salesforce-default-realm:
64
+ adapter: activesalesforce
65
+ url: https://www.salesforce.com
66
+ username: <username>
67
+ password: <password + security token>
68
+ api_version: 20.0
69
+
70
+ NOTE: "url" is an optional parameter. If you want to access your Salesforce Sandbox account add the following line.
71
+ url: https://test.salesforce.com
72
+ "api_version" is also optional. If you don't specify a version, it is automatically default to 20.0.
73
+
74
+ 4. Create your salesforce models using a Salesforce::<ModelName> namespace.
75
+
76
+ A lot of the Salesforce Models have already been provided as convenience class. If you need to add more:
77
+
78
+ script/generate model Salesforce::NewObject
79
+
80
+ update the file
81
+ module Salesforce
82
+ # See http://www.salesforce.com/us/developer/docs/api/Content/sforce_api_objects_list.htm
83
+ # For complete list of Salesforce Standard Objects in V20.
84
+ class NewObject < SfBase
85
+ set_table_name 'NewObject' # must be a valid Salesforce Table, otherwise, it will complain.
86
+ end
87
+ end
88
+
89
+ 5. Run a quick test to make sure things are working
90
+
91
+ > script/console
92
+ Loading development environment (Rails 2.3.9)
93
+
94
+ >> Salesforce::Contact.first
95
+ => <Salesforce::Contact id: "003T000000GqvJsIAJ", ... >
96
+
97
+ 6. Proceed using standard Rails development techniques!
98
+
99
+ == Advanced Features
100
+
101
+ 1. Session ID based Authentication: Add the following to /app/controllers/application.rb to enable SID auth for all controllers
102
+
103
+ class ApplicationController < ActionController::Base
104
+ before_filter ActiveSalesforce::SessionIDAuthenticationFilter
105
+ end
106
+
107
+ 2. Boxcar'ing of updates, inserts, and deletes. Use <YourModel>.transaction() to demark boxcar boundaries.
108
+
109
+ == Description of contents
110
+
111
+ lib
112
+ Application specific libraries. Basically, any kind of custom code that doesn't
113
+ belong under controllers, models, or helpers. This directory is in the load path.
114
+ -- active_record -> asf model
115
+ -- salesforce -> convenience classes and utilities
116
+
117
+ test
118
+ Unit and functional tests along with fixtures. See enclosed test app (asf-soap-adapter-rails-app) for full-fledge tests.
119
+
120
+ == Additional Note:
121
+ The enclosed test app (asf-soap-adapter-rails-app) shows how to use the framework. Go into its "test/unit" directory, where examples are provided.
122
+
123
+ I am currently, updating my reference app SFRWatcher to SFRWatcher_v20 to match the switch from the old gem to this new gem. Once it is ready, it will be posted on the web soon. The project home: http://asf-soap-adapter.are4.us
124
+
125
+ Copyright (c) 2010 Raymond Gao. See LICENSE for details.
@@ -0,0 +1,63 @@
1
+ require 'rubygems'
2
+ require 'rake'
3
+
4
+ begin
5
+ require 'jeweler'
6
+ Jeweler::Tasks.new do |gem|
7
+ gem.name = "ryandotsmith-asf-soap-adapter"
8
+ gem.summary = %Q{ASF-Soap-Adapter is an improved version of the ActiveSalesforce (ASF) Adapter with support Chatter and general wrapper object.}
9
+ gem.description = %Q{ASF-Soap-Adapter is an improved version of ActiveSalesforce (ASF) is a Rails connection adapter that provides direct access to Salesforce.com hosted data and metadata via the ActiveRecord model layer. Objects, fields, and relationships are all auto surfaced as active record attributes and rels. It has been patched to V20 of the Web Services API and has support Chatter model.}
10
+ gem.email = "ryan@heroku.com"
11
+ gem.homepage = "http://github.com/ryandotsmith/asf-soap-adapter"
12
+ gem.authors = ["Ryan Smith", "Doug Chasman","Luigi Montanez","Senthil Nayagam","Justin Ball","Jesse Hallett", "Andrew Freeberg", "Blaine Schanfeldt", "Matte Edens", "Raymond Gao"]
13
+
14
+ # Requiring RForce as an add-on gem, rather than hard-code the 0.4.0
15
+ # Using Ray Gao's version of Rforce, since the DEFAULT_BATCH_SIZE (rforce/binding.rb) has been expanded from 10 to 2000
16
+ # Furthermore, added 'oath' gem as a dependency, which is needed by 'Rforce' gem
17
+ gem.add_dependency('rforce-raygao', '>=1.0')
18
+ gem.add_dependency('builder', '>= 1.2.4')
19
+ gem.add_dependency('hpricot', '>=0.8.2')
20
+ gem.add_dependency('facets', '=2.8.4')
21
+ gem.add_dependency('oauth', '=0.4.4')
22
+
23
+ #gem.add_dependency('rails', '>= 2.3.3')
24
+ # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
25
+ end
26
+ Jeweler::GemcutterTasks.new
27
+ rescue LoadError
28
+ puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
29
+ end
30
+
31
+ require 'rake/testtask'
32
+ Rake::TestTask.new(:test) do |test|
33
+ test.libs << 'lib' << 'test'
34
+ test.pattern = 'test/**/test_*.rb'
35
+ test.verbose = true
36
+ end
37
+
38
+ begin
39
+ require 'rcov/rcovtask'
40
+ Rcov::RcovTask.new do |test|
41
+ test.libs << 'test'
42
+ test.pattern = 'test/**/test_*.rb'
43
+ test.verbose = true
44
+ end
45
+ rescue LoadError
46
+ task :rcov do
47
+ abort "RCov is not available. In order to run rcov, you must: sudo gem install spicycode-rcov"
48
+ end
49
+ end
50
+
51
+ task :test => :check_dependencies
52
+
53
+ task :default => :test
54
+
55
+ require 'rake/rdoctask'
56
+ Rake::RDocTask.new do |rdoc|
57
+ version = File.exist?('VERSION') ? File.read('VERSION') : ""
58
+
59
+ rdoc.rdoc_dir = 'rdoc'
60
+ rdoc.title = "asf-soap-adapter #{version}"
61
+ rdoc.rdoc_files.include('README*')
62
+ rdoc.rdoc_files.include('lib/**/*.rb')
63
+ end
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 1.0.3
@@ -0,0 +1,300 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{asf-soap-adapter}
8
+ s.version = "1.0.2"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Doug Chasman", "Luigi Montanez", "Senthil Nayagam", "Justin Ball", "Jesse Hallett", "Andrew Freeberg", "Blaine Schanfeldt", "Matte Edens", "Raymond Gao"]
12
+ s.date = %q{2010-12-07}
13
+ s.description = %q{ASF-Soap-Adapter is an improved version of ActiveSalesforce (ASF) is a Rails connection adapter that provides direct access to Salesforce.com hosted data and metadata via the ActiveRecord model layer. Objects, fields, and relationships are all auto surfaced as active record attributes and rels. It has been patched to V20 of the Web Services API and has support Chatter model.}
14
+ s.email = %q{raygao2000@yahoo.com}
15
+ s.extra_rdoc_files = [
16
+ "LICENSE",
17
+ "README.rdoc"
18
+ ]
19
+ s.files = [
20
+ ".document",
21
+ "LICENSE",
22
+ "README.rdoc",
23
+ "Rakefile",
24
+ "VERSION",
25
+ "asf-soap-adapter.gemspec",
26
+ "asf-soap-adapter.pptx",
27
+ "deploy",
28
+ "lib/active_record/connection_adapters/activesalesforce.rb",
29
+ "lib/active_record/connection_adapters/activesalesforce_adapter.rb",
30
+ "lib/active_record/connection_adapters/asf_active_record.rb",
31
+ "lib/active_record/connection_adapters/boxcar_command.rb",
32
+ "lib/active_record/connection_adapters/column_definition.rb",
33
+ "lib/active_record/connection_adapters/entity_definition.rb",
34
+ "lib/active_record/connection_adapters/id_resolver.rb",
35
+ "lib/active_record/connection_adapters/recording_binding.rb",
36
+ "lib/active_record/connection_adapters/relationship_definition.rb",
37
+ "lib/active_record/connection_adapters/result_array.rb",
38
+ "lib/active_record/connection_adapters/sid_authentication_filter.rb",
39
+ "lib/activerecord-activesalesforce-adapter.rb",
40
+ "lib/asf-soap-adapter.rb",
41
+ "lib/salesforce/account.rb",
42
+ "lib/salesforce/account_feed.rb",
43
+ "lib/salesforce/apex_log.rb",
44
+ "lib/salesforce/asset.rb",
45
+ "lib/salesforce/asset_feed.rb",
46
+ "lib/salesforce/campaign.rb",
47
+ "lib/salesforce/campaign_feed.rb",
48
+ "lib/salesforce/case.rb",
49
+ "lib/salesforce/case_feed.rb",
50
+ "lib/salesforce/case_team_member.rb",
51
+ "lib/salesforce/case_team_role.rb",
52
+ "lib/salesforce/chatter_feed.rb",
53
+ "lib/salesforce/contact.rb",
54
+ "lib/salesforce/contact_feed.rb",
55
+ "lib/salesforce/contract.rb",
56
+ "lib/salesforce/contract_feed.rb",
57
+ "lib/salesforce/entity_subscription.rb",
58
+ "lib/salesforce/feed_comment.rb",
59
+ "lib/salesforce/feed_post.rb",
60
+ "lib/salesforce/feed_tracked_change.rb",
61
+ "lib/salesforce/file_writer.rb",
62
+ "lib/salesforce/group.rb",
63
+ "lib/salesforce/group_member.rb",
64
+ "lib/salesforce/lead.rb",
65
+ "lib/salesforce/lead_feed.rb",
66
+ "lib/salesforce/news_feed.rb",
67
+ "lib/salesforce/opportunity.rb",
68
+ "lib/salesforce/opportunity_feed.rb",
69
+ "lib/salesforce/organization.rb",
70
+ "lib/salesforce/product2.rb",
71
+ "lib/salesforce/product2_feed.rb",
72
+ "lib/salesforce/sf_base.rb",
73
+ "lib/salesforce/sf_utility.rb",
74
+ "lib/salesforce/solution.rb",
75
+ "lib/salesforce/solution_feed.rb",
76
+ "lib/salesforce/solution_history.rb",
77
+ "lib/salesforce/task.rb",
78
+ "lib/salesforce/task_feed.rb",
79
+ "lib/salesforce/user.rb",
80
+ "lib/salesforce/user_feed.rb",
81
+ "lib/salesforce/user_profile_feed.rb",
82
+ "lib/salesforce/user_role.rb",
83
+ "test/asf-soap-adapter-rails-app/README",
84
+ "test/asf-soap-adapter-rails-app/Rakefile",
85
+ "test/asf-soap-adapter-rails-app/app/controllers/adapter_homes_controller.rb",
86
+ "test/asf-soap-adapter-rails-app/app/controllers/application_controller.rb",
87
+ "test/asf-soap-adapter-rails-app/app/helpers/adapter_homes_helper.rb",
88
+ "test/asf-soap-adapter-rails-app/app/helpers/application_helper.rb",
89
+ "test/asf-soap-adapter-rails-app/app/models/adapter_home.rb",
90
+ "test/asf-soap-adapter-rails-app/app/views/adapter_homes/edit.html.erb",
91
+ "test/asf-soap-adapter-rails-app/app/views/adapter_homes/index.html.erb",
92
+ "test/asf-soap-adapter-rails-app/app/views/adapter_homes/new.html.erb",
93
+ "test/asf-soap-adapter-rails-app/app/views/adapter_homes/show.html.erb",
94
+ "test/asf-soap-adapter-rails-app/app/views/layouts/adapter_homes.html.erb",
95
+ "test/asf-soap-adapter-rails-app/config/boot.rb",
96
+ "test/asf-soap-adapter-rails-app/config/database.yml",
97
+ "test/asf-soap-adapter-rails-app/config/environment.rb",
98
+ "test/asf-soap-adapter-rails-app/config/environments/development.rb",
99
+ "test/asf-soap-adapter-rails-app/config/environments/production.rb",
100
+ "test/asf-soap-adapter-rails-app/config/environments/salesforce-default-realm.rb",
101
+ "test/asf-soap-adapter-rails-app/config/environments/test.rb",
102
+ "test/asf-soap-adapter-rails-app/config/initializers/backtrace_silencers.rb",
103
+ "test/asf-soap-adapter-rails-app/config/initializers/cookie_verification_secret.rb",
104
+ "test/asf-soap-adapter-rails-app/config/initializers/inflections.rb",
105
+ "test/asf-soap-adapter-rails-app/config/initializers/mime_types.rb",
106
+ "test/asf-soap-adapter-rails-app/config/initializers/new_rails_defaults.rb",
107
+ "test/asf-soap-adapter-rails-app/config/initializers/session_store.rb",
108
+ "test/asf-soap-adapter-rails-app/config/locales/en.yml",
109
+ "test/asf-soap-adapter-rails-app/config/routes.rb",
110
+ "test/asf-soap-adapter-rails-app/db/development.sqlite3",
111
+ "test/asf-soap-adapter-rails-app/db/migrate/20101107202112_create_adapter_homes.rb",
112
+ "test/asf-soap-adapter-rails-app/db/schema.rb",
113
+ "test/asf-soap-adapter-rails-app/db/seeds.rb",
114
+ "test/asf-soap-adapter-rails-app/db/test.sqlite3",
115
+ "test/asf-soap-adapter-rails-app/log/development.log",
116
+ "test/asf-soap-adapter-rails-app/log/salesforce-default-realm.log",
117
+ "test/asf-soap-adapter-rails-app/nbproject/private/config.properties",
118
+ "test/asf-soap-adapter-rails-app/nbproject/private/private.properties",
119
+ "test/asf-soap-adapter-rails-app/nbproject/private/private.xml",
120
+ "test/asf-soap-adapter-rails-app/nbproject/private/rake-d.txt",
121
+ "test/asf-soap-adapter-rails-app/nbproject/project.properties",
122
+ "test/asf-soap-adapter-rails-app/nbproject/project.xml",
123
+ "test/asf-soap-adapter-rails-app/public/404.html",
124
+ "test/asf-soap-adapter-rails-app/public/422.html",
125
+ "test/asf-soap-adapter-rails-app/public/500.html",
126
+ "test/asf-soap-adapter-rails-app/public/favicon.ico",
127
+ "test/asf-soap-adapter-rails-app/public/images/rails.png",
128
+ "test/asf-soap-adapter-rails-app/public/javascripts/application.js",
129
+ "test/asf-soap-adapter-rails-app/public/javascripts/controls.js",
130
+ "test/asf-soap-adapter-rails-app/public/javascripts/dragdrop.js",
131
+ "test/asf-soap-adapter-rails-app/public/javascripts/effects.js",
132
+ "test/asf-soap-adapter-rails-app/public/javascripts/prototype.js",
133
+ "test/asf-soap-adapter-rails-app/public/robots.txt",
134
+ "test/asf-soap-adapter-rails-app/public/stylesheets/scaffold.css",
135
+ "test/asf-soap-adapter-rails-app/script/about",
136
+ "test/asf-soap-adapter-rails-app/script/console",
137
+ "test/asf-soap-adapter-rails-app/script/dbconsole",
138
+ "test/asf-soap-adapter-rails-app/script/destroy",
139
+ "test/asf-soap-adapter-rails-app/script/generate",
140
+ "test/asf-soap-adapter-rails-app/script/performance/benchmarker",
141
+ "test/asf-soap-adapter-rails-app/script/performance/profiler",
142
+ "test/asf-soap-adapter-rails-app/script/plugin",
143
+ "test/asf-soap-adapter-rails-app/script/runner",
144
+ "test/asf-soap-adapter-rails-app/script/server",
145
+ "test/asf-soap-adapter-rails-app/test/performance/browsing_test.rb",
146
+ "test/asf-soap-adapter-rails-app/test/test_helper.rb",
147
+ "test/asf-soap-adapter-rails-app/test/test_keys.rb",
148
+ "test/asf-soap-adapter-rails-app/test/unit/adapter_home_test.rb",
149
+ "test/asf-soap-adapter-rails-app/test/unit/helpers/adapter_homes_helper_test.rb",
150
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/account_feed_test.rb",
151
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/account_test.rb",
152
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/apex_log_test.rb",
153
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/asset_feed_test.rb",
154
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/asset_test.rb",
155
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/campaign_feed_test.rb",
156
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/campaign_test.rb",
157
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/case_feed_test.rb",
158
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/case_team_member_test.rb",
159
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/case_team_role.rb",
160
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/case_test.rb",
161
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/chatter_feed_test.rb",
162
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/contact_feed_test.rb",
163
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/contact_test.rb",
164
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/contract_feed_test.rb",
165
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/contract_test.rb",
166
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/entity_subscription_test.rb",
167
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/feed_comment_test.rb",
168
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/feed_post_test.rb",
169
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/feed_tracked_change_test.rb",
170
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/group_member_test.rb",
171
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/group_test.rb",
172
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/lead_feed_test.rb",
173
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/lead_test.rb",
174
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/news_feed_test.rb",
175
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/opportunity_feed_test.rb",
176
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/opportunity_test.rb",
177
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/organization_test.rb",
178
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/product2_feed_test.rb",
179
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/product2_test.rb",
180
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/salesforce_base_test.rb",
181
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/solution_feed_test.rb",
182
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/solution_history_test.rb",
183
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/solution_test.rb",
184
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/task_feed_test.rb",
185
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/task_test.rb",
186
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/user_feed_test.rb",
187
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/user_profile_feed_test.rb",
188
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/user_role_test.rb",
189
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/user_test.rb",
190
+ "test/basic_test.rb",
191
+ "test/config.yml",
192
+ "test/helper.rb",
193
+ "test/recorded_test_case.rb",
194
+ "test/simple_test.rb",
195
+ "test/tests_without_rail.rb"
196
+ ]
197
+ s.homepage = %q{http://github.com/raygao/asf-soap-adapter}
198
+ s.require_paths = ["lib"]
199
+ s.rubygems_version = %q{1.3.7}
200
+ s.summary = %q{ASF-Soap-Adapter is an improved version of the ActiveSalesforce (ASF) Adapter with support Chatter and general wrapper object.}
201
+ s.test_files = [
202
+ "test/asf-soap-adapter-rails-app/app/controllers/adapter_homes_controller.rb",
203
+ "test/asf-soap-adapter-rails-app/app/controllers/application_controller.rb",
204
+ "test/asf-soap-adapter-rails-app/app/helpers/adapter_homes_helper.rb",
205
+ "test/asf-soap-adapter-rails-app/app/helpers/application_helper.rb",
206
+ "test/asf-soap-adapter-rails-app/app/models/adapter_home.rb",
207
+ "test/asf-soap-adapter-rails-app/config/boot.rb",
208
+ "test/asf-soap-adapter-rails-app/config/environment.rb",
209
+ "test/asf-soap-adapter-rails-app/config/environments/development.rb",
210
+ "test/asf-soap-adapter-rails-app/config/environments/production.rb",
211
+ "test/asf-soap-adapter-rails-app/config/environments/salesforce-default-realm.rb",
212
+ "test/asf-soap-adapter-rails-app/config/environments/test.rb",
213
+ "test/asf-soap-adapter-rails-app/config/initializers/backtrace_silencers.rb",
214
+ "test/asf-soap-adapter-rails-app/config/initializers/cookie_verification_secret.rb",
215
+ "test/asf-soap-adapter-rails-app/config/initializers/inflections.rb",
216
+ "test/asf-soap-adapter-rails-app/config/initializers/mime_types.rb",
217
+ "test/asf-soap-adapter-rails-app/config/initializers/new_rails_defaults.rb",
218
+ "test/asf-soap-adapter-rails-app/config/initializers/session_store.rb",
219
+ "test/asf-soap-adapter-rails-app/config/routes.rb",
220
+ "test/asf-soap-adapter-rails-app/db/migrate/20101107202112_create_adapter_homes.rb",
221
+ "test/asf-soap-adapter-rails-app/db/schema.rb",
222
+ "test/asf-soap-adapter-rails-app/db/seeds.rb",
223
+ "test/asf-soap-adapter-rails-app/test/performance/browsing_test.rb",
224
+ "test/asf-soap-adapter-rails-app/test/test_helper.rb",
225
+ "test/asf-soap-adapter-rails-app/test/test_keys.rb",
226
+ "test/asf-soap-adapter-rails-app/test/unit/adapter_home_test.rb",
227
+ "test/asf-soap-adapter-rails-app/test/unit/helpers/adapter_homes_helper_test.rb",
228
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/account_feed_test.rb",
229
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/account_test.rb",
230
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/apex_log_test.rb",
231
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/asset_feed_test.rb",
232
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/asset_test.rb",
233
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/campaign_feed_test.rb",
234
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/campaign_test.rb",
235
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/case_feed_test.rb",
236
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/case_team_member_test.rb",
237
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/case_team_role.rb",
238
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/case_test.rb",
239
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/chatter_feed_test.rb",
240
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/contact_feed_test.rb",
241
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/contact_test.rb",
242
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/contract_feed_test.rb",
243
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/contract_test.rb",
244
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/entity_subscription_test.rb",
245
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/feed_comment_test.rb",
246
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/feed_post_test.rb",
247
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/feed_tracked_change_test.rb",
248
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/group_member_test.rb",
249
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/group_test.rb",
250
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/lead_feed_test.rb",
251
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/lead_test.rb",
252
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/news_feed_test.rb",
253
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/opportunity_feed_test.rb",
254
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/opportunity_test.rb",
255
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/organization_test.rb",
256
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/product2_feed_test.rb",
257
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/product2_test.rb",
258
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/salesforce_base_test.rb",
259
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/solution_feed_test.rb",
260
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/solution_history_test.rb",
261
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/solution_test.rb",
262
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/task_feed_test.rb",
263
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/task_test.rb",
264
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/user_feed_test.rb",
265
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/user_profile_feed_test.rb",
266
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/user_role_test.rb",
267
+ "test/asf-soap-adapter-rails-app/test/unit/salesforce/user_test.rb",
268
+ "test/basic_test.rb",
269
+ "test/helper.rb",
270
+ "test/recorded_test_case.rb",
271
+ "test/simple_test.rb",
272
+ "test/tests_without_rail.rb"
273
+ ]
274
+
275
+ if s.respond_to? :specification_version then
276
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
277
+ s.specification_version = 3
278
+
279
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
280
+ s.add_runtime_dependency(%q<rforce-raygao>, [">= 1.0"])
281
+ s.add_runtime_dependency(%q<builder>, [">= 1.2.4"])
282
+ s.add_runtime_dependency(%q<hpricot>, [">= 0.8.2"])
283
+ s.add_runtime_dependency(%q<facets>, ["= 2.8.4"])
284
+ s.add_runtime_dependency(%q<oauth>, ["= 0.4.4"])
285
+ else
286
+ s.add_dependency(%q<rforce-raygao>, [">= 1.0"])
287
+ s.add_dependency(%q<builder>, [">= 1.2.4"])
288
+ s.add_dependency(%q<hpricot>, [">= 0.8.2"])
289
+ s.add_dependency(%q<facets>, ["= 2.8.4"])
290
+ s.add_dependency(%q<oauth>, ["= 0.4.4"])
291
+ end
292
+ else
293
+ s.add_dependency(%q<rforce-raygao>, [">= 1.0"])
294
+ s.add_dependency(%q<builder>, [">= 1.2.4"])
295
+ s.add_dependency(%q<hpricot>, [">= 0.8.2"])
296
+ s.add_dependency(%q<facets>, ["= 2.8.4"])
297
+ s.add_dependency(%q<oauth>, ["= 0.4.4"])
298
+ end
299
+ end
300
+