web_pipe 0.7.0 → 0.8.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ce3123c1c702c02eaab09f4cb56209b512499d913fddaa55a95307e779748e15
4
- data.tar.gz: f8fdcce1e652e37b719e3a621b19f9762ec3a47b74ff39ab4695f30f5ea0722c
3
+ metadata.gz: '09151400e351c909383b2cc9308910d209c6207fc978a55c59eb02997d29b3c7'
4
+ data.tar.gz: c2fff9105cc8cecc5aad8e2a7232f1a902bb3ec5d30e3a6b4e130db6128ba57b
5
5
  SHA512:
6
- metadata.gz: 117619501c7d97297266b8ac7cd89a6a2440c1cca7a1791da00e2b2a1935e790e4cd0d1877ea9ec5c9208cc9bac6ed8e07b981b04708102d67ca2760d1ed95e6
7
- data.tar.gz: '08a391660d75a830e5e9e0bda97b62a4b299f5f543a86959d5fe86c8dda823b11438640d253400ec8a742a009c2a312cdeeb6a95c7a4cb4af4711589e5075fdd'
6
+ metadata.gz: da96a1e7cdd4278db92e14692248046dbcbeb04c1592ae01dd326b3958f42873f0564080ba70379690ec390bf37160885bbe20e591b6281b97617bac0cc402e5
7
+ data.tar.gz: e429d891a90cd7c90d9ccf11baca675c508906891c07f833a937c90d3ba751a7f85d73b03823be037e80a77cc20ba729c75115e61f6891829774614813045804
@@ -4,6 +4,11 @@ All notable changes to this project will be documented in this file.
4
4
  The format is based on [Keep a Changelog](http://keepachangelog.com/)
5
5
  and this project adheres to [Semantic Versioning](http://semver.org/).
6
6
 
7
+ ## [0.8.0] - 2019-08-30
8
+ ### Added
9
+ - **BREAKING**. Rename `Rack` module to `RackSupport`.
10
+ [[#34]](https://github.com/waiting-for-dev/web_pipe/pull/34)
11
+
7
12
  ## [0.7.0] - 2019-08-27
8
13
  ### Added
9
14
  - **BREAKING**. `Conn#config` instead of `Conn#bag` for extension configuration.
@@ -14,7 +14,7 @@ module WebPipe
14
14
  #
15
15
  # @return [Conn::Ongoing]
16
16
  def self.call(env)
17
- rr = ::Rack::Request.new(env)
17
+ rr = Rack::Request.new(env)
18
18
  Conn::Ongoing.new(
19
19
  request: rr,
20
20
  env: env,
@@ -33,4 +33,4 @@ module WebPipe
33
33
  end
34
34
  end
35
35
  end
36
- end
36
+ end
@@ -11,7 +11,7 @@ module WebPipe
11
11
  include Dry.Types()
12
12
 
13
13
  Env = Strict::Hash
14
- Request = Instance(::Rack::Request)
14
+ Request = Instance(Rack::Request)
15
15
 
16
16
  Scheme = Strict::Symbol.enum(:http, :https)
17
17
  Method = Strict::Symbol.enum(
@@ -39,4 +39,4 @@ module WebPipe
39
39
  default { {} }
40
40
  end
41
41
  end
42
- end
42
+ end
@@ -1,7 +1,7 @@
1
1
  require 'web_pipe'
2
2
  require 'web_pipe/types'
3
3
  require 'web_pipe/plug'
4
- require 'web_pipe/rack/middleware_specification'
4
+ require 'web_pipe/rack_support/middleware_specification'
5
5
 
6
6
  module WebPipe
7
7
  module DSL
@@ -13,7 +13,7 @@ module WebPipe
13
13
  # @api private
14
14
  class DSLContext
15
15
  # @!attribute middleware_specifications
16
- # @return [Array<Rack::MiddlewareSpecifications>]
16
+ # @return [Array<RackSupport::MiddlewareSpecifications>]
17
17
  attr_reader :middleware_specifications
18
18
 
19
19
  # @!attribute plugs
@@ -22,7 +22,7 @@ module WebPipe
22
22
 
23
23
  def initialize(middleware_specifications, plugs)
24
24
  @middleware_specifications = Types.Array(
25
- Rack::MiddlewareSpecification
25
+ RackSupport::MiddlewareSpecification
26
26
  )[middleware_specifications]
27
27
  @plugs = Types.Array(Plug::Instance)[plugs]
28
28
  end
@@ -37,12 +37,12 @@ module WebPipe
37
37
  # - As a {WebPipe} class instance, in which case all its rack
38
38
  # middlewares will be considered.
39
39
  #
40
- # @param name [Rack::MiddlewareSpecification::Name[]]
41
- # @param spec [Rack::MiddlewareSpecification::Spec[]]
40
+ # @param name [RackSupport::MiddlewareSpecification::Name[]]
41
+ # @param spec [RackSupport::MiddlewareSpecification::Spec[]]
42
42
  #
43
- # @return [Array<Rack::Middleware>]
43
+ # @return [Array<RackSupport::Middleware>]
44
44
  def use(name, *spec)
45
- middleware_specifications << Rack::MiddlewareSpecification.new(name: name, spec: spec)
45
+ middleware_specifications << RackSupport::MiddlewareSpecification.new(name: name, spec: spec)
46
46
  end
47
47
 
48
48
  # Creates and adds a plug to the stack.
@@ -80,4 +80,4 @@ module WebPipe
80
80
  end
81
81
  end
82
82
  end
83
- end
83
+ end
@@ -2,8 +2,8 @@ require 'web_pipe/types'
2
2
  require 'web_pipe/conn'
3
3
  require 'web_pipe/app'
4
4
  require 'web_pipe/plug'
5
- require 'web_pipe/rack/app_with_middlewares'
6
- require 'web_pipe/rack/middleware_specification'
5
+ require 'web_pipe/rack_support/app_with_middlewares'
6
+ require 'web_pipe/rack_support/middleware_specification'
7
7
  require 'web_pipe/conn_support/composition'
8
8
 
9
9
  module WebPipe
@@ -29,7 +29,7 @@ module WebPipe
29
29
  # Type for how plugs and middlewares should be injected.
30
30
  Injections = Types::Strict::Hash.schema(
31
31
  plugs: Plug::Injections,
32
- middlewares: Rack::MiddlewareSpecification::Injections
32
+ middlewares: RackSupport::MiddlewareSpecification::Injections
33
33
  )
34
34
 
35
35
  # @!attribute [r] injections [Injections[]]
@@ -37,26 +37,26 @@ module WebPipe
37
37
  # has been configured.
38
38
  attr_reader :injections
39
39
 
40
- # @return [Rack::AppWithMiddlewares[]]
40
+ # @return [RackSupport::AppWithMiddlewares[]]
41
41
  attr_reader :rack_app
42
42
 
43
43
  # @return [ConnSupport::Composition::Operation[]]
44
44
  attr_reader :operations
45
45
 
46
- # @return [Array<Rack::Middlewares>]
46
+ # @return [Array<RackSupport::Middlewares>]
47
47
  attr_reader :middlewares
48
48
 
49
49
  def initialize(injects = EMPTY_INJECTIONS)
50
50
  @injections = Injections[injects]
51
51
  container = self.class.container
52
- @middlewares = Rack::MiddlewareSpecification.inject_and_resolve(
52
+ @middlewares = RackSupport::MiddlewareSpecification.inject_and_resolve(
53
53
  self.class.middleware_specifications, injections[:middlewares]
54
54
  )
55
55
  @operations = Plug.inject_and_resolve(
56
56
  self.class.plugs, injections[:plugs], container, self
57
57
  )
58
58
  app = App.new(operations)
59
- @rack_app = Rack::AppWithMiddlewares.new(middlewares, app)
59
+ @rack_app = RackSupport::AppWithMiddlewares.new(middlewares, app)
60
60
  end
61
61
 
62
62
  # Expected interface for rack.
@@ -107,4 +107,4 @@ module WebPipe
107
107
  end
108
108
  end
109
109
  end
110
- end
110
+ end
@@ -60,7 +60,7 @@ module WebPipe
60
60
  # @param value [String]
61
61
  # @param opts [SET_COOKIE_OPTIONS[]]
62
62
  def set_cookie(key, value, opts = Types::EMPTY_HASH)
63
- ::Rack::Utils.set_cookie_header!(
63
+ Rack::Utils.set_cookie_header!(
64
64
  response_headers,
65
65
  key,
66
66
  { value: value }.merge(SET_COOKIE_OPTIONS[opts])
@@ -71,7 +71,7 @@ module WebPipe
71
71
  # @param key [String]
72
72
  # @param opts [DELETE_COOKIE_OPTIONS[]]
73
73
  def delete_cookie(key, opts = Types::EMPTY_HASH)
74
- ::Rack::Utils.delete_cookie_header!(
74
+ Rack::Utils.delete_cookie_header!(
75
75
  response_headers,
76
76
  key,
77
77
  DELETE_COOKIE_OPTIONS[opts]
@@ -81,4 +81,4 @@ module WebPipe
81
81
  end
82
82
 
83
83
  Conn.include(Cookies)
84
- end
84
+ end
@@ -34,7 +34,7 @@ module WebPipe
34
34
  #
35
35
  # @return [Rack::Session::Abstract::SessionHash]
36
36
  def session
37
- env.fetch(::Rack::RACK_SESSION) do
37
+ env.fetch(Rack::RACK_SESSION) do
38
38
  raise ConnSupport::MissingMiddlewareError.new(
39
39
  'session', 'Rack::Session', 'https://www.rubydoc.info/github/rack/rack/Rack/Session'
40
40
  )
@@ -83,4 +83,4 @@ module WebPipe
83
83
  end
84
84
 
85
85
  Conn.include(Session)
86
- end
86
+ end
@@ -1,9 +1,9 @@
1
1
  require 'web_pipe/types'
2
- require 'web_pipe/rack/middleware'
2
+ require 'web_pipe/rack_support/middleware'
3
3
  require 'rack'
4
4
 
5
5
  module WebPipe
6
- module Rack
6
+ module RackSupport
7
7
  # Helper to build and call a rack application with middlewares.
8
8
  #
9
9
  # @api private
@@ -43,7 +43,7 @@ module WebPipe
43
43
  private
44
44
 
45
45
  def build_rack_app(rack_middlewares, app)
46
- ::Rack::Builder.new.tap do |b|
46
+ Rack::Builder.new.tap do |b|
47
47
  rack_middlewares.each do |middleware|
48
48
  b.use(middleware.middleware, *middleware.options)
49
49
  end
@@ -52,4 +52,4 @@ module WebPipe
52
52
  end
53
53
  end
54
54
  end
55
- end
55
+ end
@@ -2,7 +2,7 @@ require 'web_pipe/types'
2
2
  require 'dry/struct'
3
3
 
4
4
  module WebPipe
5
- module Rack
5
+ module RackSupport
6
6
  # Simple data structure to represent a rack middleware class with
7
7
  # its initialization options.
8
8
  #
@@ -23,4 +23,4 @@ module WebPipe
23
23
  attribute :options, Options
24
24
  end
25
25
  end
26
- end
26
+ end
@@ -1,9 +1,9 @@
1
1
  require 'dry/struct'
2
- require 'web_pipe/rack/middleware'
2
+ require 'web_pipe/rack_support/middleware'
3
3
  require 'web_pipe/types'
4
4
 
5
5
  module WebPipe
6
- module Rack
6
+ module RackSupport
7
7
  # Specification on how to resolve {Rack::Middleware}'s.
8
8
  #
9
9
  # Rack middlewares can be specified in two ways:
@@ -11,8 +11,8 @@ module WebPipe
11
11
  # - As an array where fist element is a rack middleware class
12
12
  # while the rest of elements are its initialization options.
13
13
  # - A single element array where it is an instance of a class
14
- # including {WebPipe}. This specifies all {Rack::Middlewares}
15
- # for that {WebPipe}.
14
+ # including {WebPipe}. This specifies all {RackSupport::Middlewares} for
15
+ # that {WebPipe}.
16
16
  #
17
17
  # @api private
18
18
  class MiddlewareSpecification < Dry::Struct
@@ -26,7 +26,7 @@ module WebPipe
26
26
  #
27
27
  # @see #inject_and_resolve
28
28
  Injections = Types::Strict::Hash.map(
29
- Rack::MiddlewareSpecification::Name, Rack::MiddlewareSpecification::Spec
29
+ RackSupport::MiddlewareSpecification::Name, RackSupport::MiddlewareSpecification::Spec
30
30
  ).default(Types::EMPTY_HASH)
31
31
 
32
32
  # @!attribute [r] name
@@ -42,7 +42,7 @@ module WebPipe
42
42
  # @param middleware_specifications [Array<MiddlewareSpecification>]
43
43
  # @param injections [Injections[]]
44
44
  #
45
- # @return [Array<Rack::Middleware>]
45
+ # @return [Array<RackSupport::Middleware>]
46
46
  def self.inject_and_resolve(middleware_specifications, injections)
47
47
  middleware_specifications.map do |spec|
48
48
  if injections.has_key?(spec.name)
@@ -53,9 +53,9 @@ module WebPipe
53
53
  end.flatten
54
54
  end
55
55
 
56
- # Resolves {Rack::Middlewares} from given specification.
56
+ # Resolves {RackSupport::Middlewares} from given specification.
57
57
  #
58
- # @return [Array<Rack::Middleware>]
58
+ # @return [Array<RackSupport::Middleware>]
59
59
  def call
60
60
  klass = spec[0]
61
61
  options = spec[1..-1] || Types::EMPTY_ARRAY
@@ -1,3 +1,3 @@
1
1
  module WebPipe
2
- VERSION = "0.7.0"
2
+ VERSION = "0.8.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: web_pipe
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marc Busqué
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-08-27 00:00:00.000000000 Z
11
+ date: 2019-08-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rack
@@ -272,9 +272,9 @@ files:
272
272
  - lib/web_pipe/plugs.rb
273
273
  - lib/web_pipe/plugs/config.rb
274
274
  - lib/web_pipe/plugs/content_type.rb
275
- - lib/web_pipe/rack/app_with_middlewares.rb
276
- - lib/web_pipe/rack/middleware.rb
277
- - lib/web_pipe/rack/middleware_specification.rb
275
+ - lib/web_pipe/rack_support/app_with_middlewares.rb
276
+ - lib/web_pipe/rack_support/middleware.rb
277
+ - lib/web_pipe/rack_support/middleware_specification.rb
278
278
  - lib/web_pipe/types.rb
279
279
  - lib/web_pipe/version.rb
280
280
  - web_pipe.gemspec