right_develop 2.2.0 → 2.2.1
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/VERSION +1 -1
- data/bin/right_develop +1 -1
- data/lib/right_develop/testing/recording/config.rb +1 -1
- data/lib/right_develop/testing/recording/metadata.rb +4 -3
- data/lib/right_develop/testing/servers/might_api/app/base.rb +12 -2
- data/lib/right_develop/testing/servers/might_api/app/echo.rb +37 -9
- data/lib/right_develop/testing/servers/might_api/lib/config.rb +1 -1
- data/right_develop.gemspec +2 -2
- metadata +188 -199
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.2.
|
1
|
+
2.2.1
|
data/bin/right_develop
CHANGED
@@ -20,7 +20,7 @@ end
|
|
20
20
|
# just yet.
|
21
21
|
command_list = commands.keys.map { |c| " * #{c}" }.join("\n")
|
22
22
|
p = Trollop::Parser.new do
|
23
|
-
version "right_develop #{gemspec.version} (c) 2013- RightScale, Inc."
|
23
|
+
version "right_develop #{gemspec.version} (c) 2013-2014 RightScale, Inc."
|
24
24
|
banner <<-EOS
|
25
25
|
A command-line interface to various tools offered by the right_develop gem.
|
26
26
|
|
@@ -61,7 +61,7 @@ module RightDevelop::Testing::Recording
|
|
61
61
|
FIXTURE_FILE_NAME_REGEX = /^([0-9A-Fa-f]{32}).yml$/
|
62
62
|
|
63
63
|
# typename to value expression for significant/requests/responses configurations.
|
64
|
-
TYPE_NAME_VALUE_REGEX = /^(body|header|query|verb)(
|
64
|
+
TYPE_NAME_VALUE_REGEX = /^(body|header|query|verb)(?:[:#]([^=]+))?=(.*)$/
|
65
65
|
|
66
66
|
# exceptions.
|
67
67
|
class ConfigError < StandardError; end
|
@@ -37,7 +37,7 @@ module RightDevelop::Testing::Recording
|
|
37
37
|
VERBS = %w(DELETE GET HEAD PATCH POST PUT).freeze
|
38
38
|
|
39
39
|
# valid modes, determines how variables are substituted, etc.
|
40
|
-
MODES = %w(echo record playback)
|
40
|
+
MODES = %w(echo record playback validate)
|
41
41
|
|
42
42
|
# valid kinds, also keys under matchers.
|
43
43
|
KINDS = %w(request response)
|
@@ -87,6 +87,7 @@ module RightDevelop::Testing::Recording
|
|
87
87
|
|
88
88
|
attr_reader :uri, :verb, :http_status, :headers, :body
|
89
89
|
attr_reader :mode, :logger, :effective_route_config, :variables
|
90
|
+
attr_reader :typenames_to_values
|
90
91
|
|
91
92
|
# Computes the metadata used to identify where the request/response should
|
92
93
|
# be stored-to/retrieved-from. Recording the full request is not strictly
|
@@ -141,7 +142,7 @@ module RightDevelop::Testing::Recording
|
|
141
142
|
# apply the configuration by substituting for variables in the request and
|
142
143
|
# by obfuscating wherever a variable name is nil.
|
143
144
|
case @mode
|
144
|
-
when '
|
145
|
+
when 'validate'
|
145
146
|
# do nothing; used to validate the fixtures before playback, etc.
|
146
147
|
else
|
147
148
|
erck = @effective_route_config[@kind]
|
@@ -750,7 +751,7 @@ module RightDevelop::Testing::Recording
|
|
750
751
|
|
751
752
|
# use deep-sorted JSON to prevent random ordering changing the checksum.
|
752
753
|
checksum_data = self.class.deep_sorted_json(significant_data)
|
753
|
-
if logger.debug? && @mode != '
|
754
|
+
if logger.debug? && @mode != 'validate'
|
754
755
|
logger.debug("#{@kind} checksum_data = #{checksum_data.inspect}")
|
755
756
|
end
|
756
757
|
::Digest::MD5.hexdigest(checksum_data)
|
@@ -175,7 +175,7 @@ module RightDevelop::Testing::Server::MightApi
|
|
175
175
|
|
176
176
|
# eliminate headers that interfere with response via proxy.
|
177
177
|
%w(
|
178
|
-
|
178
|
+
status content-encoding
|
179
179
|
).each { |key| response_headers.delete(key) }
|
180
180
|
|
181
181
|
case response_code = Integer(rest_response.code)
|
@@ -293,10 +293,20 @@ module RightDevelop::Testing::Server::MightApi
|
|
293
293
|
#
|
294
294
|
# @return [Hash] normalized headers
|
295
295
|
def normalize_rack_response_headers(headers)
|
296
|
-
headers.inject({}) do |h, (k, v)|
|
296
|
+
result = headers.inject({}) do |h, (k, v)|
|
297
297
|
h[k.to_s.gsub('_', '-').downcase] = v.join("\n")
|
298
298
|
h
|
299
299
|
end
|
300
|
+
|
301
|
+
# a proxy server must always instruct the client close the connection by
|
302
|
+
# specification because a live socket cannot be proxied from client to
|
303
|
+
# the real server. this also works around a lame warning in ruby 1.9.3
|
304
|
+
# webbrick code (fixed in 2.1.0+) saying:
|
305
|
+
# Could not determine content-length of response body.
|
306
|
+
# Set content-length of the response or set Response#chunked = true
|
307
|
+
# in the case of 204 empty response, which is incorrect.
|
308
|
+
result['connection'] = 'close'
|
309
|
+
result
|
300
310
|
end
|
301
311
|
|
302
312
|
# @return [Array] rack-style response for 500
|
@@ -39,19 +39,51 @@ module RightDevelop::Testing::Server::MightApi::App
|
|
39
39
|
# @see RightDevelop::Testing::Server::MightApi::App::Base#handle_request
|
40
40
|
def handle_request(env, verb, uri, headers, body)
|
41
41
|
|
42
|
-
#
|
42
|
+
# echo request back as response.
|
43
43
|
response = ::Rack::Response.new
|
44
|
+
response.write "verb = #{verb.inspect}\n\n"
|
45
|
+
response.write "uri = #{uri}\n\n"
|
46
|
+
response.write "headers = #{METADATA_CLASS.deep_sorted_json(headers, true)}\n\n"
|
47
|
+
response.write "body = #{body.inspect}\n\n"
|
48
|
+
|
49
|
+
# check routes.
|
44
50
|
if route = find_route(uri)
|
45
|
-
|
51
|
+
route_path, route_data = route
|
52
|
+
response.write "URL matched #{route_data[:name].inspect}\n\n"
|
53
|
+
|
54
|
+
# compute effective metadata for request.
|
55
|
+
begin
|
56
|
+
proxied_url = ::File.join(route_data[:url], uri.path)
|
57
|
+
unless uri.query.to_s.empty?
|
58
|
+
proxied_url << '?' << uri.query
|
59
|
+
end
|
60
|
+
request_metadata = METADATA_CLASS.new(
|
61
|
+
mode: :echo,
|
62
|
+
kind: :request,
|
63
|
+
logger: logger,
|
64
|
+
route_data: route_data,
|
65
|
+
uri: METADATA_CLASS.normalize_uri(proxied_url),
|
66
|
+
verb: verb,
|
67
|
+
headers: headers,
|
68
|
+
body: body,
|
69
|
+
variables: {})
|
70
|
+
|
71
|
+
# echo any interesting metadata.
|
72
|
+
response.write "substituted request variables = #{METADATA_CLASS.deep_sorted_json(request_metadata.variables, true)}\n\n"
|
73
|
+
response.write "effective route configuration = #{METADATA_CLASS.deep_sorted_json(request_metadata.effective_route_config, true)}\n\n"
|
74
|
+
response.write "request checksum = #{request_metadata.checksum}\n\n"
|
75
|
+
rescue Exception => e
|
76
|
+
response.write "Failure to compute request metadata:\n#{e.class}: #{e.message}\n#{(e.backtrace || []).join("\n")}\n\n"
|
77
|
+
end
|
46
78
|
else
|
47
|
-
response.write "Failed to match any route. The following routes are valid:\n"
|
79
|
+
response.write "Failed to match any route. The following routes are valid:\n\n"
|
48
80
|
config.routes.keys.each do |prefix|
|
49
81
|
response.write "Prefix = #{prefix.inspect}\n\n"
|
50
82
|
end
|
51
83
|
end
|
52
84
|
|
53
|
-
#
|
54
|
-
response.write "
|
85
|
+
# process details.
|
86
|
+
response.write "ruby %sp%s\n\n" % [RUBY_VERSION, RUBY_PATCHLEVEL]
|
55
87
|
response.write "Raw configuration = #{::JSON.pretty_generate(config.to_hash)}\n\n" # hash order is significant in config
|
56
88
|
config.routes.each do |route_path, route_config|
|
57
89
|
response.write "=== Compiled route matchers begin for root = #{route_path.inspect}:\nmatchers = {\n"
|
@@ -62,10 +94,6 @@ module RightDevelop::Testing::Server::MightApi::App
|
|
62
94
|
end
|
63
95
|
response.write "env = #{METADATA_CLASS.deep_sorted_json(env, true)}\n\n"
|
64
96
|
response.write "ENV = #{METADATA_CLASS.deep_sorted_json(::ENV, true)}\n\n"
|
65
|
-
response.write "verb = #{verb.inspect}\n\n"
|
66
|
-
response.write "uri = #{uri}\n\n"
|
67
|
-
response.write "headers = #{METADATA_CLASS.deep_sorted_json(headers, true)}\n\n"
|
68
|
-
response.write "body = #{body.inspect}\n\n"
|
69
97
|
response.finish
|
70
98
|
end
|
71
99
|
|
@@ -154,7 +154,7 @@ module RightDevelop::Testing::Server::MightApi
|
|
154
154
|
|
155
155
|
# compute checksum from recorded request metadata.
|
156
156
|
request_metadata = METADATA_CLASS.new(
|
157
|
-
mode: :
|
157
|
+
mode: :validate,
|
158
158
|
kind: :request,
|
159
159
|
logger: logger,
|
160
160
|
route_data: route_data,
|
data/right_develop.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{right_develop}
|
8
|
-
s.version = "2.2.
|
8
|
+
s.version = "2.2.1"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Tony Spataro"]
|
12
|
-
s.date = %q{2014-
|
12
|
+
s.date = %q{2014-05-13}
|
13
13
|
s.default_executable = %q{right_develop}
|
14
14
|
s.description = %q{A toolkit of development tools created by RightScale.}
|
15
15
|
s.email = %q{support@rightscale.com}
|
metadata
CHANGED
@@ -1,245 +1,241 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: right_develop
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
6
|
-
segments:
|
7
|
-
- 2
|
8
|
-
- 2
|
9
|
-
- 0
|
10
|
-
version: 2.2.0
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 2.2.1
|
5
|
+
prerelease:
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Tony Spataro
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
12
|
+
date: 2014-05-15 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: rake
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
23
17
|
none: false
|
24
|
-
requirements:
|
25
|
-
- - ">="
|
26
|
-
- !ruby/object:Gem::Version
|
27
|
-
hash: 49
|
28
|
-
segments:
|
29
|
-
- 0
|
30
|
-
- 8
|
31
|
-
- 7
|
32
|
-
version: 0.8.7
|
18
|
+
requirements:
|
33
19
|
- - <
|
34
|
-
- !ruby/object:Gem::Version
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
version: "0.10"
|
40
|
-
name: rake
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0.10'
|
22
|
+
- - ! '>='
|
23
|
+
- !ruby/object:Gem::Version
|
24
|
+
version: 0.8.7
|
41
25
|
type: :runtime
|
42
26
|
prerelease: false
|
43
|
-
version_requirements:
|
44
|
-
- !ruby/object:Gem::Dependency
|
45
|
-
requirement: &id002 !ruby/object:Gem::Requirement
|
27
|
+
version_requirements: !ruby/object:Gem::Requirement
|
46
28
|
none: false
|
47
|
-
requirements:
|
48
|
-
- -
|
49
|
-
- !ruby/object:Gem::Version
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
29
|
+
requirements:
|
30
|
+
- - <
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '0.10'
|
33
|
+
- - ! '>='
|
34
|
+
- !ruby/object:Gem::Version
|
35
|
+
version: 0.8.7
|
36
|
+
- !ruby/object:Gem::Dependency
|
55
37
|
name: right_support
|
38
|
+
requirement: !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
40
|
+
requirements:
|
41
|
+
- - ~>
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '2.0'
|
56
44
|
type: :runtime
|
57
45
|
prerelease: false
|
58
|
-
version_requirements:
|
59
|
-
- !ruby/object:Gem::Dependency
|
60
|
-
requirement: &id003 !ruby/object:Gem::Requirement
|
46
|
+
version_requirements: !ruby/object:Gem::Requirement
|
61
47
|
none: false
|
62
|
-
requirements:
|
48
|
+
requirements:
|
63
49
|
- - ~>
|
64
|
-
- !ruby/object:Gem::Version
|
65
|
-
|
66
|
-
|
67
|
-
- 3
|
68
|
-
- 0
|
69
|
-
version: "3.0"
|
50
|
+
- !ruby/object:Gem::Version
|
51
|
+
version: '2.0'
|
52
|
+
- !ruby/object:Gem::Dependency
|
70
53
|
name: builder
|
54
|
+
requirement: !ruby/object:Gem::Requirement
|
55
|
+
none: false
|
56
|
+
requirements:
|
57
|
+
- - ~>
|
58
|
+
- !ruby/object:Gem::Version
|
59
|
+
version: '3.0'
|
71
60
|
type: :runtime
|
72
61
|
prerelease: false
|
73
|
-
version_requirements:
|
74
|
-
- !ruby/object:Gem::Dependency
|
75
|
-
requirement: &id004 !ruby/object:Gem::Requirement
|
62
|
+
version_requirements: !ruby/object:Gem::Requirement
|
76
63
|
none: false
|
77
|
-
requirements:
|
78
|
-
- -
|
79
|
-
- !ruby/object:Gem::Version
|
80
|
-
|
81
|
-
|
82
|
-
- 1
|
83
|
-
- 3
|
84
|
-
version: "1.3"
|
85
|
-
- - <
|
86
|
-
- !ruby/object:Gem::Version
|
87
|
-
hash: 7
|
88
|
-
segments:
|
89
|
-
- 3
|
90
|
-
- 0
|
91
|
-
version: "3.0"
|
64
|
+
requirements:
|
65
|
+
- - ~>
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: '3.0'
|
68
|
+
- !ruby/object:Gem::Dependency
|
92
69
|
name: rspec
|
70
|
+
requirement: !ruby/object:Gem::Requirement
|
71
|
+
none: false
|
72
|
+
requirements:
|
73
|
+
- - <
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '3.0'
|
76
|
+
- - ! '>='
|
77
|
+
- !ruby/object:Gem::Version
|
78
|
+
version: '1.3'
|
93
79
|
type: :runtime
|
94
80
|
prerelease: false
|
95
|
-
version_requirements:
|
96
|
-
- !ruby/object:Gem::Dependency
|
97
|
-
requirement: &id005 !ruby/object:Gem::Requirement
|
81
|
+
version_requirements: !ruby/object:Gem::Requirement
|
98
82
|
none: false
|
99
|
-
requirements:
|
100
|
-
- - ~>
|
101
|
-
- !ruby/object:Gem::Version
|
102
|
-
hash: 15
|
103
|
-
segments:
|
104
|
-
- 1
|
105
|
-
- 0
|
106
|
-
version: "1.0"
|
83
|
+
requirements:
|
107
84
|
- - <
|
108
|
-
- !ruby/object:Gem::Version
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
version: 1.3.3
|
85
|
+
- !ruby/object:Gem::Version
|
86
|
+
version: '3.0'
|
87
|
+
- - ! '>='
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '1.3'
|
90
|
+
- !ruby/object:Gem::Dependency
|
115
91
|
name: cucumber
|
92
|
+
requirement: !ruby/object:Gem::Requirement
|
93
|
+
none: false
|
94
|
+
requirements:
|
95
|
+
- - <
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
version: 1.3.3
|
98
|
+
- - ~>
|
99
|
+
- !ruby/object:Gem::Version
|
100
|
+
version: '1.0'
|
116
101
|
type: :runtime
|
117
102
|
prerelease: false
|
118
|
-
version_requirements:
|
119
|
-
- !ruby/object:Gem::Dependency
|
120
|
-
requirement: &id006 !ruby/object:Gem::Requirement
|
103
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
104
|
none: false
|
122
|
-
requirements:
|
123
|
-
- - ">="
|
124
|
-
- !ruby/object:Gem::Version
|
125
|
-
hash: 15
|
126
|
-
segments:
|
127
|
-
- 1
|
128
|
-
- 0
|
129
|
-
version: "1.0"
|
105
|
+
requirements:
|
130
106
|
- - <
|
131
|
-
- !ruby/object:Gem::Version
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
107
|
+
- !ruby/object:Gem::Version
|
108
|
+
version: 1.3.3
|
109
|
+
- - ~>
|
110
|
+
- !ruby/object:Gem::Version
|
111
|
+
version: '1.0'
|
112
|
+
- !ruby/object:Gem::Dependency
|
137
113
|
name: trollop
|
114
|
+
requirement: !ruby/object:Gem::Requirement
|
115
|
+
none: false
|
116
|
+
requirements:
|
117
|
+
- - <
|
118
|
+
- !ruby/object:Gem::Version
|
119
|
+
version: '3.0'
|
120
|
+
- - ! '>='
|
121
|
+
- !ruby/object:Gem::Version
|
122
|
+
version: '1.0'
|
138
123
|
type: :runtime
|
139
124
|
prerelease: false
|
140
|
-
version_requirements:
|
141
|
-
|
142
|
-
|
125
|
+
version_requirements: !ruby/object:Gem::Requirement
|
126
|
+
none: false
|
127
|
+
requirements:
|
128
|
+
- - <
|
129
|
+
- !ruby/object:Gem::Version
|
130
|
+
version: '3.0'
|
131
|
+
- - ! '>='
|
132
|
+
- !ruby/object:Gem::Version
|
133
|
+
version: '1.0'
|
134
|
+
- !ruby/object:Gem::Dependency
|
135
|
+
name: right_git
|
136
|
+
requirement: !ruby/object:Gem::Requirement
|
143
137
|
none: false
|
144
|
-
requirements:
|
138
|
+
requirements:
|
145
139
|
- - ~>
|
146
|
-
- !ruby/object:Gem::Version
|
147
|
-
hash: 27
|
148
|
-
segments:
|
149
|
-
- 0
|
150
|
-
- 1
|
151
|
-
- 0
|
140
|
+
- !ruby/object:Gem::Version
|
152
141
|
version: 0.1.0
|
153
|
-
name: right_git
|
154
142
|
type: :runtime
|
155
143
|
prerelease: false
|
156
|
-
version_requirements:
|
157
|
-
- !ruby/object:Gem::Dependency
|
158
|
-
requirement: &id008 !ruby/object:Gem::Requirement
|
144
|
+
version_requirements: !ruby/object:Gem::Requirement
|
159
145
|
none: false
|
160
|
-
requirements:
|
161
|
-
- -
|
162
|
-
- !ruby/object:Gem::Version
|
163
|
-
|
164
|
-
|
165
|
-
- 2
|
166
|
-
- 1
|
167
|
-
- 0
|
168
|
-
version: 2.1.0
|
146
|
+
requirements:
|
147
|
+
- - ~>
|
148
|
+
- !ruby/object:Gem::Version
|
149
|
+
version: 0.1.0
|
150
|
+
- !ruby/object:Gem::Dependency
|
169
151
|
name: right_aws
|
152
|
+
requirement: !ruby/object:Gem::Requirement
|
153
|
+
none: false
|
154
|
+
requirements:
|
155
|
+
- - ! '>='
|
156
|
+
- !ruby/object:Gem::Version
|
157
|
+
version: 2.1.0
|
170
158
|
type: :runtime
|
171
159
|
prerelease: false
|
172
|
-
version_requirements:
|
173
|
-
- !ruby/object:Gem::Dependency
|
174
|
-
requirement: &id009 !ruby/object:Gem::Requirement
|
160
|
+
version_requirements: !ruby/object:Gem::Requirement
|
175
161
|
none: false
|
176
|
-
requirements:
|
177
|
-
- -
|
178
|
-
- !ruby/object:Gem::Version
|
179
|
-
|
180
|
-
|
181
|
-
- 0
|
182
|
-
version: "0"
|
162
|
+
requirements:
|
163
|
+
- - ! '>='
|
164
|
+
- !ruby/object:Gem::Version
|
165
|
+
version: 2.1.0
|
166
|
+
- !ruby/object:Gem::Dependency
|
183
167
|
name: extlib
|
168
|
+
requirement: !ruby/object:Gem::Requirement
|
169
|
+
none: false
|
170
|
+
requirements:
|
171
|
+
- - ! '>='
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '0'
|
184
174
|
type: :runtime
|
185
175
|
prerelease: false
|
186
|
-
version_requirements:
|
187
|
-
- !ruby/object:Gem::Dependency
|
188
|
-
requirement: &id010 !ruby/object:Gem::Requirement
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
189
177
|
none: false
|
190
|
-
requirements:
|
191
|
-
- -
|
192
|
-
- !ruby/object:Gem::Version
|
193
|
-
|
194
|
-
|
195
|
-
- 0
|
196
|
-
version: "0"
|
178
|
+
requirements:
|
179
|
+
- - ! '>='
|
180
|
+
- !ruby/object:Gem::Version
|
181
|
+
version: '0'
|
182
|
+
- !ruby/object:Gem::Dependency
|
197
183
|
name: rack
|
184
|
+
requirement: !ruby/object:Gem::Requirement
|
185
|
+
none: false
|
186
|
+
requirements:
|
187
|
+
- - ! '>='
|
188
|
+
- !ruby/object:Gem::Version
|
189
|
+
version: '0'
|
198
190
|
type: :runtime
|
199
191
|
prerelease: false
|
200
|
-
version_requirements:
|
201
|
-
|
202
|
-
|
192
|
+
version_requirements: !ruby/object:Gem::Requirement
|
193
|
+
none: false
|
194
|
+
requirements:
|
195
|
+
- - ! '>='
|
196
|
+
- !ruby/object:Gem::Version
|
197
|
+
version: '0'
|
198
|
+
- !ruby/object:Gem::Dependency
|
199
|
+
name: jeweler
|
200
|
+
requirement: !ruby/object:Gem::Requirement
|
203
201
|
none: false
|
204
|
-
requirements:
|
202
|
+
requirements:
|
205
203
|
- - ~>
|
206
|
-
- !ruby/object:Gem::Version
|
207
|
-
hash: 49
|
208
|
-
segments:
|
209
|
-
- 1
|
210
|
-
- 8
|
211
|
-
- 3
|
204
|
+
- !ruby/object:Gem::Version
|
212
205
|
version: 1.8.3
|
213
|
-
name: jeweler
|
214
206
|
type: :development
|
215
207
|
prerelease: false
|
216
|
-
version_requirements:
|
217
|
-
- !ruby/object:Gem::Dependency
|
218
|
-
requirement: &id012 !ruby/object:Gem::Requirement
|
208
|
+
version_requirements: !ruby/object:Gem::Requirement
|
219
209
|
none: false
|
220
|
-
requirements:
|
221
|
-
- -
|
222
|
-
- !ruby/object:Gem::Version
|
223
|
-
|
224
|
-
|
225
|
-
- 2
|
226
|
-
- 4
|
227
|
-
- 2
|
228
|
-
version: 2.4.2
|
210
|
+
requirements:
|
211
|
+
- - ~>
|
212
|
+
- !ruby/object:Gem::Version
|
213
|
+
version: 1.8.3
|
214
|
+
- !ruby/object:Gem::Dependency
|
229
215
|
name: rdoc
|
216
|
+
requirement: !ruby/object:Gem::Requirement
|
217
|
+
none: false
|
218
|
+
requirements:
|
219
|
+
- - ! '>='
|
220
|
+
- !ruby/object:Gem::Version
|
221
|
+
version: 2.4.2
|
230
222
|
type: :development
|
231
223
|
prerelease: false
|
232
|
-
version_requirements:
|
224
|
+
version_requirements: !ruby/object:Gem::Requirement
|
225
|
+
none: false
|
226
|
+
requirements:
|
227
|
+
- - ! '>='
|
228
|
+
- !ruby/object:Gem::Version
|
229
|
+
version: 2.4.2
|
233
230
|
description: A toolkit of development tools created by RightScale.
|
234
231
|
email: support@rightscale.com
|
235
|
-
executables:
|
232
|
+
executables:
|
236
233
|
- right_develop
|
237
234
|
extensions: []
|
238
|
-
|
239
|
-
extra_rdoc_files:
|
235
|
+
extra_rdoc_files:
|
240
236
|
- LICENSE
|
241
237
|
- README.rdoc
|
242
|
-
files:
|
238
|
+
files:
|
243
239
|
- CHANGELOG.rdoc
|
244
240
|
- LICENSE
|
245
241
|
- README.rdoc
|
@@ -291,39 +287,32 @@ files:
|
|
291
287
|
- lib/right_develop/utility/versioning.rb
|
292
288
|
- right_develop.gemspec
|
293
289
|
- right_develop.rconf
|
294
|
-
has_rdoc: true
|
295
290
|
homepage: https://github.com/rightscale/right_develop
|
296
|
-
licenses:
|
291
|
+
licenses:
|
297
292
|
- MIT
|
298
293
|
post_install_message:
|
299
294
|
rdoc_options: []
|
300
|
-
|
301
|
-
require_paths:
|
295
|
+
require_paths:
|
302
296
|
- lib
|
303
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
297
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
304
298
|
none: false
|
305
|
-
requirements:
|
306
|
-
- -
|
307
|
-
- !ruby/object:Gem::Version
|
308
|
-
|
309
|
-
segments:
|
299
|
+
requirements:
|
300
|
+
- - ! '>='
|
301
|
+
- !ruby/object:Gem::Version
|
302
|
+
version: '0'
|
303
|
+
segments:
|
310
304
|
- 0
|
311
|
-
|
312
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
305
|
+
hash: -307522925874421181
|
306
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
313
307
|
none: false
|
314
|
-
requirements:
|
315
|
-
- -
|
316
|
-
- !ruby/object:Gem::Version
|
317
|
-
|
318
|
-
segments:
|
319
|
-
- 0
|
320
|
-
version: "0"
|
308
|
+
requirements:
|
309
|
+
- - ! '>='
|
310
|
+
- !ruby/object:Gem::Version
|
311
|
+
version: '0'
|
321
312
|
requirements: []
|
322
|
-
|
323
313
|
rubyforge_project:
|
324
|
-
rubygems_version: 1.
|
314
|
+
rubygems_version: 1.8.23
|
325
315
|
signing_key:
|
326
316
|
specification_version: 3
|
327
317
|
summary: Reusable dev & test code.
|
328
318
|
test_files: []
|
329
|
-
|