sinatra-contrib 2.2.3 → 3.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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