rforce 0.7 → 0.8
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/.gemtest +0 -0
- data/Manifest.txt +1 -0
- data/README.txt +2 -2
- data/Rakefile +3 -3
- data/lib/rforce/binding.rb +24 -12
- data/lib/rforce/version.rb +1 -1
- data/spec/spec_helper.rb +3 -3
- metadata +69 -96
data/.gemtest
ADDED
File without changes
|
data/Manifest.txt
CHANGED
data/README.txt
CHANGED
@@ -18,10 +18,10 @@ Rather than enforcing adherence to the sforce.com schema, RForce assumes you are
|
|
18
18
|
=== Logging in with a user name and password
|
19
19
|
|
20
20
|
binding = RForce::Binding.new \
|
21
|
-
'https://www.salesforce.com/services/Soap/u/
|
21
|
+
'https://www.salesforce.com/services/Soap/u/20.0'
|
22
22
|
|
23
23
|
binding.login \
|
24
|
-
'email', '
|
24
|
+
'email', 'password' + 'token'
|
25
25
|
|
26
26
|
=== Logging in with OAuth
|
27
27
|
|
data/Rakefile
CHANGED
@@ -2,8 +2,6 @@
|
|
2
2
|
|
3
3
|
$:.unshift './lib'
|
4
4
|
|
5
|
-
require 'rubygems'
|
6
|
-
gem 'hoe', '~> 2.8'
|
7
5
|
require 'hoe'
|
8
6
|
require 'hoe/gemspec2'
|
9
7
|
|
@@ -15,7 +13,7 @@ Hoe.spec 'rforce' do
|
|
15
13
|
self.extra_deps << ['builder', '~> 3.0']
|
16
14
|
self.extra_deps << ['oauth', '~> 0.4']
|
17
15
|
|
18
|
-
self.extra_dev_deps << ['rspec', '~>
|
16
|
+
self.extra_dev_deps << ['rspec', '~> 2.8']
|
19
17
|
self.extra_dev_deps << ['hoe-gemspec2', '~> 1.1']
|
20
18
|
|
21
19
|
self.rdoc_locations = ['undees@rforce.rubyforge.org:/var/www/gforge-projects/rforce']
|
@@ -24,6 +22,8 @@ Hoe.spec 'rforce' do
|
|
24
22
|
self.rspec_options = ['-rubygems', '--options', 'spec/spec.opts']
|
25
23
|
end
|
26
24
|
|
25
|
+
task :test => :spec
|
26
|
+
|
27
27
|
Dir['tasks/**/*.rake'].each { |rake| load rake }
|
28
28
|
|
29
29
|
# vim: syntax=Ruby
|
data/lib/rforce/binding.rb
CHANGED
@@ -24,7 +24,7 @@ module RForce
|
|
24
24
|
<soap:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
25
25
|
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
|
26
26
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
27
|
-
xmlns:partner="urn:partner.soap.sforce.com"
|
27
|
+
xmlns:partner="urn:partner.soap.sforce.com"
|
28
28
|
xmlns:spartner="urn:sobject.partner.soap.sforce.com">
|
29
29
|
<soap:Header>
|
30
30
|
<partner:SessionHeader soap:mustUnderstand='1'>
|
@@ -49,9 +49,13 @@ module RForce
|
|
49
49
|
# Connect to the server securely. If you pass an oauth hash, it
|
50
50
|
# must contain the keys :consumer_key, :consumer_secret,
|
51
51
|
# :access_token, :access_secret, and :login_url.
|
52
|
-
|
52
|
+
#
|
53
|
+
# proxy may be a URL of the form http://user:pass@example.com:port
|
54
|
+
#
|
55
|
+
def initialize(url, sid = nil, oauth = nil, proxy = nil)
|
53
56
|
@session_id = sid
|
54
57
|
@oauth = oauth
|
58
|
+
@proxy = proxy
|
55
59
|
@batch_size = DEFAULT_BATCH_SIZE
|
56
60
|
|
57
61
|
init_server(url)
|
@@ -70,7 +74,10 @@ module RForce
|
|
70
74
|
consumer = OAuth::Consumer.new \
|
71
75
|
@oauth[:consumer_key],
|
72
76
|
@oauth[:consumer_secret],
|
73
|
-
{
|
77
|
+
{
|
78
|
+
:site => url,
|
79
|
+
:proxy => @proxy
|
80
|
+
}
|
74
81
|
|
75
82
|
consumer.http.set_debug_output $stderr if show_debug
|
76
83
|
|
@@ -83,7 +90,7 @@ module RForce
|
|
83
90
|
alias_method :post2, :post
|
84
91
|
end
|
85
92
|
else
|
86
|
-
@server = Net::HTTP.new(@url.host, @url.port)
|
93
|
+
@server = Net::HTTP.Proxy(@proxy).new(@url.host, @url.port)
|
87
94
|
@server.use_ssl = @url.scheme == 'https'
|
88
95
|
@server.verify_mode = OpenSSL::SSL::VERIFY_NONE
|
89
96
|
|
@@ -92,16 +99,21 @@ module RForce
|
|
92
99
|
end
|
93
100
|
end
|
94
101
|
|
102
|
+
# Connect to remote server
|
103
|
+
#
|
104
|
+
def connect(user, password)
|
105
|
+
@user = user
|
106
|
+
@password = password
|
107
|
+
|
108
|
+
call_remote(:login, [:username, user, :password, password])
|
109
|
+
end
|
95
110
|
|
96
111
|
# Log in to the server with a user name and password, remembering
|
97
112
|
# the session ID returned to us by Salesforce.
|
98
113
|
def login(user, password)
|
99
|
-
|
100
|
-
@password = password
|
101
|
-
|
102
|
-
response = call_remote(:login, [:username, user, :password, password])
|
114
|
+
response = connect(user, password)
|
103
115
|
|
104
|
-
raise "Incorrect user name / password [#{response.
|
116
|
+
raise "Incorrect user name / password [#{response.Fault}]" unless response.loginResponse
|
105
117
|
|
106
118
|
result = response[:loginResponse][:result]
|
107
119
|
@session_id = result[:sessionId]
|
@@ -248,11 +260,11 @@ module RForce
|
|
248
260
|
|
249
261
|
# Turns method calls on this object into remote SOAP calls.
|
250
262
|
def method_missing(method, *args)
|
251
|
-
unless args.size == 1 && [Hash, Array].include?(args[0].class)
|
252
|
-
raise 'Expected 1 Hash or Array argument'
|
263
|
+
unless args.empty? || (args.size == 1 && [Hash, Array].include?(args[0].class))
|
264
|
+
raise 'Expected at most 1 Hash or Array argument'
|
253
265
|
end
|
254
266
|
|
255
|
-
call_remote method, args[0]
|
267
|
+
call_remote method, args[0] || []
|
256
268
|
end
|
257
269
|
end
|
258
270
|
end
|
data/lib/rforce/version.rb
CHANGED
data/spec/spec_helper.rb
CHANGED
@@ -18,12 +18,12 @@ module RForceXmlMatchers
|
|
18
18
|
|
19
19
|
@expected.each_with_index do |exp_rec, index|
|
20
20
|
act_rec = @actual[index]
|
21
|
-
|
21
|
+
|
22
22
|
# Only bother to look at the first <Id>
|
23
23
|
# tag in a (presumably) duplicated set.
|
24
24
|
act_id = first_id(act_rec[:Id])
|
25
25
|
exp_id = first_id(exp_rec[:Id])
|
26
|
-
|
26
|
+
|
27
27
|
return false if different '<Id>', act_id, exp_id
|
28
28
|
return false if different 'keys', act_rec.keys, exp_rec.keys
|
29
29
|
|
@@ -61,6 +61,6 @@ module RForceXmlMatchers
|
|
61
61
|
end
|
62
62
|
end
|
63
63
|
|
64
|
-
|
64
|
+
RSpec.configure do |config|
|
65
65
|
config.include(RForceXmlMatchers)
|
66
66
|
end
|
metadata
CHANGED
@@ -1,110 +1,93 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: rforce
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: '0.8'
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 7
|
9
|
-
version: "0.7"
|
10
6
|
platform: ruby
|
11
|
-
authors:
|
7
|
+
authors:
|
12
8
|
- Ian Dees
|
13
9
|
autorequire:
|
14
10
|
bindir: bin
|
15
11
|
cert_chain: []
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
dependencies:
|
20
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2012-01-29 00:00:00.000000000Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
21
15
|
name: builder
|
22
|
-
|
23
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
16
|
+
requirement: &70294392794600 !ruby/object:Gem::Requirement
|
24
17
|
none: false
|
25
|
-
requirements:
|
18
|
+
requirements:
|
26
19
|
- - ~>
|
27
|
-
- !ruby/object:Gem::Version
|
28
|
-
|
29
|
-
segments:
|
30
|
-
- 3
|
31
|
-
- 0
|
32
|
-
version: "3.0"
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '3.0'
|
33
22
|
type: :runtime
|
34
|
-
version_requirements: *id001
|
35
|
-
- !ruby/object:Gem::Dependency
|
36
|
-
name: oauth
|
37
23
|
prerelease: false
|
38
|
-
|
24
|
+
version_requirements: *70294392794600
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: oauth
|
27
|
+
requirement: &70294392793960 !ruby/object:Gem::Requirement
|
39
28
|
none: false
|
40
|
-
requirements:
|
29
|
+
requirements:
|
41
30
|
- - ~>
|
42
|
-
- !ruby/object:Gem::Version
|
43
|
-
|
44
|
-
segments:
|
45
|
-
- 0
|
46
|
-
- 4
|
47
|
-
version: "0.4"
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '0.4'
|
48
33
|
type: :runtime
|
49
|
-
version_requirements: *id002
|
50
|
-
- !ruby/object:Gem::Dependency
|
51
|
-
name: rspec
|
52
34
|
prerelease: false
|
53
|
-
|
35
|
+
version_requirements: *70294392793960
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: rspec
|
38
|
+
requirement: &70294392793160 !ruby/object:Gem::Requirement
|
54
39
|
none: false
|
55
|
-
requirements:
|
40
|
+
requirements:
|
56
41
|
- - ~>
|
57
|
-
- !ruby/object:Gem::Version
|
58
|
-
|
59
|
-
segments:
|
60
|
-
- 1
|
61
|
-
- 3
|
62
|
-
version: "1.3"
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '2.8'
|
63
44
|
type: :development
|
64
|
-
|
65
|
-
|
45
|
+
prerelease: false
|
46
|
+
version_requirements: *70294392793160
|
47
|
+
- !ruby/object:Gem::Dependency
|
66
48
|
name: hoe-gemspec2
|
49
|
+
requirement: &70294392792460 !ruby/object:Gem::Requirement
|
50
|
+
none: false
|
51
|
+
requirements:
|
52
|
+
- - ~>
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '1.1'
|
55
|
+
type: :development
|
67
56
|
prerelease: false
|
68
|
-
|
57
|
+
version_requirements: *70294392792460
|
58
|
+
- !ruby/object:Gem::Dependency
|
59
|
+
name: rdoc
|
60
|
+
requirement: &70294392791540 !ruby/object:Gem::Requirement
|
69
61
|
none: false
|
70
|
-
requirements:
|
62
|
+
requirements:
|
71
63
|
- - ~>
|
72
|
-
- !ruby/object:Gem::Version
|
73
|
-
|
74
|
-
segments:
|
75
|
-
- 1
|
76
|
-
- 1
|
77
|
-
version: "1.1"
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: '3.10'
|
78
66
|
type: :development
|
79
|
-
version_requirements: *id004
|
80
|
-
- !ruby/object:Gem::Dependency
|
81
|
-
name: hoe
|
82
67
|
prerelease: false
|
83
|
-
|
68
|
+
version_requirements: *70294392791540
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: hoe
|
71
|
+
requirement: &70294392790720 !ruby/object:Gem::Requirement
|
84
72
|
none: false
|
85
|
-
requirements:
|
86
|
-
- -
|
87
|
-
- !ruby/object:Gem::Version
|
88
|
-
|
89
|
-
segments:
|
90
|
-
- 2
|
91
|
-
- 8
|
92
|
-
- 0
|
93
|
-
version: 2.8.0
|
73
|
+
requirements:
|
74
|
+
- - ~>
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: '2.13'
|
94
77
|
type: :development
|
95
|
-
|
78
|
+
prerelease: false
|
79
|
+
version_requirements: *70294392790720
|
96
80
|
description: RForce is a simple, usable binding to the Salesforce API.
|
97
|
-
email:
|
81
|
+
email:
|
98
82
|
- undees@gmail.com
|
99
83
|
executables: []
|
100
|
-
|
101
84
|
extensions: []
|
102
|
-
|
103
|
-
extra_rdoc_files:
|
85
|
+
extra_rdoc_files:
|
104
86
|
- History.txt
|
105
87
|
- Manifest.txt
|
106
88
|
- README.txt
|
107
|
-
files:
|
89
|
+
files:
|
90
|
+
- .gemtest
|
108
91
|
- History.txt
|
109
92
|
- Manifest.txt
|
110
93
|
- README.txt
|
@@ -124,40 +107,30 @@ files:
|
|
124
107
|
- spec/spec.opts
|
125
108
|
- spec/spec_helper.rb
|
126
109
|
- tasks/timing.rake
|
127
|
-
has_rdoc: true
|
128
110
|
homepage: http://rforce.rubyforge.org
|
129
111
|
licenses: []
|
130
|
-
|
131
112
|
post_install_message:
|
132
|
-
rdoc_options:
|
113
|
+
rdoc_options:
|
133
114
|
- --main
|
134
115
|
- README.txt
|
135
|
-
require_paths:
|
116
|
+
require_paths:
|
136
117
|
- lib
|
137
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
118
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
138
119
|
none: false
|
139
|
-
requirements:
|
140
|
-
- -
|
141
|
-
- !ruby/object:Gem::Version
|
142
|
-
|
143
|
-
|
144
|
-
- 0
|
145
|
-
version: "0"
|
146
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
120
|
+
requirements:
|
121
|
+
- - ! '>='
|
122
|
+
- !ruby/object:Gem::Version
|
123
|
+
version: '0'
|
124
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
147
125
|
none: false
|
148
|
-
requirements:
|
149
|
-
- -
|
150
|
-
- !ruby/object:Gem::Version
|
151
|
-
|
152
|
-
segments:
|
153
|
-
- 0
|
154
|
-
version: "0"
|
126
|
+
requirements:
|
127
|
+
- - ! '>='
|
128
|
+
- !ruby/object:Gem::Version
|
129
|
+
version: '0'
|
155
130
|
requirements: []
|
156
|
-
|
157
131
|
rubyforge_project: rforce
|
158
|
-
rubygems_version: 1.
|
132
|
+
rubygems_version: 1.8.10
|
159
133
|
signing_key:
|
160
134
|
specification_version: 3
|
161
135
|
summary: RForce is a simple, usable binding to the Salesforce API.
|
162
136
|
test_files: []
|
163
|
-
|