sinatra-contrib 2.2.3 → 3.1.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.
@@ -1,7 +1,8 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'sinatra/base'
2
4
 
3
5
  module Sinatra
4
-
5
6
  # = Sinatra::Streaming
6
7
  #
7
8
  # Sinatra 1.3 introduced the +stream+ helper. This addon improves the
@@ -84,13 +85,14 @@ module Sinatra
84
85
  end
85
86
 
86
87
  module Stream
87
-
88
88
  attr_accessor :app, :lineno, :pos, :transformer, :closed
89
89
  alias tell pos
90
90
  alias closed? closed
91
91
 
92
92
  def self.extended(obj)
93
- obj.closed, obj.lineno, obj.pos = false, 0, 0
93
+ obj.closed = false
94
+ obj.lineno = 0
95
+ obj.pos = 0
94
96
  obj.callback { obj.closed = true }
95
97
  obj.errback { obj.closed = true }
96
98
  end
@@ -108,6 +110,7 @@ module Sinatra
108
110
  def each
109
111
  # that way body.each.map { ... } works
110
112
  return self unless block_given?
113
+
111
114
  super
112
115
  end
113
116
 
@@ -120,7 +123,8 @@ module Sinatra
120
123
  @transformer ||= nil
121
124
 
122
125
  if @transformer
123
- inner, outer = @transformer, block
126
+ inner = @transformer
127
+ outer = block
124
128
  block = proc { |value| outer[inner[value]] }
125
129
  end
126
130
  @transformer = block
@@ -132,7 +136,7 @@ module Sinatra
132
136
  data.to_s.bytesize
133
137
  end
134
138
 
135
- alias syswrite write
139
+ alias syswrite write
136
140
  alias write_nonblock write
137
141
 
138
142
  def print(*args)
@@ -154,7 +158,7 @@ module Sinatra
154
158
  end
155
159
 
156
160
  def close_read
157
- raise IOError, "closing non-duplex IO for reading"
161
+ raise IOError, 'closing non-duplex IO for reading'
158
162
  end
159
163
 
160
164
  def closed_read?
@@ -171,10 +175,6 @@ module Sinatra
171
175
  settings.default_encoding
172
176
  end
173
177
 
174
- def closed?
175
- @closed
176
- end
177
-
178
178
  def settings
179
179
  app.settings
180
180
  end
@@ -184,7 +184,7 @@ module Sinatra
184
184
  end
185
185
 
186
186
  def not_open_for_reading(*)
187
- raise IOError, "not opened for reading"
187
+ raise IOError, 'not opened for reading'
188
188
  end
189
189
 
190
190
  alias bytes not_open_for_reading
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'sinatra/base'
2
4
  require 'rack'
3
5
  begin
@@ -13,19 +15,6 @@ module Sinatra
13
15
  # Helper methods to ease testing your Sinatra application. Partly extracted
14
16
  # from Sinatra. Testing framework agnostic.
15
17
  module TestHelpers
16
- # Test variant of session, which exposes a `global_env`.
17
- class Session < Rack::Test::Session
18
- def global_env
19
- @global_env ||= {}
20
- end
21
-
22
- private
23
-
24
- def default_env
25
- super.merge global_env
26
- end
27
- end
28
-
29
18
  include Rack::Test::Methods
30
19
  extend Forwardable
31
20
  attr_accessor :settings
@@ -36,7 +25,7 @@ module Sinatra
36
25
  #
37
26
  # Body of last_response
38
27
  #
39
- # @see http://www.rubydoc.info/github/rack/rack/master/Rack/Response#body-instance_method
28
+ # @see https://www.rubydoc.info/github/rack/rack/main/Rack/Response#body-instance_method
40
29
  # @return [String] body of the last response
41
30
 
42
31
  # @!method headers
@@ -115,7 +104,7 @@ module Sinatra
115
104
  # @!group Instance Methods delegated to rack_mock_session
116
105
  # @!method cookie_jar
117
106
  #
118
- # Returns a {http://www.rubydoc.info/github/rack-test/rack-test/Rack/Test/CookieJar Rack::Test::CookieJar}.
107
+ # Returns a {https://www.rubydoc.info/github/rack/rack-test/Rack/Test/CookieJar Rack::Test::CookieJar}.
119
108
  #
120
109
  # @return [Rack::Test::CookieJar]
121
110
  def_delegators :rack_mock_session, :cookie_jar
@@ -171,7 +160,7 @@ module Sinatra
171
160
  # @param params [Hash]
172
161
  # @param env [Hash]
173
162
  def options(uri, params = {}, env = {}, &block)
174
- env = env_for(uri, env.merge(:method => "OPTIONS", :params => params))
163
+ env = env_for(uri, env.merge(method: 'OPTIONS', params: params))
175
164
  current_session.send(:process_request, uri, env, &block)
176
165
  end
177
166
  end
@@ -183,7 +172,7 @@ module Sinatra
183
172
  # @param params [Hash]
184
173
  # @param env [Hash]
185
174
  def patch(uri, params = {}, env = {}, &block)
186
- env = env_for(uri, env.merge(:method => "PATCH", :params => params))
175
+ env = env_for(uri, env.merge(method: 'PATCH', params: params))
187
176
  current_session.send(:process_request, uri, env, &block)
188
177
  end
189
178
  end
@@ -200,7 +189,8 @@ module Sinatra
200
189
  # @return [Hash] Session of last request, or the empty Hash
201
190
  def session
202
191
  return {} unless last_request?
203
- raise Rack::Test::Error, "session not enabled for app" unless last_env["rack.session"] or app.session?
192
+ raise Rack::Test::Error, 'session not enabled for app' unless last_env['rack.session'] || app.session?
193
+
204
194
  last_request.session
205
195
  end
206
196
 
@@ -208,9 +198,5 @@ module Sinatra
208
198
  def last_env
209
199
  last_request.env
210
200
  end
211
-
212
- def build_rack_test_session(name) # :nodoc:
213
- Session.new rack_mock_session(name)
214
- end
215
201
  end
216
202
  end
@@ -1,7 +1,8 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'sinatra/base'
2
4
 
3
5
  module Sinatra
4
-
5
6
  # = Sinatra::WebDAV
6
7
  #
7
8
  # This extensions provides WebDAV verbs, as defined by RFC 4918
@@ -37,8 +38,8 @@ module Sinatra
37
38
  module Request
38
39
  def self.included(base)
39
40
  base.class_eval do
40
- alias _safe? safe?
41
- alias _idempotent? idempotent?
41
+ alias_method :_safe?, :safe?
42
+ alias_method :_idempotent?, :idempotent?
42
43
 
43
44
  def safe?
44
45
  _safe? or propfind?
@@ -70,9 +71,9 @@ module Sinatra
70
71
  request_method == 'MOVE'
71
72
  end
72
73
 
73
- #def lock?
74
+ # def lock?
74
75
  # request_method == 'LOCK'
75
- #end
76
+ # end
76
77
 
77
78
  def unlock?
78
79
  request_method == 'UNLOCK'
@@ -84,7 +85,7 @@ module Sinatra
84
85
  def mkcol(path, opts = {}, &bk) route 'MKCOL', path, opts, &bk end
85
86
  def copy(path, opts = {}, &bk) route 'COPY', path, opts, &bk end
86
87
  def move(path, opts = {}, &bk) route 'MOVE', path, opts, &bk end
87
- #def lock(path, opts = {}, &bk) route 'LOCK', path, opts, &bk end
88
+ # def lock(path, opts = {}, &bk) route 'LOCK', path, opts, &bk end
88
89
  def unlock(path, opts = {}, &bk) route 'UNLOCK', path, opts, &bk end
89
90
  end
90
91
 
@@ -1,65 +1,59 @@
1
- # -*- encoding: utf-8 -*-
1
+ # frozen_string_literal: true
2
2
 
3
- version = File.read(File.expand_path("../../VERSION", __FILE__)).strip
3
+ version = File.read(File.expand_path('../VERSION', __dir__)).strip
4
4
 
5
5
  Gem::Specification.new do |s|
6
- s.name = "sinatra-contrib"
6
+ s.name = 'sinatra-contrib'
7
7
  s.version = version
8
- s.description = "Collection of useful Sinatra extensions"
9
- s.homepage = "http://sinatrarb.com/contrib/"
10
- s.license = "MIT"
11
- s.summary = s.description
12
- s.authors = ["https://github.com/sinatra/sinatra/graphs/contributors"]
13
- s.email = "sinatrarb@googlegroups.com"
14
- s.files = Dir["lib/**/*.rb"] + [
15
- "LICENSE",
16
- "README.md",
17
- "Rakefile",
18
- "ideas.md",
19
- "sinatra-contrib.gemspec"
8
+ s.description = 'Collection of useful Sinatra extensions'
9
+ s.homepage = 'http://sinatrarb.com/contrib/'
10
+ s.license = 'MIT'
11
+ s.summary = "#{s.description}."
12
+ s.authors = ['https://github.com/sinatra/sinatra/graphs/contributors']
13
+ s.email = 'sinatrarb@googlegroups.com'
14
+ s.files = Dir['lib/**/*.rb'] + [
15
+ 'LICENSE',
16
+ 'README.md',
17
+ 'Rakefile',
18
+ 'ideas.md',
19
+ 'sinatra-contrib.gemspec'
20
20
  ]
21
21
 
22
- if s.respond_to?(:metadata)
23
- s.metadata = {
24
- 'source_code_uri' => 'https://github.com/sinatra/sinatra/tree/master/sinatra-contrib',
25
- 'homepage_uri' => 'http://sinatrarb.com/contrib/',
26
- 'documentation_uri' => 'https://www.rubydoc.info/gems/sinatra-contrib'
27
- }
28
- else
29
- raise <<-EOF
22
+ unless s.respond_to?(:metadata)
23
+ raise <<-WARN
30
24
  RubyGems 2.0 or newer is required to protect against public gem pushes. You can update your rubygems version by running:
31
25
  gem install rubygems-update
32
26
  update_rubygems:
33
27
  gem update --system
34
- EOF
28
+ WARN
35
29
  end
36
30
 
37
- s.required_ruby_version = '>= 2.3.0'
31
+ s.metadata = {
32
+ 'source_code_uri' => 'https://github.com/sinatra/sinatra/tree/main/sinatra-contrib',
33
+ 'homepage_uri' => 'http://sinatrarb.com/contrib/',
34
+ 'documentation_uri' => 'https://www.rubydoc.info/gems/sinatra-contrib',
35
+ 'rubygems_mfa_required' => 'true'
36
+ }
38
37
 
39
- s.add_dependency "sinatra", version
40
- s.add_dependency "mustermann", "~> 2.0"
41
- s.add_dependency "tilt", "~> 2.0"
42
- s.add_dependency "rack-protection", version
43
- s.add_dependency "multi_json"
38
+ s.required_ruby_version = '>= 2.6.0'
44
39
 
45
- s.add_development_dependency "rspec", "~> 3.4"
46
- s.add_development_dependency "haml", "~> 5"
47
- s.add_development_dependency "erubi"
48
- s.add_development_dependency "erubis"
49
- s.add_development_dependency "slim"
50
- s.add_development_dependency "less"
51
- s.add_development_dependency "sass"
52
- s.add_development_dependency "builder"
53
- s.add_development_dependency "liquid"
54
- s.add_development_dependency "redcarpet"
55
- s.add_development_dependency "RedCloth", "~> 4.2.9"
56
- s.add_development_dependency "asciidoctor"
57
- s.add_development_dependency "radius"
58
- s.add_development_dependency "coffee-script"
59
- s.add_development_dependency "nokogiri"
60
- s.add_development_dependency "creole"
61
- s.add_development_dependency "wikicloth"
62
- s.add_development_dependency "markaby"
63
- s.add_development_dependency "rake", "< 11"
64
- s.add_development_dependency "rack-test"
40
+ s.add_dependency 'multi_json'
41
+ s.add_dependency 'mustermann', '~> 3.0'
42
+ s.add_dependency 'rack-protection', version
43
+ s.add_dependency 'sinatra', version
44
+ s.add_dependency 'tilt', '~> 2.0'
45
+
46
+ s.add_development_dependency 'asciidoctor'
47
+ s.add_development_dependency 'builder'
48
+ s.add_development_dependency 'erubi'
49
+ s.add_development_dependency 'haml'
50
+ s.add_development_dependency 'liquid'
51
+ s.add_development_dependency 'markaby'
52
+ s.add_development_dependency 'nokogiri'
53
+ s.add_development_dependency 'rack-test', '~> 2'
54
+ s.add_development_dependency 'rake', '>= 12.3.3'
55
+ s.add_development_dependency 'redcarpet'
56
+ s.add_development_dependency 'rspec', '~> 3'
57
+ s.add_development_dependency 'sass-embedded', '~> 1.54'
58
+ s.add_development_dependency 'slim'
65
59
  end