rack-deflatermaus 0.0.1 → 0.0.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 +4 -4
- data/.travis.yml +17 -0
- data/NEWS.md +8 -0
- data/README.md +5 -2
- data/Rakefile +5 -0
- data/lib/rack/deflatermaus.rb +5 -3
- data/lib/rack/deflatermaus/version.rb +1 -1
- data/rack-deflatermaus.gemspec +5 -1
- data/spec/rack/deflatermaus_spec.rb +39 -0
- data/spec/spec_helper.rb +17 -0
- metadata +51 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3f8ba9d0f307353d796a0b55f64557db74525243
|
4
|
+
data.tar.gz: e0c2f4e0479e19fe07152d9f578945fc618bea3c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: aeea82c4e21a67c055971a19be23fe287d0d4b9c997a4575031b1e8a058d09d52268f30c8a9d155a36948aac2f649c77b51c6f3552011616208401d5582f3e7b
|
7
|
+
data.tar.gz: 58912a24a1e41af3776147537ad7881a6b8c5367ebe86b6f0b6ce3e0f24520c422f1ea4989da80bab4fa154857af69ccc795fd7a2a00efc35890f37cf037049d
|
data/.travis.yml
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
language:
|
2
|
+
- ruby
|
3
|
+
rvm:
|
4
|
+
- 2.0.0
|
5
|
+
- 2.1.5
|
6
|
+
- 2.2.0
|
7
|
+
before_install:
|
8
|
+
- sudo apt-get update
|
9
|
+
- sudo apt-get install libjack0 libjack-dev
|
10
|
+
- sudo apt-get install libportaudiocpp0 portaudio19-dev libmpg123-dev
|
11
|
+
branches:
|
12
|
+
only:
|
13
|
+
- master
|
14
|
+
cache:
|
15
|
+
- bundler
|
16
|
+
notifications:
|
17
|
+
email: false
|
data/NEWS.md
ADDED
data/README.md
CHANGED
@@ -32,7 +32,10 @@ Or install it yourself as:
|
|
32
32
|
|
33
33
|
## Usage
|
34
34
|
|
35
|
-
`Rack::Deflatermaus` is a
|
35
|
+
`Rack::Deflatermaus` is a drop-in replacement for [`Rack::Deflater`]. You can
|
36
|
+
use it anywhere you'd use `Rack::Deflater`.
|
37
|
+
|
38
|
+
[`Rack::Deflater`]: http://robots.thoughtbot.com/content-compression-with-rack-deflater
|
36
39
|
|
37
40
|
In Rails:
|
38
41
|
|
@@ -50,7 +53,7 @@ In any Rack application:
|
|
50
53
|
use Rack::Deflatermaus
|
51
54
|
```
|
52
55
|
|
53
|
-
Restart your application
|
56
|
+
Restart your application and load a page, any page.
|
54
57
|
|
55
58
|
## I want to use this with Rack::Timeout, how long does the music play for?
|
56
59
|
|
data/Rakefile
CHANGED
data/lib/rack/deflatermaus.rb
CHANGED
@@ -1,16 +1,18 @@
|
|
1
|
-
require "rack/
|
1
|
+
require "rack/deflater"
|
2
|
+
|
2
3
|
require "rack/deflatermaus/player"
|
4
|
+
require "rack/deflatermaus/version"
|
3
5
|
|
4
6
|
module Rack
|
5
7
|
class Deflatermaus
|
6
8
|
def initialize(app)
|
7
|
-
@
|
9
|
+
@deflater = Deflater.new(app)
|
8
10
|
end
|
9
11
|
|
10
12
|
def call(env)
|
11
13
|
Player.new.play
|
12
14
|
|
13
|
-
@
|
15
|
+
@deflater.call(env)
|
14
16
|
end
|
15
17
|
end
|
16
18
|
end
|
data/rack-deflatermaus.gemspec
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
# coding: utf-8
|
2
2
|
lib = File.expand_path('../lib', __FILE__)
|
3
3
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
-
|
4
|
+
|
5
|
+
require "rack/deflatermaus/version"
|
5
6
|
|
6
7
|
Gem::Specification.new do |spec|
|
7
8
|
spec.name = "rack-deflatermaus"
|
@@ -18,7 +19,10 @@ Gem::Specification.new do |spec|
|
|
18
19
|
spec.require_paths = ["lib"]
|
19
20
|
|
20
21
|
spec.add_dependency "audite", "~> 0.4.0"
|
22
|
+
spec.add_dependency "rack"
|
21
23
|
|
22
24
|
spec.add_development_dependency "bundler", "~> 1.7"
|
25
|
+
spec.add_development_dependency "rack-test"
|
23
26
|
spec.add_development_dependency "rake", "~> 10.0"
|
27
|
+
spec.add_development_dependency "rspec", "~> 3.1.0"
|
24
28
|
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
describe Rack::Deflatermaus do
|
4
|
+
it "plays some music" do
|
5
|
+
player = stub_player
|
6
|
+
|
7
|
+
get "/"
|
8
|
+
|
9
|
+
expect(player).to have_received(:play)
|
10
|
+
end
|
11
|
+
|
12
|
+
it "compresses the response" do
|
13
|
+
stub_player
|
14
|
+
|
15
|
+
get "/", "", "HTTP_ACCEPT_ENCODING" => "gzip"
|
16
|
+
|
17
|
+
expect(last_response.headers["Content-Encoding"]).to eq "gzip"
|
18
|
+
expect(last_response.headers["Vary"]).to eq "Accept-Encoding"
|
19
|
+
expect(gunzip(last_response.body)).to eq "hello from Rack"
|
20
|
+
end
|
21
|
+
|
22
|
+
def stub_player
|
23
|
+
player = double("player", play: nil)
|
24
|
+
allow(Rack::Deflatermaus::Player).to receive(:new).and_return(player)
|
25
|
+
player
|
26
|
+
end
|
27
|
+
|
28
|
+
def gunzip(string)
|
29
|
+
Zlib::GzipReader.new(StringIO.new(string)).read
|
30
|
+
end
|
31
|
+
|
32
|
+
def app
|
33
|
+
Rack::Builder.new do
|
34
|
+
use Rack::Deflatermaus
|
35
|
+
|
36
|
+
run lambda { |env| [200, env, ["hello from Rack"]] }
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
$LOAD_PATH << File.join(File.dirname(__FILE__), "..", "lib")
|
2
|
+
|
3
|
+
require "rack"
|
4
|
+
require "rack/deflatermaus"
|
5
|
+
|
6
|
+
require "rspec"
|
7
|
+
require "rack/test"
|
8
|
+
|
9
|
+
Dir["spec/support/**/*.rb"].each { |f| require File.expand_path(f) }
|
10
|
+
|
11
|
+
RSpec.configure do |config|
|
12
|
+
config.include Rack::Test::Methods
|
13
|
+
|
14
|
+
config.expect_with :rspec do |c|
|
15
|
+
c.syntax = :expect
|
16
|
+
end
|
17
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rack-deflatermaus
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gabe Berke-Williams
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-01-
|
11
|
+
date: 2015-01-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: audite
|
@@ -24,6 +24,20 @@ dependencies:
|
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 0.4.0
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rack
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: bundler
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -38,6 +52,20 @@ dependencies:
|
|
38
52
|
- - "~>"
|
39
53
|
- !ruby/object:Gem::Version
|
40
54
|
version: '1.7'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rack-test
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
41
69
|
- !ruby/object:Gem::Dependency
|
42
70
|
name: rake
|
43
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -52,6 +80,20 @@ dependencies:
|
|
52
80
|
- - "~>"
|
53
81
|
- !ruby/object:Gem::Version
|
54
82
|
version: '10.0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: rspec
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 3.1.0
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: 3.1.0
|
55
97
|
description:
|
56
98
|
email:
|
57
99
|
- gabebw@gabebw.com
|
@@ -60,9 +102,11 @@ extensions: []
|
|
60
102
|
extra_rdoc_files: []
|
61
103
|
files:
|
62
104
|
- ".gitignore"
|
105
|
+
- ".travis.yml"
|
63
106
|
- ATTRIBUTION.txt
|
64
107
|
- Gemfile
|
65
108
|
- LICENSE.txt
|
109
|
+
- NEWS.md
|
66
110
|
- README.md
|
67
111
|
- Rakefile
|
68
112
|
- lib/rack/deflatermaus.rb
|
@@ -70,6 +114,8 @@ files:
|
|
70
114
|
- lib/rack/deflatermaus/player.rb
|
71
115
|
- lib/rack/deflatermaus/version.rb
|
72
116
|
- rack-deflatermaus.gemspec
|
117
|
+
- spec/rack/deflatermaus_spec.rb
|
118
|
+
- spec/spec_helper.rb
|
73
119
|
homepage: https://github.com/gabebw/rack-deflatermaus
|
74
120
|
licenses:
|
75
121
|
- MIT
|
@@ -94,4 +140,6 @@ rubygems_version: 2.4.5
|
|
94
140
|
signing_key:
|
95
141
|
specification_version: 4
|
96
142
|
summary: Play a selection from Die Fledermaus with every request.
|
97
|
-
test_files:
|
143
|
+
test_files:
|
144
|
+
- spec/rack/deflatermaus_spec.rb
|
145
|
+
- spec/spec_helper.rb
|