cartage-rack 1.0 → 1.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.
- checksums.yaml +4 -4
- data/.travis.yml +36 -0
- data/History.rdoc +21 -0
- data/Manifest.txt +3 -0
- data/README.rdoc +19 -3
- data/Rakefile +11 -0
- data/lib/cartage/rack.rb +41 -17
- data/test/minitest_config.rb +51 -0
- data/test/test_cartage_rack.rb +131 -0
- metadata +54 -37
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: f1f756831e081111a68cf696035705057d5b06a8
|
|
4
|
+
data.tar.gz: 5d02f8976aa4b7433e9c8d96c6ccc3558007e50b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: da2f68e98d8ae476143c955ea2e8e1921b89890491a5b7ed41746bf518c42a8c9c26cb824397bfe4557c67da3686826ffd4f2b24f3023c2d90dd76e002f84d57
|
|
7
|
+
data.tar.gz: 0515b3f19b46cdd5725ff1650ea4d87b7c354a16e535ccafe7282488558f4de09a159ee560c1f1ed2fa79f25938f4adcb266616ae31609359d78d7a5ea44c9d2
|
data/.travis.yml
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
---
|
|
2
|
+
sudo: false
|
|
3
|
+
language: ruby
|
|
4
|
+
rvm:
|
|
5
|
+
- "2.2"
|
|
6
|
+
- "2.1"
|
|
7
|
+
- 2.0.0
|
|
8
|
+
- ruby-head
|
|
9
|
+
- jruby-head
|
|
10
|
+
- jruby-9.0.0.0.pre1
|
|
11
|
+
- rbx-2
|
|
12
|
+
matrix:
|
|
13
|
+
allow_failures:
|
|
14
|
+
- rvm: rbx-2
|
|
15
|
+
- rvm: jruby-head
|
|
16
|
+
- rvm: jruby-9.0.0.0.pre1
|
|
17
|
+
- rvm: ruby-head
|
|
18
|
+
gemfile:
|
|
19
|
+
- Gemfile
|
|
20
|
+
before_script:
|
|
21
|
+
- |
|
|
22
|
+
case "${TRAVIS_RUBY_VERSION}" in
|
|
23
|
+
rbx*)
|
|
24
|
+
gem install psych
|
|
25
|
+
;;
|
|
26
|
+
esac
|
|
27
|
+
- rake travis:before -t
|
|
28
|
+
script: rake travis
|
|
29
|
+
after_script:
|
|
30
|
+
- rake travis:after -t
|
|
31
|
+
notifications:
|
|
32
|
+
email:
|
|
33
|
+
recipients:
|
|
34
|
+
- aziegler@kineticcafe.com
|
|
35
|
+
on_success: change
|
|
36
|
+
on_failure: always
|
data/History.rdoc
CHANGED
|
@@ -1,3 +1,24 @@
|
|
|
1
|
+
=== 1.1 / 2015-04-11
|
|
2
|
+
|
|
3
|
+
* 2 minor enhancements
|
|
4
|
+
|
|
5
|
+
* Implemented Cartage::Rack#inspect to prevent <tt>rake routes</tt> from
|
|
6
|
+
presenting badly.
|
|
7
|
+
|
|
8
|
+
* Preparing for a future Cartage change to the contents of the
|
|
9
|
+
+release_hashref+ file. The future +release_hashref+ will be two lines:
|
|
10
|
+
|
|
11
|
+
hashref
|
|
12
|
+
timestamp
|
|
13
|
+
|
|
14
|
+
If +release_hashref+ has two lines, the timestamp will be included in
|
|
15
|
+
the response. A timestamp will not be included if there is no
|
|
16
|
+
+release_hashref+ file.
|
|
17
|
+
|
|
18
|
+
* 1 development change
|
|
19
|
+
|
|
20
|
+
* Implemented tests for Cartage::Rack.
|
|
21
|
+
|
|
1
22
|
=== 1.0 / 2015-03-20
|
|
2
23
|
|
|
3
24
|
* 1 major enhancement
|
data/Manifest.txt
CHANGED
data/README.rdoc
CHANGED
|
@@ -40,14 +40,30 @@ It can then be queried easily:
|
|
|
40
40
|
% rails start
|
|
41
41
|
% curl localhost:3000/release
|
|
42
42
|
development: (git) main
|
|
43
|
-
% curl localhost:3000/release.json
|
|
44
|
-
{
|
|
43
|
+
% curl localhost:3000/release.json | jshon
|
|
44
|
+
{
|
|
45
|
+
"env" : "development",
|
|
46
|
+
"release_hashref" : "(git) main"
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
If there is a +release_hashref+ file, the value returned will be from this
|
|
50
|
+
file. There are two versions of +release_hashref+ files supported; the original
|
|
51
|
+
format (Cartage 1.0 and 1.1) has one line (just the hashref of the release).
|
|
52
|
+
The new format has two lines, the hashref of the release and the timestamp of
|
|
53
|
+
the release.
|
|
54
|
+
|
|
55
|
+
% curl localhost:3000/release.json | jshon
|
|
56
|
+
{
|
|
57
|
+
"env" : "production",
|
|
58
|
+
"release_hashref" : "134458c3e3c02dd7c1cac8d5d41d85ce1e4decab"
|
|
59
|
+
"timestamp" : "20150411001143"
|
|
60
|
+
}
|
|
45
61
|
|
|
46
62
|
== Install
|
|
47
63
|
|
|
48
64
|
Add cartage-rack to your Gemfile:
|
|
49
65
|
|
|
50
|
-
gem 'cartage-rack', '~> 1.
|
|
66
|
+
gem 'cartage-rack', '~> 1.1'
|
|
51
67
|
|
|
52
68
|
Or manually install:
|
|
53
69
|
|
data/Rakefile
CHANGED
|
@@ -10,6 +10,7 @@ Hoe.plugin :gemspec2
|
|
|
10
10
|
Hoe.plugin :git
|
|
11
11
|
Hoe.plugin :minitest
|
|
12
12
|
Hoe.plugin :rubygems
|
|
13
|
+
Hoe.plugin :travis
|
|
13
14
|
|
|
14
15
|
spec = Hoe.spec 'cartage-rack' do
|
|
15
16
|
developer('Austin Ziegler', 'aziegler@kineticcafe.com')
|
|
@@ -25,6 +26,7 @@ spec = Hoe.spec 'cartage-rack' do
|
|
|
25
26
|
self.extra_dev_deps << ['hoe-doofus', '~> 1.0']
|
|
26
27
|
self.extra_dev_deps << ['hoe-gemspec2', '~> 1.1']
|
|
27
28
|
self.extra_dev_deps << ['hoe-git', '~> 1.5']
|
|
29
|
+
self.extra_dev_deps << ['hoe-travis', '~> 1.2']
|
|
28
30
|
self.extra_dev_deps << ['minitest', '~> 5.4']
|
|
29
31
|
self.extra_dev_deps << ['minitest-autotest', '~> 1.0']
|
|
30
32
|
self.extra_dev_deps << ['minitest-bisect', '~> 1.2']
|
|
@@ -34,6 +36,15 @@ spec = Hoe.spec 'cartage-rack' do
|
|
|
34
36
|
self.extra_dev_deps << ['simplecov', '~> 0.7']
|
|
35
37
|
end
|
|
36
38
|
|
|
39
|
+
module Hoe::Publish
|
|
40
|
+
alias_method :original_make_rdoc_cmd, :make_rdoc_cmd
|
|
41
|
+
|
|
42
|
+
def make_rdoc_cmd(*extra_args) # :nodoc:
|
|
43
|
+
spec.extra_rdoc_files.reject! { |f| f == 'Manifest.txt' }
|
|
44
|
+
original_make_rdoc_cmd(*extra_args)
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
|
|
37
48
|
namespace :test do
|
|
38
49
|
task :coverage do
|
|
39
50
|
prelude = <<-EOS
|
data/lib/cartage/rack.rb
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
require 'pathname'
|
|
2
|
+
require 'json'
|
|
2
3
|
|
|
3
4
|
# Cartage, a package builder.
|
|
4
5
|
class Cartage; end
|
|
@@ -10,12 +11,12 @@ class Cartage; end
|
|
|
10
11
|
# If +release_hashref+ does not exist, Cartage::Rack will read the hash of the
|
|
11
12
|
# current HEAD.
|
|
12
13
|
class Cartage::Rack
|
|
13
|
-
VERSION = '1.
|
|
14
|
+
VERSION = '1.1' #:nodoc:
|
|
14
15
|
|
|
15
16
|
# Creates a new version of the Cartage::Rack application to the specified
|
|
16
17
|
# +root_path+, or +Dir.pwd+.
|
|
17
|
-
def self.mount(root_path =
|
|
18
|
-
new(root_path)
|
|
18
|
+
def self.mount(root_path = nil)
|
|
19
|
+
new(root_path || Dir.pwd)
|
|
19
20
|
end
|
|
20
21
|
|
|
21
22
|
# Sets the root path for Cartage::Rack.
|
|
@@ -25,28 +26,51 @@ class Cartage::Rack
|
|
|
25
26
|
|
|
26
27
|
# The Rack application method.
|
|
27
28
|
def call(env)
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
else
|
|
34
|
-
'UNKNOWN - no release_hashref or source control directory'
|
|
35
|
-
end
|
|
36
|
-
application_env = ENV['RAILS_ENV'] || ENV['RACK_ENV'] || 'UNKNOWN'
|
|
29
|
+
content = {
|
|
30
|
+
env: application_env,
|
|
31
|
+
release_hashref: release_hashref,
|
|
32
|
+
timestamp: timestamp
|
|
33
|
+
}.delete_if(&->(_, v) { v.nil? })
|
|
37
34
|
|
|
38
35
|
case env['PATH_INFO']
|
|
39
36
|
when /\.json\z/
|
|
40
37
|
type = 'application/json'
|
|
41
|
-
body =
|
|
42
|
-
env: application_env,
|
|
43
|
-
release_hashref: release_hashref
|
|
44
|
-
}.to_json
|
|
38
|
+
body = content.to_json
|
|
45
39
|
else
|
|
46
40
|
type = 'text/plain'
|
|
47
|
-
body = "#{
|
|
41
|
+
body = "#{content[:env]}: #{content[:release_hashref]}"
|
|
42
|
+
body += " (#{content[:timestamp]})" if content[:timestamp]
|
|
48
43
|
end
|
|
49
44
|
|
|
50
45
|
[ '200', { 'Content-Type' => type }, [ body ] ]
|
|
51
46
|
end
|
|
47
|
+
|
|
48
|
+
def inspect
|
|
49
|
+
%Q(#{self.class} for #{@root_path.expand_path.basename})
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
private
|
|
53
|
+
def application_env
|
|
54
|
+
ENV['RAILS_ENV'] || ENV['RACK_ENV'] || 'UNKNOWN'
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
def release_hashref
|
|
58
|
+
file = @root_path.join('release_hashref')
|
|
59
|
+
if file.exist?
|
|
60
|
+
file.read.split($/).first.chomp
|
|
61
|
+
elsif @root_path.join('.git').directory?
|
|
62
|
+
"(git) #{%x(git rev-parse --abbrev-ref HEAD).chomp}"
|
|
63
|
+
else
|
|
64
|
+
'UNKNOWN - no release_hashref or .git directory'
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
def timestamp
|
|
69
|
+
file = @root_path.join('release_hashref')
|
|
70
|
+
if file.exist?
|
|
71
|
+
stamp = file.read.split($/, 2)[1]
|
|
72
|
+
stamp = nil if stamp && stamp.empty?
|
|
73
|
+
stamp.chomp if stamp
|
|
74
|
+
end
|
|
75
|
+
end
|
|
52
76
|
end
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# -*- ruby encoding: utf-8 -*-
|
|
2
|
+
|
|
3
|
+
gem 'minitest'
|
|
4
|
+
require 'rack/test'
|
|
5
|
+
require 'minitest/autorun'
|
|
6
|
+
require 'minitest/pretty_diff'
|
|
7
|
+
require 'minitest/focus'
|
|
8
|
+
require 'minitest/moar'
|
|
9
|
+
require 'minitest/bisect'
|
|
10
|
+
|
|
11
|
+
require 'cartage/rack'
|
|
12
|
+
|
|
13
|
+
module Minitest::ENVStub
|
|
14
|
+
def stub_dir_pwd value, *block_args, &block
|
|
15
|
+
if defined? Minitest::Moar::Stubbing
|
|
16
|
+
stub Dir, :pwd, value, *block_args, &block
|
|
17
|
+
else
|
|
18
|
+
Dir.stub :pwd, value, *block_args, &block
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def stub_env env, options = {}, *block_args, &block
|
|
23
|
+
mock = lambda { |key|
|
|
24
|
+
env.fetch(key) { |k|
|
|
25
|
+
if options[:passthrough]
|
|
26
|
+
ENV.send(:"__minitest_stub__[]", k)
|
|
27
|
+
else
|
|
28
|
+
nil
|
|
29
|
+
end
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
if defined? Minitest::Moar::Stubbing
|
|
34
|
+
stub ENV, :[], mock, *block_args, &block
|
|
35
|
+
else
|
|
36
|
+
ENV.stub :[], mock, *block_args, &block
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
def stub_backticks value
|
|
41
|
+
Kernel.send(:alias_method, :__stub_backticks__, :`)
|
|
42
|
+
Kernel.send(:define_method, :`) { |*| value }
|
|
43
|
+
yield
|
|
44
|
+
ensure
|
|
45
|
+
Kernel.send(:undef_method, :`)
|
|
46
|
+
Kernel.send(:alias_method, :`, :__stub_backticks__)
|
|
47
|
+
Kernel.send(:undef_method, :__stub_backticks__)
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
Minitest::Test.send(:include, self)
|
|
51
|
+
end
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
# -*- ruby encoding: utf-8 -*-
|
|
2
|
+
|
|
3
|
+
require 'minitest_config'
|
|
4
|
+
|
|
5
|
+
describe Cartage::Rack do
|
|
6
|
+
include Rack::Test::Methods
|
|
7
|
+
|
|
8
|
+
let(:app) { Cartage::Rack.mount(path) }
|
|
9
|
+
let(:path) { 'test/application' }
|
|
10
|
+
|
|
11
|
+
it 'inspects nicely for `rake routes` in Rails' do
|
|
12
|
+
stub_dir_pwd path do
|
|
13
|
+
assert_equal 'Cartage::Rack for application', Cartage::Rack.mount.inspect
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
it 'returns text/plain content by default' do
|
|
18
|
+
instance_stub Cartage::Rack, :application_env, 'env' do
|
|
19
|
+
instance_stub Cartage::Rack, :release_hashref, 'ref' do
|
|
20
|
+
get '/'
|
|
21
|
+
|
|
22
|
+
assert_equal 'text/plain', last_response.header['Content-Type']
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
it 'returns application/json content when requested' do
|
|
28
|
+
instance_stub Cartage::Rack, :application_env, 'env' do
|
|
29
|
+
instance_stub Cartage::Rack, :release_hashref, 'ref' do
|
|
30
|
+
get '/.json'
|
|
31
|
+
|
|
32
|
+
assert_equal 'application/json', last_response.header['Content-Type']
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
describe 'application_env' do
|
|
38
|
+
it 'uses RAILS_ENV first' do
|
|
39
|
+
instance_stub Cartage::Rack, :release_hashref, 'release_hashref' do
|
|
40
|
+
stub_env({ 'RAILS_ENV' => 'vne_sliar', 'RACK_ENV' => 'vne_kcar' }) do
|
|
41
|
+
get '/'
|
|
42
|
+
|
|
43
|
+
assert last_response.ok?
|
|
44
|
+
assert_equal 'vne_sliar: release_hashref', last_response.body
|
|
45
|
+
assert_equal 'text/plain', last_response.header['Content-Type']
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
it 'uses RACK_ENV second' do
|
|
51
|
+
instance_stub Cartage::Rack, :release_hashref, 'release_hashref' do
|
|
52
|
+
stub_env({ 'RACK_ENV' => 'vne_kcar' }) do
|
|
53
|
+
get '/'
|
|
54
|
+
|
|
55
|
+
assert last_response.ok?
|
|
56
|
+
assert_equal 'vne_kcar: release_hashref', last_response.body
|
|
57
|
+
assert_equal 'text/plain', last_response.header['Content-Type']
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
it 'uses RACK_ENV second' do
|
|
63
|
+
instance_stub Cartage::Rack, :release_hashref, 'release_hashref' do
|
|
64
|
+
stub_env({}) do
|
|
65
|
+
get '/'
|
|
66
|
+
|
|
67
|
+
assert last_response.ok?
|
|
68
|
+
assert_equal 'UNKNOWN: release_hashref', last_response.body
|
|
69
|
+
assert_equal 'text/plain', last_response.header['Content-Type']
|
|
70
|
+
end
|
|
71
|
+
end
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
describe 'release_hashref' do
|
|
76
|
+
it 'looks for ./release_hashref' do
|
|
77
|
+
stub_env({ 'RAILS_ENV' => 'x' }) do
|
|
78
|
+
instance_stub Pathname, :exist?, true do
|
|
79
|
+
instance_stub Pathname, :read, "file-contents\n" do
|
|
80
|
+
get '/'
|
|
81
|
+
|
|
82
|
+
assert last_response.ok?
|
|
83
|
+
assert_equal 'x: file-contents', last_response.body
|
|
84
|
+
end
|
|
85
|
+
end
|
|
86
|
+
end
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
it 'looks for ./release_hashref (multi-line)' do
|
|
90
|
+
stub_env({ 'RAILS_ENV' => 'x' }) do
|
|
91
|
+
instance_stub Pathname, :exist?, true do
|
|
92
|
+
instance_stub Pathname, :read, "file-contents\ntimestamp\n" do
|
|
93
|
+
get '/'
|
|
94
|
+
|
|
95
|
+
assert last_response.ok?
|
|
96
|
+
assert_equal 'x: file-contents (timestamp)', last_response.body
|
|
97
|
+
end
|
|
98
|
+
end
|
|
99
|
+
end
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
it 'looks for .git next' do
|
|
103
|
+
stub_env({ 'RAILS_ENV' => 'x' }) do
|
|
104
|
+
instance_stub Pathname, :exist?, false do
|
|
105
|
+
instance_stub Pathname, :directory?, true do
|
|
106
|
+
stub_backticks 'HEAD' do
|
|
107
|
+
get '/'
|
|
108
|
+
|
|
109
|
+
assert last_response.ok?
|
|
110
|
+
assert_equal 'x: (git) HEAD', last_response.body
|
|
111
|
+
end
|
|
112
|
+
end
|
|
113
|
+
end
|
|
114
|
+
end
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
it 'defaults to a string value' do
|
|
118
|
+
stub_env({ 'RAILS_ENV' => 'x' }) do
|
|
119
|
+
instance_stub Pathname, :exist?, false do
|
|
120
|
+
instance_stub Pathname, :directory?, false do
|
|
121
|
+
get '/'
|
|
122
|
+
|
|
123
|
+
assert last_response.ok?
|
|
124
|
+
assert_equal 'x: UNKNOWN - no release_hashref or .git directory',
|
|
125
|
+
last_response.body
|
|
126
|
+
end
|
|
127
|
+
end
|
|
128
|
+
end
|
|
129
|
+
end
|
|
130
|
+
end
|
|
131
|
+
end
|
metadata
CHANGED
|
@@ -1,209 +1,223 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: cartage-rack
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: '1.
|
|
4
|
+
version: '1.1'
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Austin Ziegler
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2015-
|
|
11
|
+
date: 2015-04-11 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: minitest
|
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
|
16
16
|
requirements:
|
|
17
|
-
- -
|
|
17
|
+
- - ~>
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
19
|
version: '5.5'
|
|
20
20
|
type: :development
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
|
-
- -
|
|
24
|
+
- - ~>
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
26
|
version: '5.5'
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: rdoc
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
30
30
|
requirements:
|
|
31
|
-
- -
|
|
31
|
+
- - ~>
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
33
|
version: '4.0'
|
|
34
34
|
type: :development
|
|
35
35
|
prerelease: false
|
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
37
|
requirements:
|
|
38
|
-
- -
|
|
38
|
+
- - ~>
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
40
|
version: '4.0'
|
|
41
41
|
- !ruby/object:Gem::Dependency
|
|
42
42
|
name: rake
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
|
44
44
|
requirements:
|
|
45
|
-
- -
|
|
45
|
+
- - ~>
|
|
46
46
|
- !ruby/object:Gem::Version
|
|
47
47
|
version: '10.0'
|
|
48
48
|
type: :development
|
|
49
49
|
prerelease: false
|
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
51
|
requirements:
|
|
52
|
-
- -
|
|
52
|
+
- - ~>
|
|
53
53
|
- !ruby/object:Gem::Version
|
|
54
54
|
version: '10.0'
|
|
55
55
|
- !ruby/object:Gem::Dependency
|
|
56
56
|
name: rack-test
|
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
|
58
58
|
requirements:
|
|
59
|
-
- -
|
|
59
|
+
- - ~>
|
|
60
60
|
- !ruby/object:Gem::Version
|
|
61
61
|
version: '0.6'
|
|
62
62
|
type: :development
|
|
63
63
|
prerelease: false
|
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
|
65
65
|
requirements:
|
|
66
|
-
- -
|
|
66
|
+
- - ~>
|
|
67
67
|
- !ruby/object:Gem::Version
|
|
68
68
|
version: '0.6'
|
|
69
69
|
- !ruby/object:Gem::Dependency
|
|
70
70
|
name: hoe-doofus
|
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
|
72
72
|
requirements:
|
|
73
|
-
- -
|
|
73
|
+
- - ~>
|
|
74
74
|
- !ruby/object:Gem::Version
|
|
75
75
|
version: '1.0'
|
|
76
76
|
type: :development
|
|
77
77
|
prerelease: false
|
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
|
79
79
|
requirements:
|
|
80
|
-
- -
|
|
80
|
+
- - ~>
|
|
81
81
|
- !ruby/object:Gem::Version
|
|
82
82
|
version: '1.0'
|
|
83
83
|
- !ruby/object:Gem::Dependency
|
|
84
84
|
name: hoe-gemspec2
|
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
|
86
86
|
requirements:
|
|
87
|
-
- -
|
|
87
|
+
- - ~>
|
|
88
88
|
- !ruby/object:Gem::Version
|
|
89
89
|
version: '1.1'
|
|
90
90
|
type: :development
|
|
91
91
|
prerelease: false
|
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
|
93
93
|
requirements:
|
|
94
|
-
- -
|
|
94
|
+
- - ~>
|
|
95
95
|
- !ruby/object:Gem::Version
|
|
96
96
|
version: '1.1'
|
|
97
97
|
- !ruby/object:Gem::Dependency
|
|
98
98
|
name: hoe-git
|
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
|
100
100
|
requirements:
|
|
101
|
-
- -
|
|
101
|
+
- - ~>
|
|
102
102
|
- !ruby/object:Gem::Version
|
|
103
103
|
version: '1.5'
|
|
104
104
|
type: :development
|
|
105
105
|
prerelease: false
|
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
|
107
107
|
requirements:
|
|
108
|
-
- -
|
|
108
|
+
- - ~>
|
|
109
109
|
- !ruby/object:Gem::Version
|
|
110
110
|
version: '1.5'
|
|
111
|
+
- !ruby/object:Gem::Dependency
|
|
112
|
+
name: hoe-travis
|
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
|
114
|
+
requirements:
|
|
115
|
+
- - ~>
|
|
116
|
+
- !ruby/object:Gem::Version
|
|
117
|
+
version: '1.2'
|
|
118
|
+
type: :development
|
|
119
|
+
prerelease: false
|
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
121
|
+
requirements:
|
|
122
|
+
- - ~>
|
|
123
|
+
- !ruby/object:Gem::Version
|
|
124
|
+
version: '1.2'
|
|
111
125
|
- !ruby/object:Gem::Dependency
|
|
112
126
|
name: minitest-autotest
|
|
113
127
|
requirement: !ruby/object:Gem::Requirement
|
|
114
128
|
requirements:
|
|
115
|
-
- -
|
|
129
|
+
- - ~>
|
|
116
130
|
- !ruby/object:Gem::Version
|
|
117
131
|
version: '1.0'
|
|
118
132
|
type: :development
|
|
119
133
|
prerelease: false
|
|
120
134
|
version_requirements: !ruby/object:Gem::Requirement
|
|
121
135
|
requirements:
|
|
122
|
-
- -
|
|
136
|
+
- - ~>
|
|
123
137
|
- !ruby/object:Gem::Version
|
|
124
138
|
version: '1.0'
|
|
125
139
|
- !ruby/object:Gem::Dependency
|
|
126
140
|
name: minitest-bisect
|
|
127
141
|
requirement: !ruby/object:Gem::Requirement
|
|
128
142
|
requirements:
|
|
129
|
-
- -
|
|
143
|
+
- - ~>
|
|
130
144
|
- !ruby/object:Gem::Version
|
|
131
145
|
version: '1.2'
|
|
132
146
|
type: :development
|
|
133
147
|
prerelease: false
|
|
134
148
|
version_requirements: !ruby/object:Gem::Requirement
|
|
135
149
|
requirements:
|
|
136
|
-
- -
|
|
150
|
+
- - ~>
|
|
137
151
|
- !ruby/object:Gem::Version
|
|
138
152
|
version: '1.2'
|
|
139
153
|
- !ruby/object:Gem::Dependency
|
|
140
154
|
name: minitest-focus
|
|
141
155
|
requirement: !ruby/object:Gem::Requirement
|
|
142
156
|
requirements:
|
|
143
|
-
- -
|
|
157
|
+
- - ~>
|
|
144
158
|
- !ruby/object:Gem::Version
|
|
145
159
|
version: '1.1'
|
|
146
160
|
type: :development
|
|
147
161
|
prerelease: false
|
|
148
162
|
version_requirements: !ruby/object:Gem::Requirement
|
|
149
163
|
requirements:
|
|
150
|
-
- -
|
|
164
|
+
- - ~>
|
|
151
165
|
- !ruby/object:Gem::Version
|
|
152
166
|
version: '1.1'
|
|
153
167
|
- !ruby/object:Gem::Dependency
|
|
154
168
|
name: minitest-moar
|
|
155
169
|
requirement: !ruby/object:Gem::Requirement
|
|
156
170
|
requirements:
|
|
157
|
-
- -
|
|
171
|
+
- - ~>
|
|
158
172
|
- !ruby/object:Gem::Version
|
|
159
173
|
version: '0.0'
|
|
160
174
|
type: :development
|
|
161
175
|
prerelease: false
|
|
162
176
|
version_requirements: !ruby/object:Gem::Requirement
|
|
163
177
|
requirements:
|
|
164
|
-
- -
|
|
178
|
+
- - ~>
|
|
165
179
|
- !ruby/object:Gem::Version
|
|
166
180
|
version: '0.0'
|
|
167
181
|
- !ruby/object:Gem::Dependency
|
|
168
182
|
name: minitest-pretty_diff
|
|
169
183
|
requirement: !ruby/object:Gem::Requirement
|
|
170
184
|
requirements:
|
|
171
|
-
- -
|
|
185
|
+
- - ~>
|
|
172
186
|
- !ruby/object:Gem::Version
|
|
173
187
|
version: '0.1'
|
|
174
188
|
type: :development
|
|
175
189
|
prerelease: false
|
|
176
190
|
version_requirements: !ruby/object:Gem::Requirement
|
|
177
191
|
requirements:
|
|
178
|
-
- -
|
|
192
|
+
- - ~>
|
|
179
193
|
- !ruby/object:Gem::Version
|
|
180
194
|
version: '0.1'
|
|
181
195
|
- !ruby/object:Gem::Dependency
|
|
182
196
|
name: simplecov
|
|
183
197
|
requirement: !ruby/object:Gem::Requirement
|
|
184
198
|
requirements:
|
|
185
|
-
- -
|
|
199
|
+
- - ~>
|
|
186
200
|
- !ruby/object:Gem::Version
|
|
187
201
|
version: '0.7'
|
|
188
202
|
type: :development
|
|
189
203
|
prerelease: false
|
|
190
204
|
version_requirements: !ruby/object:Gem::Requirement
|
|
191
205
|
requirements:
|
|
192
|
-
- -
|
|
206
|
+
- - ~>
|
|
193
207
|
- !ruby/object:Gem::Version
|
|
194
208
|
version: '0.7'
|
|
195
209
|
- !ruby/object:Gem::Dependency
|
|
196
210
|
name: hoe
|
|
197
211
|
requirement: !ruby/object:Gem::Requirement
|
|
198
212
|
requirements:
|
|
199
|
-
- -
|
|
213
|
+
- - ~>
|
|
200
214
|
- !ruby/object:Gem::Version
|
|
201
215
|
version: '3.13'
|
|
202
216
|
type: :development
|
|
203
217
|
prerelease: false
|
|
204
218
|
version_requirements: !ruby/object:Gem::Requirement
|
|
205
219
|
requirements:
|
|
206
|
-
- -
|
|
220
|
+
- - ~>
|
|
207
221
|
- !ruby/object:Gem::Version
|
|
208
222
|
version: '3.13'
|
|
209
223
|
description: |-
|
|
@@ -226,9 +240,10 @@ extra_rdoc_files:
|
|
|
226
240
|
- Manifest.txt
|
|
227
241
|
- README.rdoc
|
|
228
242
|
files:
|
|
229
|
-
-
|
|
230
|
-
-
|
|
231
|
-
-
|
|
243
|
+
- .autotest
|
|
244
|
+
- .gemtest
|
|
245
|
+
- .minitest.rb
|
|
246
|
+
- .travis.yml
|
|
232
247
|
- Contributing.rdoc
|
|
233
248
|
- Gemfile
|
|
234
249
|
- History.rdoc
|
|
@@ -237,29 +252,31 @@ files:
|
|
|
237
252
|
- README.rdoc
|
|
238
253
|
- Rakefile
|
|
239
254
|
- lib/cartage/rack.rb
|
|
255
|
+
- test/minitest_config.rb
|
|
256
|
+
- test/test_cartage_rack.rb
|
|
240
257
|
homepage: https://github.com/KineticCafe/cartage-rack/
|
|
241
258
|
licenses:
|
|
242
259
|
- MIT
|
|
243
260
|
metadata: {}
|
|
244
261
|
post_install_message:
|
|
245
262
|
rdoc_options:
|
|
246
|
-
-
|
|
263
|
+
- --main
|
|
247
264
|
- README.rdoc
|
|
248
265
|
require_paths:
|
|
249
266
|
- lib
|
|
250
267
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
251
268
|
requirements:
|
|
252
|
-
- -
|
|
269
|
+
- - '>='
|
|
253
270
|
- !ruby/object:Gem::Version
|
|
254
271
|
version: '0'
|
|
255
272
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
256
273
|
requirements:
|
|
257
|
-
- -
|
|
274
|
+
- - '>='
|
|
258
275
|
- !ruby/object:Gem::Version
|
|
259
276
|
version: '0'
|
|
260
277
|
requirements: []
|
|
261
278
|
rubyforge_project:
|
|
262
|
-
rubygems_version: 2.
|
|
279
|
+
rubygems_version: 2.0.14
|
|
263
280
|
signing_key:
|
|
264
281
|
specification_version: 4
|
|
265
282
|
summary: cartage-rack is a plug-in for {cartage}[https://github.com/KineticCafe/cartage]
|