gorp 0.28.1 → 0.28.2
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.
- checksums.yaml +7 -0
- data/Rakefile +1 -0
- data/gorp.gemspec +11 -7
- data/lib/gorp.rb +1 -0
- data/lib/gorp/commands.rb +224 -95
- data/lib/gorp/edit.rb +12 -10
- data/lib/gorp/env.rb +99 -25
- data/lib/gorp/net.rb +69 -10
- data/lib/gorp/output.css +14 -6
- data/lib/gorp/output.rb +15 -15
- data/lib/gorp/rails.rb +91 -68
- data/lib/gorp/test.rb +48 -21
- data/lib/gorp/xml.rb +5 -0
- data/lib/version.rb +1 -1
- metadata +101 -101
data/lib/gorp/rails.rb
CHANGED
@@ -6,10 +6,15 @@ require 'time'
|
|
6
6
|
module Gorp
|
7
7
|
# determine which version of rails is running
|
8
8
|
def self.which_rails rails
|
9
|
+
railties = File.join(rails, 'railties', 'exe', 'rails')
|
10
|
+
rails = railties if File.exists?(railties)
|
11
|
+
|
9
12
|
railties = File.join(rails, 'railties', 'bin', 'rails')
|
10
13
|
rails = railties if File.exists?(railties)
|
14
|
+
|
11
15
|
bin = File.join(rails, 'bin', 'rails')
|
12
16
|
rails = bin if File.exists?(bin)
|
17
|
+
|
13
18
|
if File.exists?(rails)
|
14
19
|
firstline = open(rails) {|file| file.readlines.first}
|
15
20
|
rails = 'ruby ' + rails unless firstline =~ /^#!/
|
@@ -29,8 +34,8 @@ if ARGV.first =~ /^_\d[.\d]*_$/
|
|
29
34
|
$rails = "rails #{ARGV.first}"
|
30
35
|
elsif File.directory?(ARGV.first.to_s.split(File::PATH_SEPARATOR).first.to_s)
|
31
36
|
if ARGV.first.include?(File::PATH_SEPARATOR)
|
32
|
-
# first path is Rails, additional paths are added to the
|
33
|
-
libs = ENV['
|
37
|
+
# first path is Rails, additional paths are added to the RUBYLIB
|
38
|
+
libs = ENV['RUBYLIB'].to_s.split(File::PATH_SEPARATOR)
|
34
39
|
ARGV.first.split(File::PATH_SEPARATOR).reverse.each do |lib|
|
35
40
|
lib = File.expand_path(lib)
|
36
41
|
if !File.directory?(lib)
|
@@ -64,7 +69,20 @@ else
|
|
64
69
|
`#{Gorp.which_rails($rails)} -v 2>#{DEV_NULL}`
|
65
70
|
end
|
66
71
|
|
67
|
-
|
72
|
+
unless $?.success?
|
73
|
+
puts "Install rails or specify path to git clone of rails as the " +
|
74
|
+
"first argument."
|
75
|
+
Process.exit!
|
76
|
+
end
|
77
|
+
|
78
|
+
# http://redmine.ruby-lang.org/issues/show/2717
|
79
|
+
$bundle = File.exist?(File.join($rails, 'Gemfile'))
|
80
|
+
$bundle = true if ARGV.include?('--bundle')
|
81
|
+
$bundle = false if ARGV.include?('--vendor')
|
82
|
+
|
83
|
+
if $bundle
|
84
|
+
require 'bundler/setup'
|
85
|
+
else
|
68
86
|
# setup vendored environment
|
69
87
|
FileUtils.rm_f File.join($WORK, 'vendor', 'rails')
|
70
88
|
if $rails =~ /^rails( |$)/
|
@@ -80,21 +98,12 @@ if $?.success?
|
|
80
98
|
FileUtils.cp File.join(File.dirname(__FILE__), 'rails.env'),
|
81
99
|
File.join($WORK, '.bundle', 'environment.rb')
|
82
100
|
end
|
83
|
-
else
|
84
|
-
puts "Install rails or specify path to git clone of rails as the " +
|
85
|
-
"first argument."
|
86
|
-
Process.exit!
|
87
101
|
end
|
88
102
|
|
89
|
-
# http://redmine.ruby-lang.org/issues/show/2717
|
90
|
-
$bundle = File.exist?(File.join($rails, 'Gemfile'))
|
91
|
-
$bundle = true if ARGV.include?('--bundle')
|
92
|
-
$bundle = false if ARGV.include?('--vendor')
|
93
|
-
|
94
103
|
module Gorp
|
95
104
|
module Commands
|
96
105
|
# run rails as a command
|
97
|
-
def rails name, app=nil
|
106
|
+
def rails name, app=nil, opt=''
|
98
107
|
Dir.chdir($WORK)
|
99
108
|
FileUtils.rm_rf name
|
100
109
|
log :rails, name
|
@@ -103,7 +112,6 @@ module Gorp
|
|
103
112
|
# determine how to invoke rails
|
104
113
|
rails = Gorp.which_rails($rails)
|
105
114
|
rails += ' new' if `#{rails} -v` !~ /Rails 2/
|
106
|
-
opt = ''
|
107
115
|
gemfile = ENV['BUNDLE_GEMFILE'] || 'Gemfile'
|
108
116
|
if File.exist? gemfile
|
109
117
|
rails = "bundle exec " + rails
|
@@ -134,11 +142,11 @@ module Gorp
|
|
134
142
|
if $rails != 'rails' and File.directory?($rails)
|
135
143
|
if File.exist? 'Gemfile'
|
136
144
|
gemfile=open('Gemfile') {|file| file.read}
|
137
|
-
gemfile[
|
145
|
+
gemfile[/^gem 'rails',()/,1] = " :path => #{$rails.inspect} #"
|
138
146
|
ENV['RUBYLIB'].split(File::PATH_SEPARATOR).each do |path|
|
139
147
|
path.sub! /\/lib$/, ''
|
140
148
|
name = path.split(File::SEPARATOR).last
|
141
|
-
next if
|
149
|
+
next if %w(gorp rails).include? name
|
142
150
|
if File.exist?(File.join(path, "/#{name}.gemspec"))
|
143
151
|
if gemfile =~ /^\s*gem ['"]#{name}['"],\s*:git/
|
144
152
|
gemfile[/^\s*gem ['"]#{name}['"],\s*(:git\s*=>\s*).*/,1] =
|
@@ -146,18 +154,31 @@ module Gorp
|
|
146
154
|
elsif gemfile =~ /^\s*gem ['"]#{name}['"],/
|
147
155
|
gemfile[/^\s*gem ['"]#{name}['"],\s*()/,1] =
|
148
156
|
":path => #{path.inspect} # "
|
149
|
-
|
157
|
+
else
|
150
158
|
gemfile.sub!(/(^\s*gem ['"]#{name}['"])/) {|line| '# ' + line}
|
151
159
|
gemfile[/gem 'rails',.*\n()/,1] =
|
152
160
|
"gem #{name.inspect}, :path => #{path.inspect}\n"
|
153
161
|
end
|
154
162
|
end
|
155
163
|
end
|
156
|
-
gemfile[/^()source/, 1] = '# '
|
157
164
|
|
165
|
+
gemfile[/^()source/, 1] = '# '
|
158
166
|
open('Gemfile','w') {|file| file.write gemfile}
|
167
|
+
|
168
|
+
gemfile = File.expand_path('Gemfile')
|
169
|
+
at_exit do
|
170
|
+
source = File.read(gemfile)
|
171
|
+
source[/^(# )source/, 1] = ''
|
172
|
+
open(gemfile,'w') {|file| file.write source}
|
173
|
+
end
|
174
|
+
|
159
175
|
if $bundle
|
160
|
-
|
176
|
+
begin
|
177
|
+
rubyopt, ENV['RUBYOPT'] = ENV['RUBYOPT'], nil
|
178
|
+
bundle "install"
|
179
|
+
ensure
|
180
|
+
ENV['RUBYOPT'] = rubyopt
|
181
|
+
end
|
161
182
|
else
|
162
183
|
cmd "ln -s #{$rails} vendor/rails"
|
163
184
|
system "mkdir -p .bundle"
|
@@ -214,17 +235,19 @@ module Gorp
|
|
214
235
|
def restart_server
|
215
236
|
if $server
|
216
237
|
log :server, 'restart'
|
217
|
-
|
238
|
+
$x.h3 'Restart the server.'
|
218
239
|
Gorp::Commands.stop_server(true)
|
219
240
|
else
|
220
|
-
log :CMD, '
|
221
|
-
|
241
|
+
log :CMD, 'rails server'
|
242
|
+
$x.h3 'Start the server.'
|
222
243
|
end
|
223
244
|
|
224
|
-
if File.exist? '
|
225
|
-
|
245
|
+
if File.exist? 'bin/rails'
|
246
|
+
rails_server = "#{$ruby} bin/rails server --port #{$PORT}"
|
247
|
+
elsif File.exist? 'script/rails'
|
248
|
+
rails_server = "#{$ruby} script/rails server --port #{$PORT}"
|
226
249
|
else
|
227
|
-
|
250
|
+
rails_server = "#{$ruby} script/server --port #{$PORT}"
|
228
251
|
end
|
229
252
|
|
230
253
|
if RUBY_PLATFORM !~ /mingw32/
|
@@ -242,55 +265,55 @@ module Gorp
|
|
242
265
|
end
|
243
266
|
|
244
267
|
if $server
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
268
|
+
# wait for server to start
|
269
|
+
60.times do
|
270
|
+
sleep 0.5
|
271
|
+
begin
|
272
|
+
status = Net::HTTP.get_response('localhost','/',$PORT).code
|
273
|
+
break if %(200 404 500).include? status
|
274
|
+
rescue Errno::ECONNREFUSED, Errno::ETIMEDOUT
|
275
|
+
end
|
276
|
+
end
|
254
277
|
else
|
255
278
|
# start a new bundler context
|
256
279
|
ENV.keys.dup.each { |key| ENV.delete key if key =~ /^BUNDLE_/ }
|
257
280
|
ENV.delete('RUBYOPT')
|
258
281
|
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
282
|
+
# For unknown reason, when run as CGI, the below produces:
|
283
|
+
# undefined method `chomp' for nil:NilClass (NoMethodError)
|
284
|
+
# from rails/actionpack/lib/action_dispatch/middleware/static.rb:13
|
285
|
+
# path = env['PATH_INFO'].chomp('/')
|
286
|
+
#
|
287
|
+
unless ENV['GATEWAY_INTERFACE'].to_s =~ /CGI/
|
288
|
+
STDOUT.reopen '/dev/null', 'a'
|
266
289
|
exec rails_server
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
|
291
|
-
|
292
|
-
|
293
|
-
|
290
|
+
end
|
291
|
+
|
292
|
+
# alternatives to the above, with backtrace
|
293
|
+
begin
|
294
|
+
if File.exist?('config.ru')
|
295
|
+
require 'rack'
|
296
|
+
server = Rack::Builder.new {eval(open('config.ru') {|fh| fh.read})}
|
297
|
+
Rack::Handler::WEBrick.run(server, :Port => $PORT)
|
298
|
+
else
|
299
|
+
ARGV.clear.unshift('--port', $PORT.to_s)
|
300
|
+
|
301
|
+
# start server, redirecting stdout to a string
|
302
|
+
$stdout = StringIO.open('','w')
|
303
|
+
require './config/boot'
|
304
|
+
if Rails::VERSION::MAJOR == 2
|
305
|
+
require 'commands/server'
|
306
|
+
else
|
307
|
+
require 'rails/commands/server'
|
308
|
+
Rails::Server.start
|
309
|
+
end
|
310
|
+
end
|
311
|
+
rescue
|
312
|
+
STDERR.puts $!
|
313
|
+
$!.backtrace.each {|method| STDERR.puts "\tfrom " + method}
|
314
|
+
ensure
|
315
|
+
Process.exit!
|
316
|
+
end
|
294
317
|
end
|
295
318
|
end
|
296
319
|
end
|
data/lib/gorp/test.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
gem 'test-unit'
|
2
|
+
require 'minitest/autorun'
|
2
3
|
require 'test/unit'
|
3
4
|
require 'gorp/env'
|
4
5
|
require 'gorp/rails'
|
@@ -19,18 +20,32 @@ class Gorp::TestCase < Test::Unit::TestCase
|
|
19
20
|
# just enough infrastructure to get 'assert_select' to work
|
20
21
|
require 'action_controller'
|
21
22
|
begin
|
22
|
-
|
23
|
-
|
24
|
-
|
23
|
+
# # Rails (2.3.3 ish)
|
24
|
+
# require 'action_controller/assertions/selector_assertions'
|
25
|
+
# include ActionController::Assertions::SelectorAssertions
|
26
|
+
# Rails (4.2 ish)
|
27
|
+
require 'rails-dom-testing'
|
28
|
+
include Rails::Dom::Testing::Assertions::SelectorAssertions
|
29
|
+
|
30
|
+
# Rails 4.2
|
31
|
+
ActiveSupport.test_order = :random rescue nil
|
25
32
|
rescue LoadError
|
26
33
|
# Rails (3.0 ish)
|
27
34
|
require 'action_dispatch/testing/assertions'
|
28
35
|
require 'action_dispatch/testing/assertions/selector'
|
29
36
|
include ActionDispatch::Assertions::SelectorAssertions
|
37
|
+
|
38
|
+
begin
|
39
|
+
# Rails 2/3
|
40
|
+
require 'action_controller/vendor/html-scanner/html/tokenizer'
|
41
|
+
require 'action_controller/vendor/html-scanner/html/document'
|
42
|
+
rescue LoadError
|
43
|
+
# Rails 4
|
44
|
+
require 'action_view/vendor/html-scanner/html/tokenizer'
|
45
|
+
require 'action_view/vendor/html-scanner/html/document'
|
46
|
+
end
|
30
47
|
end
|
31
48
|
|
32
|
-
require 'action_controller/vendor/html-scanner/html/tokenizer'
|
33
|
-
require 'action_controller/vendor/html-scanner/html/document'
|
34
49
|
super
|
35
50
|
end
|
36
51
|
|
@@ -66,6 +81,7 @@ class Gorp::TestCase < Test::Unit::TestCase
|
|
66
81
|
end
|
67
82
|
|
68
83
|
def ticket number, info
|
84
|
+
return if Gorp::Config[:ignore_tickets]
|
69
85
|
return if info[:match] and not @raw =~ info[:match]
|
70
86
|
return if block_given? and not yield(@raw)
|
71
87
|
info[:list] ||= :rails
|
@@ -78,7 +94,7 @@ class Gorp::TestCase < Test::Unit::TestCase
|
|
78
94
|
# read $input output; remove front matter and footer
|
79
95
|
input = open(File.join($WORK, "#{filename}.html")).read
|
80
96
|
input.force_encoding('utf-8') if input.respond_to? :force_encoding
|
81
|
-
head, body, tail = input.split /<body
|
97
|
+
head, body, tail = input.split /<body.*?>\s+|\s+<\/body>/m
|
82
98
|
|
83
99
|
# ruby 1.8.8 reverses the order
|
84
100
|
body.gsub! /<a (id="[-.\w]+") (class="\w+")>/,'<a \2 \1>'
|
@@ -110,11 +126,19 @@ class Gorp::TestCase < Test::Unit::TestCase
|
|
110
126
|
at_exit { HTMLRunner.run(self) }
|
111
127
|
end
|
112
128
|
|
129
|
+
def parse_for_select raw
|
130
|
+
if defined? Rails::Dom::Testing::Assertions::SelectorAssertions
|
131
|
+
Nokogiri::HTML::DocumentFragment.parse(raw)
|
132
|
+
else
|
133
|
+
HTML::Document.new(raw).root.children
|
134
|
+
end
|
135
|
+
end
|
136
|
+
|
113
137
|
# select an individual section from the HTML
|
114
138
|
def select number
|
115
139
|
raise "Section #{number} not found" unless @@sections.has_key? number.to_s
|
116
140
|
@raw = @@sections[number.to_s]
|
117
|
-
@selected =
|
141
|
+
@selected = parse_for_select @raw
|
118
142
|
end
|
119
143
|
|
120
144
|
attr_reader :raw
|
@@ -145,7 +169,7 @@ class Gorp::TestCase < Test::Unit::TestCase
|
|
145
169
|
|
146
170
|
if block
|
147
171
|
@raw = $x.target![before..-1]
|
148
|
-
@selected =
|
172
|
+
@selected = parse_for_select @raw
|
149
173
|
block.call
|
150
174
|
end
|
151
175
|
end
|
@@ -178,13 +202,23 @@ class HTMLRunner < Test::Unit::UI::Console::TestRunner
|
|
178
202
|
end
|
179
203
|
|
180
204
|
tickets = {
|
181
|
-
'rails' => 'https://
|
205
|
+
'rails' => 'https://github.com/rails/rails/issues/',
|
206
|
+
'sprockets-rails' => 'https://github.com/rails/sprockets-rails/issues/',
|
207
|
+
'turbolinks' => 'https://github.com/rails/turbolinks/issues/',
|
208
|
+
'i18n' => 'https://github.com/svenfuchs/i18n/issues/',
|
209
|
+
'activemerchant' => 'https://github.com/Shopify/active_merchant/issues/',
|
182
210
|
'ruby' => 'http://redmine.ruby-lang.org/issues/show/',
|
183
211
|
'bundler' => 'http://github.com/carlhuda/bundler/issues/issue/',
|
212
|
+
'jquery-rails' => 'https://github.com/rails/jquery-rails/issues/',
|
184
213
|
'will_paginate' => 'http://github.com/mislav/will_paginate/issues#issue/'
|
185
214
|
}
|
186
215
|
|
187
|
-
if fault.
|
216
|
+
if fault.message =~ /RuntimeError: Ticket ([-\w]+):(\d+): (.*)/
|
217
|
+
x.p :class => 'traceback' do
|
218
|
+
x.a "Ticket #{$2}", :href => tickets[$1]+$2
|
219
|
+
x.text! ': ' + $3
|
220
|
+
end
|
221
|
+
elsif fault.respond_to? :location
|
188
222
|
location = fault.location
|
189
223
|
location.shift while location.first.to_s. =~ /testing.assertions.selector/
|
190
224
|
location.pop while location.last.to_s. =~ /gorp.lib.gorp.test/
|
@@ -192,14 +226,7 @@ class HTMLRunner < Test::Unit::UI::Console::TestRunner
|
|
192
226
|
"\n\nTraceback:\n " + location.join("\n "),
|
193
227
|
:class=>'traceback'
|
194
228
|
else
|
195
|
-
|
196
|
-
x.p :class => 'traceback' do
|
197
|
-
x.a "Ticket #{$2}", :href => tickets[$1]+$2
|
198
|
-
x.text! ': ' + $3
|
199
|
-
end
|
200
|
-
else
|
201
|
-
x.pre fault.message, :class=>'traceback'
|
202
|
-
end
|
229
|
+
x.pre fault.message, :class=>'traceback'
|
203
230
|
end
|
204
231
|
|
205
232
|
if fault.test_name =~ /^test_([\d.]+)_.*\(\w+\)$/
|
@@ -242,7 +269,7 @@ class HTMLRunner < Test::Unit::UI::Console::TestRunner
|
|
242
269
|
open(File.join($WORK, "#{$output}.html"),'w') do |output|
|
243
270
|
sections = @@sections
|
244
271
|
output.write(sections.delete(:head))
|
245
|
-
output.write("<body>\n ")
|
272
|
+
output.write("<body class='awdwr'>\n ")
|
246
273
|
output.write(sections.delete(:contents))
|
247
274
|
env = sections.delete(:env)
|
248
275
|
todos = sections.delete(:todos)
|
@@ -276,7 +303,7 @@ class HTMLRunner < Test::Unit::UI::Console::TestRunner
|
|
276
303
|
output.write(tail)
|
277
304
|
end
|
278
305
|
|
279
|
-
open(File.join($WORK,
|
306
|
+
open(File.join($WORK, "#{$output}.status"), 'w') do |status|
|
280
307
|
status.puts @result.to_s
|
281
308
|
end
|
282
309
|
|
@@ -303,7 +330,7 @@ at_exit do
|
|
303
330
|
next unless c.superclass == Gorp::TestCase
|
304
331
|
suite << c.suite
|
305
332
|
def c.herald instance, name
|
306
|
-
instance.
|
333
|
+
instance.section_head nil, name
|
307
334
|
end
|
308
335
|
end
|
309
336
|
|
data/lib/gorp/xml.rb
CHANGED
@@ -15,6 +15,9 @@ rescue LoadError
|
|
15
15
|
def xhtmlparse(text)
|
16
16
|
begin
|
17
17
|
require 'htmlentities'
|
18
|
+
text.gsub! /<script[ >](.*?)<\/script>/m do
|
19
|
+
'<script>' + $1.gsub('<','<') + '</script>'
|
20
|
+
end
|
18
21
|
text.gsub! '&', '&amp;'
|
19
22
|
text.gsub! '<', '&lt;'
|
20
23
|
text.gsub! '>', '&gt;'
|
@@ -24,6 +27,8 @@ rescue LoadError
|
|
24
27
|
text = HTMLEntities.new.decode(text)
|
25
28
|
rescue LoadError
|
26
29
|
end
|
30
|
+
text.gsub! '<br>', '<br/>'
|
31
|
+
text.gsub! 'data-no-turbolink>', 'data-no-turbolink="data-no-turbolink">'
|
27
32
|
doc = REXML::Document.new(text)
|
28
33
|
doc.get_elements('//*[not(* or text())]').each do |e|
|
29
34
|
e.text='' unless HTML_VOIDS.include? e.name
|
data/lib/version.rb
CHANGED
metadata
CHANGED
@@ -1,99 +1,111 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: gorp
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 28
|
9
|
-
- 1
|
10
|
-
version: 0.28.1
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.28.2
|
11
5
|
platform: ruby
|
12
|
-
authors:
|
6
|
+
authors:
|
13
7
|
- Sam Ruby
|
14
8
|
autorequire:
|
15
9
|
bindir: bin
|
16
10
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
- !ruby/object:Gem::Dependency
|
11
|
+
date: 2016-02-02 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
21
14
|
name: builder
|
22
|
-
|
23
|
-
|
24
|
-
none: false
|
25
|
-
requirements:
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
26
17
|
- - ">="
|
27
|
-
- !ruby/object:Gem::Version
|
28
|
-
|
29
|
-
segments:
|
30
|
-
- 0
|
31
|
-
version: "0"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
32
20
|
type: :runtime
|
33
|
-
version_requirements: *id001
|
34
|
-
- !ruby/object:Gem::Dependency
|
35
|
-
name: bundler
|
36
21
|
prerelease: false
|
37
|
-
|
38
|
-
|
39
|
-
requirements:
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
40
24
|
- - ">="
|
41
|
-
- !ruby/object:Gem::Version
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: bundler
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
46
34
|
type: :runtime
|
47
|
-
version_requirements: *id002
|
48
|
-
- !ruby/object:Gem::Dependency
|
49
|
-
name: i18n
|
50
35
|
prerelease: false
|
51
|
-
|
52
|
-
|
53
|
-
requirements:
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
54
38
|
- - ">="
|
55
|
-
- !ruby/object:Gem::Version
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: i18n
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
60
48
|
type: :runtime
|
61
|
-
version_requirements: *id003
|
62
|
-
- !ruby/object:Gem::Dependency
|
63
|
-
name: rack
|
64
49
|
prerelease: false
|
65
|
-
|
66
|
-
|
67
|
-
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rack
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
68
59
|
- - ">="
|
69
|
-
- !ruby/object:Gem::Version
|
70
|
-
|
71
|
-
segments:
|
72
|
-
- 0
|
73
|
-
version: "0"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
74
62
|
type: :runtime
|
75
|
-
|
76
|
-
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
77
70
|
name: rake
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :runtime
|
78
77
|
prerelease: false
|
79
|
-
|
80
|
-
|
81
|
-
requirements:
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
82
80
|
- - ">="
|
83
|
-
- !ruby/object:Gem::Version
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: http-cookie
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
88
90
|
type: :runtime
|
89
|
-
|
90
|
-
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
description: |2
|
98
|
+
Enables the creation of scenarios that involve creating a rails project,
|
99
|
+
starting and stoppping of servers, generating projects, editing files,
|
100
|
+
issuing http requests, running of commands, etc. Output is captured as
|
101
|
+
a single HTML file that can be viewed locally or uploaded.
|
102
|
+
|
103
|
+
Additionally, there is support for verification, in the form of defining
|
104
|
+
assertions based on selections (typically CSS) against the generated HTML.
|
91
105
|
email: rubys@intertwingly.net
|
92
106
|
executables: []
|
93
|
-
|
94
107
|
extensions: []
|
95
|
-
|
96
|
-
extra_rdoc_files:
|
108
|
+
extra_rdoc_files:
|
97
109
|
- README
|
98
110
|
- lib/gorp.rb
|
99
111
|
- lib/gorp/commands.rb
|
@@ -107,10 +119,11 @@ extra_rdoc_files:
|
|
107
119
|
- lib/gorp/test.rb
|
108
120
|
- lib/gorp/xml.rb
|
109
121
|
- lib/version.rb
|
110
|
-
files:
|
122
|
+
files:
|
111
123
|
- Manifest
|
112
124
|
- README
|
113
125
|
- Rakefile
|
126
|
+
- gorp.gemspec
|
114
127
|
- lib/gorp.rb
|
115
128
|
- lib/gorp/commands.rb
|
116
129
|
- lib/gorp/edit.rb
|
@@ -123,45 +136,32 @@ files:
|
|
123
136
|
- lib/gorp/test.rb
|
124
137
|
- lib/gorp/xml.rb
|
125
138
|
- lib/version.rb
|
126
|
-
- gorp.gemspec
|
127
139
|
homepage: http://github.com/rubys/gorp
|
128
140
|
licenses: []
|
129
|
-
|
141
|
+
metadata: {}
|
130
142
|
post_install_message:
|
131
|
-
rdoc_options:
|
132
|
-
- --line-numbers
|
133
|
-
- --
|
134
|
-
- --title
|
143
|
+
rdoc_options:
|
144
|
+
- "--line-numbers"
|
145
|
+
- "--title"
|
135
146
|
- Gorp
|
136
|
-
- --main
|
147
|
+
- "--main"
|
137
148
|
- README
|
138
|
-
require_paths:
|
149
|
+
require_paths:
|
139
150
|
- lib
|
140
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
141
|
-
|
142
|
-
requirements:
|
151
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
152
|
+
requirements:
|
143
153
|
- - ">="
|
144
|
-
- !ruby/object:Gem::Version
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
version: "0"
|
149
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
150
|
-
none: false
|
151
|
-
requirements:
|
154
|
+
- !ruby/object:Gem::Version
|
155
|
+
version: '0'
|
156
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
157
|
+
requirements:
|
152
158
|
- - ">="
|
153
|
-
- !ruby/object:Gem::Version
|
154
|
-
|
155
|
-
segments:
|
156
|
-
- 1
|
157
|
-
- 2
|
158
|
-
version: "1.2"
|
159
|
+
- !ruby/object:Gem::Version
|
160
|
+
version: '1.2'
|
159
161
|
requirements: []
|
160
|
-
|
161
162
|
rubyforge_project: gorp
|
162
|
-
rubygems_version:
|
163
|
+
rubygems_version: 2.5.1
|
163
164
|
signing_key:
|
164
|
-
specification_version:
|
165
|
+
specification_version: 4
|
165
166
|
summary: Rails scenario testing support library
|
166
167
|
test_files: []
|
167
|
-
|