metaforce 0.3.2 → 0.3.3
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +6 -1
- data/lib/metaforce.rb +2 -1
- data/lib/metaforce/config.rb +19 -2
- data/lib/metaforce/metadata.rb +2 -0
- data/lib/metaforce/{api/metadata.rb → metadata/client.rb} +10 -3
- data/lib/metaforce/{api → metadata}/transaction.rb +3 -3
- data/lib/metaforce/services.rb +1 -0
- data/lib/metaforce/{api/services.rb → services/client.rb} +0 -0
- data/lib/metaforce/version.rb +1 -1
- data/spec/lib/{api → metadata}/metadata_spec.rb +0 -0
- data/spec/lib/{api → metadata}/transaction_spec.rb +0 -0
- data/spec/lib/{api → services}/services_spec.rb +0 -0
- metadata +27 -26
- data/lib/metaforce/api.rb +0 -3
data/README.md
CHANGED
@@ -75,6 +75,11 @@ feature on a new branch, then send me a pull request with a detailed
|
|
75
75
|
description. Please provide applicable rspec specs.
|
76
76
|
|
77
77
|
## Version History
|
78
|
+
**0.3.3** (February 9, 2012)
|
79
|
+
|
80
|
+
* Added a logger for logging requests.
|
81
|
+
* Allow api version to be set when calling `Metaforce::Metadata::Client.describe`.
|
82
|
+
|
78
83
|
**0.3.2** (February 3, 2012)
|
79
84
|
|
80
85
|
* Improved documentation.
|
@@ -83,7 +88,7 @@ description. Please provide applicable rspec specs.
|
|
83
88
|
**0.3.1** (February 3, 2012)
|
84
89
|
|
85
90
|
* Dynamically defined helper methods for .list (e.g. `client.list_apex_classes`, `client.list_custom_objects`).
|
86
|
-
* The `describe` method now caches the results to minimize latency. `describe!`
|
91
|
+
* The `Metaforce::Metadata::Client.describe` method now caches the results to minimize latency. `describe!`
|
87
92
|
can be used to force a refresh.
|
88
93
|
|
89
94
|
**0.3.0.alpha** (January 29, 2012)
|
data/lib/metaforce.rb
CHANGED
data/lib/metaforce/config.rb
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
module Metaforce
|
2
2
|
class << self
|
3
|
+
attr_writer :log
|
4
|
+
|
3
5
|
# Returns the current Configuration
|
4
6
|
#
|
5
7
|
# Metaforce.configuration.username = "username"
|
@@ -17,6 +19,15 @@ module Metaforce
|
|
17
19
|
def configure
|
18
20
|
yield configuration
|
19
21
|
end
|
22
|
+
|
23
|
+
def log?
|
24
|
+
@log ||= false
|
25
|
+
end
|
26
|
+
|
27
|
+
def log(message)
|
28
|
+
return unless Metaforce.log?
|
29
|
+
Metaforce.configuration.logger.send :debug, message
|
30
|
+
end
|
20
31
|
end
|
21
32
|
|
22
33
|
class Configuration
|
@@ -28,13 +39,19 @@ module Metaforce
|
|
28
39
|
attr_accessor :password
|
29
40
|
# The security token to use during login.
|
30
41
|
attr_accessor :security_token
|
31
|
-
# Set this to true if you're
|
42
|
+
# Set this to true if you're authenticating with a Sandbox instance.
|
32
43
|
# Defaults to false.
|
33
44
|
attr_accessor :test
|
34
45
|
|
35
46
|
def initialize
|
47
|
+
Savon.log = false
|
48
|
+
HTTPI.log = false
|
36
49
|
@api_version = "23.0"
|
37
|
-
@test
|
50
|
+
@test = false
|
51
|
+
end
|
52
|
+
|
53
|
+
def logger
|
54
|
+
@logger ||= ::Logger.new STDOUT
|
38
55
|
end
|
39
56
|
end
|
40
57
|
end
|
@@ -81,14 +81,15 @@ module Metaforce
|
|
81
81
|
# # List the names of all metedata types
|
82
82
|
# client.describe[:metadata_objects].collect { |t| t[:xml_name] }
|
83
83
|
# #=> ["CustomLabels", "StaticResource", "Scontrol", "ApexComponent", ... ]
|
84
|
-
def describe
|
85
|
-
@describe ||= describe!
|
84
|
+
def describe(version=nil)
|
85
|
+
@describe ||= describe!(version)
|
86
86
|
end
|
87
87
|
|
88
88
|
# See +describe+
|
89
|
-
def describe!
|
89
|
+
def describe!(version=nil)
|
90
90
|
response = @client.request(:describe_metadata) do |soap|
|
91
91
|
soap.header = @header
|
92
|
+
soap.body = { :api_version => version } unless version.nil?
|
92
93
|
end
|
93
94
|
@describe = response.body[:describe_metadata_response][:result]
|
94
95
|
end
|
@@ -105,6 +106,8 @@ module Metaforce
|
|
105
106
|
request = "check_#{type.to_s}_status" unless type.nil?
|
106
107
|
ids = [ ids ] unless ids.is_a?(Array)
|
107
108
|
|
109
|
+
Metaforce.log("Polling server for status on #{ids.join(', ')}")
|
110
|
+
|
108
111
|
response = @client.request(request.to_sym) do |soap|
|
109
112
|
soap.header = @header
|
110
113
|
soap.body = {
|
@@ -148,6 +151,8 @@ module Metaforce
|
|
148
151
|
zip_contents = Base64.encode64(dir.read)
|
149
152
|
end
|
150
153
|
|
154
|
+
Metaforce.log('Executing deploy')
|
155
|
+
|
151
156
|
response = @client.request(:deploy) do |soap|
|
152
157
|
soap.header = @header
|
153
158
|
soap.body = {
|
@@ -164,6 +169,8 @@ module Metaforce
|
|
164
169
|
# for a list of _retrieve_request_ options. Options should be convereted from
|
165
170
|
# camelCase to an :underscored_symbol.
|
166
171
|
def retrieve(retrieve_request={})
|
172
|
+
Metaforce.log('Executing retrieve')
|
173
|
+
|
167
174
|
response = @client.request(:retrieve) do |soap|
|
168
175
|
soap.header = @header
|
169
176
|
soap.body = {
|
@@ -9,9 +9,9 @@ module Metaforce
|
|
9
9
|
# The type of transaction (e.g. _:deploy_, _:retrieve_)
|
10
10
|
attr_reader :type
|
11
11
|
|
12
|
-
def initialize(client, id, type)
|
13
|
-
@id = id
|
12
|
+
def initialize(client, id, type=nil)
|
14
13
|
@client = client
|
14
|
+
@id = id
|
15
15
|
@type = type
|
16
16
|
end
|
17
17
|
|
@@ -40,7 +40,7 @@ module Metaforce
|
|
40
40
|
|
41
41
|
# Returns the decoded content of the returned zip file.
|
42
42
|
def zip_file
|
43
|
-
raise "Request was not a retrieve."
|
43
|
+
raise "Request was not a retrieve." unless @type == :retrieve
|
44
44
|
Base64.decode64(@result[:zip_file])
|
45
45
|
end
|
46
46
|
|
@@ -0,0 +1 @@
|
|
1
|
+
require 'metaforce/services/client'
|
File without changes
|
data/lib/metaforce/version.rb
CHANGED
File without changes
|
File without changes
|
File without changes
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: metaforce
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-02-
|
12
|
+
date: 2012-02-10 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: nokogiri
|
16
|
-
requirement: &
|
16
|
+
requirement: &2164921800 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 1.5.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *2164921800
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: savon
|
27
|
-
requirement: &
|
27
|
+
requirement: &2164921300 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 0.9.7
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *2164921300
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rubyzip
|
38
|
-
requirement: &
|
38
|
+
requirement: &2164920840 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: 0.9.5
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *2164920840
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: rake
|
49
|
-
requirement: &
|
49
|
+
requirement: &2164920460 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *2164920460
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: rspec
|
60
|
-
requirement: &
|
60
|
+
requirement: &2164920000 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: '0'
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *2164920000
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: mocha
|
71
|
-
requirement: &
|
71
|
+
requirement: &2164919580 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ! '>='
|
@@ -76,10 +76,10 @@ dependencies:
|
|
76
76
|
version: '0'
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *2164919580
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: savon_spec
|
82
|
-
requirement: &
|
82
|
+
requirement: &2164919080 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - ~>
|
@@ -87,7 +87,7 @@ dependencies:
|
|
87
87
|
version: 0.1.6
|
88
88
|
type: :development
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *2164919080
|
91
91
|
description: A Ruby gem for interacting with the Salesforce Metadata API
|
92
92
|
email:
|
93
93
|
- eric@ejholmes.net
|
@@ -102,13 +102,14 @@ files:
|
|
102
102
|
- README.md
|
103
103
|
- Rakefile
|
104
104
|
- lib/metaforce.rb
|
105
|
-
- lib/metaforce/api.rb
|
106
|
-
- lib/metaforce/api/metadata.rb
|
107
|
-
- lib/metaforce/api/services.rb
|
108
|
-
- lib/metaforce/api/transaction.rb
|
109
105
|
- lib/metaforce/config.rb
|
110
106
|
- lib/metaforce/dsl.rb
|
111
107
|
- lib/metaforce/manifest.rb
|
108
|
+
- lib/metaforce/metadata.rb
|
109
|
+
- lib/metaforce/metadata/client.rb
|
110
|
+
- lib/metaforce/metadata/transaction.rb
|
111
|
+
- lib/metaforce/services.rb
|
112
|
+
- lib/metaforce/services/client.rb
|
112
113
|
- lib/metaforce/types.rb
|
113
114
|
- lib/metaforce/version.rb
|
114
115
|
- metaforce.gemspec
|
@@ -128,12 +129,12 @@ files:
|
|
128
129
|
- spec/fixtures/sample/src/classes/TestClass.cls
|
129
130
|
- spec/fixtures/sample/src/classes/TestClass.cls-meta.xml
|
130
131
|
- spec/fixtures/sample/src/package.xml
|
131
|
-
- spec/lib/api/metadata_spec.rb
|
132
|
-
- spec/lib/api/services_spec.rb
|
133
|
-
- spec/lib/api/transaction_spec.rb
|
134
132
|
- spec/lib/config_spec.rb
|
135
133
|
- spec/lib/dsl_spec.rb
|
136
134
|
- spec/lib/manifest_spec.rb
|
135
|
+
- spec/lib/metadata/metadata_spec.rb
|
136
|
+
- spec/lib/metadata/transaction_spec.rb
|
137
|
+
- spec/lib/services/services_spec.rb
|
137
138
|
- spec/spec_helper.rb
|
138
139
|
- wsdl/23.0/metadata.xml
|
139
140
|
- wsdl/23.0/partner.xml
|
@@ -177,11 +178,11 @@ test_files:
|
|
177
178
|
- spec/fixtures/sample/src/classes/TestClass.cls
|
178
179
|
- spec/fixtures/sample/src/classes/TestClass.cls-meta.xml
|
179
180
|
- spec/fixtures/sample/src/package.xml
|
180
|
-
- spec/lib/api/metadata_spec.rb
|
181
|
-
- spec/lib/api/services_spec.rb
|
182
|
-
- spec/lib/api/transaction_spec.rb
|
183
181
|
- spec/lib/config_spec.rb
|
184
182
|
- spec/lib/dsl_spec.rb
|
185
183
|
- spec/lib/manifest_spec.rb
|
184
|
+
- spec/lib/metadata/metadata_spec.rb
|
185
|
+
- spec/lib/metadata/transaction_spec.rb
|
186
|
+
- spec/lib/services/services_spec.rb
|
186
187
|
- spec/spec_helper.rb
|
187
188
|
has_rdoc:
|
data/lib/metaforce/api.rb
DELETED