rack-deflatermaus 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1dd437a4c7124c0a9ef5befd8e1c916f66d02757
4
- data.tar.gz: 107f3c9c4b0b143fd17d0a75c89c1eae903105ee
3
+ metadata.gz: 3f8ba9d0f307353d796a0b55f64557db74525243
4
+ data.tar.gz: e0c2f4e0479e19fe07152d9f578945fc618bea3c
5
5
  SHA512:
6
- metadata.gz: d4027d7c4e898d4beaaa3b43110e3e0cae9f82937ec79750917587139f0bac5942d462f37fcd7a4a1430d33f249d3b619185eb790fc096b9e932a9ae63e51c14
7
- data.tar.gz: 69b7c8b2d363a42170e5c62e160fe17352a24b679ca5cc40199b6265b9ae3b56eaed66d8017dfd351e6c845bc59b5ffead16e018ba221473c4eac0e087703323
6
+ metadata.gz: aeea82c4e21a67c055971a19be23fe287d0d4b9c997a4575031b1e8a058d09d52268f30c8a9d155a36948aac2f649c77b51c6f3552011616208401d5582f3e7b
7
+ data.tar.gz: 58912a24a1e41af3776147537ad7881a6b8c5367ebe86b6f0b6ce3e0f24520c422f1ea4989da80bab4fa154857af69ccc795fd7a2a00efc35890f37cf037049d
@@ -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
@@ -0,0 +1,8 @@
1
+ # 0.0.2
2
+
3
+ * Now a drop-in replacement for `Rack::Deflater`
4
+
5
+ # 0.0.1
6
+
7
+ * Initial version
8
+ * Plays five minutes of the overture from *Die Fledermaus*
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 standard Rack middleware.
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, and load a page, any page.
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
@@ -1,2 +1,7 @@
1
1
  require "bundler/gem_tasks"
2
+ require "rspec/core/rake_task"
3
+
4
+ RSpec::Core::RakeTask.new
5
+
6
+ task default: :spec
2
7
 
@@ -1,16 +1,18 @@
1
- require "rack/deflatermaus/version"
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
- @app = app
9
+ @deflater = Deflater.new(app)
8
10
  end
9
11
 
10
12
  def call(env)
11
13
  Player.new.play
12
14
 
13
- @app.call(env)
15
+ @deflater.call(env)
14
16
  end
15
17
  end
16
18
  end
@@ -1,5 +1,5 @@
1
1
  module Rack
2
2
  class Deflatermaus
3
- VERSION = "0.0.1"
3
+ VERSION = "0.0.2"
4
4
  end
5
5
  end
@@ -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
- require 'rack/deflatermaus/version'
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
@@ -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.1
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-28 00:00:00.000000000 Z
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