padrino-core 0.15.3 → 0.16.0.pre2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (38) hide show
  1. checksums.yaml +4 -4
  2. data/bin/padrino +1 -1
  3. data/lib/padrino-core/application/application_setup.rb +2 -2
  4. data/lib/padrino-core/application/routing.rb +5 -6
  5. data/lib/padrino-core/application.rb +1 -1
  6. data/lib/padrino-core/caller.rb +3 -4
  7. data/lib/padrino-core/cli/base.rb +7 -7
  8. data/lib/padrino-core/cli/binstub.rb +1 -1
  9. data/lib/padrino-core/cli/launcher.rb +6 -6
  10. data/lib/padrino-core/cli/rake.rb +7 -3
  11. data/lib/padrino-core/cli/rake_tasks.rb +4 -4
  12. data/lib/padrino-core/command.rb +1 -1
  13. data/lib/padrino-core/loader.rb +7 -8
  14. data/lib/padrino-core/path_router/route.rb +1 -1
  15. data/lib/padrino-core/reloader.rb +1 -1
  16. data/lib/padrino-core/router.rb +4 -4
  17. data/lib/padrino-core/server.rb +7 -13
  18. data/lib/padrino-core/version.rb +1 -1
  19. data/padrino-core.gemspec +3 -4
  20. data/test/fixtures/app_gem/app_gem.gemspec +3 -4
  21. data/test/fixtures/apps/mountable_apps/rack_apps.rb +1 -1
  22. data/test/fixtures/apps/stealthy/helpers/stealthy_class_helpers.rb +1 -2
  23. data/test/fixtures/dependencies/circular/e.rb +0 -2
  24. data/test/helper.rb +1 -1
  25. data/test/test_application.rb +3 -3
  26. data/test/test_configuration.rb +9 -9
  27. data/test/test_core.rb +5 -5
  28. data/test/test_csrf_protection.rb +10 -2
  29. data/test/test_dependencies.rb +3 -3
  30. data/test/test_flash.rb +1 -1
  31. data/test/test_locale.rb +1 -1
  32. data/test/test_logger.rb +24 -25
  33. data/test/test_mounter.rb +3 -3
  34. data/test/test_params_protection.rb +5 -5
  35. data/test/test_reloader_simple.rb +2 -2
  36. data/test/test_reloader_storage.rb +1 -1
  37. data/test/test_routing.rb +13 -14
  38. metadata +25 -11
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e7b0401b770a137f350c55ea76cc2edc52718927473c036e3fad135c2b8022ce
4
- data.tar.gz: 0154f48a45c976b9bc672fc919d276b8e5826ab751e7640326ce9a5249a5aaa5
3
+ metadata.gz: 3ffca6fa25ca85cc3069a546003e95cdac56d3f698cc029605bb9dd0879d8b7a
4
+ data.tar.gz: 24940f3ae7f52a7840fef5a75c6687a66e2546226e00f4418e4c790b4320893b
5
5
  SHA512:
6
- metadata.gz: 10c221aa6fec0c7d6d3cf2aa0827c6d4701af14caf03cc24b40ec886ae38461d1b8a71b4ffafdda0975b3b8cf78f16e37d789a9d684aa17067f7f9720d09a737
7
- data.tar.gz: 482ad64bee105627b9cb4600e1296cfc050a3fbb5813aa919c11ca26a4f09a36961ba288a0059f653edcd99a57ec2370a233bc78eef4b10a5f1e5572e572ffa3
6
+ metadata.gz: 851fcbda9f0d0c6a5801817e847078396b9c9031da520051e4099085c02dc48627c0d94ef21f32e7ced19945564ecb17e00fe2ed1551fcb4b5020231c08d3ae3
7
+ data.tar.gz: 31650ff7315f876de58e5149a19b1ce1bf5baddecdcb6311ece275f2acc43d3477cecebb1e92dfd5b8a2ca56cf05a4a5abbf02b643e561e1b3814632bc8ded71
data/bin/padrino CHANGED
@@ -2,7 +2,7 @@
2
2
  require 'padrino-core/cli/binstub'
3
3
  Padrino.replace_with_binstub('padrino')
4
4
 
5
- padrino_core_path = File.expand_path('../../lib', __FILE__)
5
+ padrino_core_path = File.expand_path('../lib', __dir__)
6
6
  $:.unshift(padrino_core_path) if File.directory?(padrino_core_path) && !$:.include?(padrino_core_path)
7
7
 
8
8
  require 'padrino-core/cli/base'
@@ -95,7 +95,7 @@ module Padrino
95
95
  '/models.rb',
96
96
  '/models/**/*.rb',
97
97
  '/lib.rb',
98
- '/lib/**/*.rb',
98
+ '/lib/**/*.rb'
99
99
  ].map{ |glob| File.join(settings.root, glob) }
100
100
  end
101
101
 
@@ -134,7 +134,7 @@ module Padrino
134
134
  configure :production do
135
135
  error ::Exception do
136
136
  logger.exception env['sinatra.error']
137
- halt(500, { 'Content-Type' => 'text/html' }, ['<h1>Internal Server Error</h1>'])
137
+ halt(500, { 'content-type' => 'text/html' }, ['<h1>Internal Server Error</h1>'])
138
138
  end unless errors.has_key?(::Exception)
139
139
  end
140
140
  end
@@ -440,10 +440,9 @@ module Padrino
440
440
  when Array
441
441
  object.map { |item| value_to_param(item) }.compact
442
442
  when Hash
443
- object.inject({}) do |all, (key, value)|
443
+ object.each_with_object({}) do |(key, value), all|
444
444
  next all if value.nil?
445
445
  all[key] = value_to_param(value)
446
- all
447
446
  end
448
447
  when nil
449
448
  else
@@ -453,7 +452,7 @@ module Padrino
453
452
 
454
453
  # Add prefix slash if its not present and remove trailing slashes.
455
454
  def conform_uri(uri_string)
456
- uri_string.gsub(/^(?!\/)(.*)/, '/\1').gsub(/[\/]+$/, '')
455
+ uri_string.gsub(/^(?!\/)(.*)/, '/\1').gsub(/\/+$/, '')
457
456
  end
458
457
 
459
458
  ##
@@ -863,7 +862,7 @@ module Padrino
863
862
  path = File.expand_path(public_dir + unescape(path_info))
864
863
  return unless path.start_with?(public_dir)
865
864
  return unless File.file?(path)
866
- return path
865
+ path
867
866
  end
868
867
 
869
868
  #
@@ -993,7 +992,7 @@ module Padrino
993
992
  filter! :before if first_time
994
993
 
995
994
  catch(:pass) do
996
- begin
995
+
997
996
  (route.before_filters - settings.filters[:before]).each{|block| instance_eval(&block) }
998
997
  @layout = route.use_layout if route.use_layout
999
998
  route.custom_conditions.each {|block| pass if block.bind(self).call == false }
@@ -1002,7 +1001,7 @@ module Padrino
1002
1001
  halt(route_response)
1003
1002
  ensure
1004
1003
  (route.after_filters - settings.filters[:after]).each {|block| instance_eval(&block) }
1005
- end
1004
+
1006
1005
  end
1007
1006
  end
1008
1007
 
@@ -138,7 +138,7 @@ module Padrino
138
138
  'controllers/**/*.rb',
139
139
  'controllers.rb',
140
140
  'helpers/**/*.rb',
141
- 'helpers.rb',
141
+ 'helpers.rb'
142
142
  ].flat_map{ |file| Dir.glob(File.join(settings.root, file)) }
143
143
  end
144
144
 
@@ -19,7 +19,7 @@ module Padrino
19
19
  %r{custom_require\.rb$},
20
20
  %r{active_support},
21
21
  %r{/thor},
22
- %r{/lib/bundler},
22
+ %r{/lib/bundler}
23
23
  ] unless defined?(PADRINO_IGNORE_CALLERS)
24
24
 
25
25
  ##
@@ -27,7 +27,6 @@ module Padrino
27
27
  #
28
28
  PADRINO_IGNORE_CALLERS.concat(RUBY_IGNORE_CALLERS) if defined?(RUBY_IGNORE_CALLERS)
29
29
 
30
- private
31
30
  ##
32
31
  # The filename for the file that is the direct caller (first caller).
33
32
  #
@@ -48,7 +47,7 @@ module Padrino
48
47
  def self.caller_files
49
48
  caller(1).
50
49
  map { |line| line.split(/:(?=\d|in )/)[0,2] }.
51
- reject { |file,line| PADRINO_IGNORE_CALLERS.any? { |pattern| file =~ pattern } }.
52
- map { |file,line| file }
50
+ reject { |file,_line| PADRINO_IGNORE_CALLERS.any? { |pattern| file =~ pattern } }.
51
+ map { |file,_line| file }
53
52
  end
54
53
  end
@@ -16,7 +16,7 @@ module Padrino
16
16
  ARGV.clear
17
17
  ARGV.concat(args)
18
18
  puts "=> Executing Rake #{ARGV.join(' ')} ..."
19
- load File.expand_path('../rake.rb', __FILE__)
19
+ load File.expand_path('rake.rb', __dir__)
20
20
  Rake.application.init
21
21
  Rake.application.instance_variable_set(:@rakefile, __FILE__)
22
22
  load File.expand_path('Rakefile')
@@ -27,10 +27,10 @@ module Padrino
27
27
  map "c" => :console
28
28
  def console(*args)
29
29
  prepare :console
30
- require File.expand_path("../../version", __FILE__)
30
+ require File.expand_path('../version', __dir__)
31
31
  require File.expand_path('config/boot.rb')
32
32
  puts "=> Loading #{Padrino.env} console (Padrino v.#{Padrino.version})"
33
- require File.expand_path('../console', __FILE__)
33
+ require File.expand_path('console', __dir__)
34
34
  ARGV.clear
35
35
  if defined? Pry
36
36
  Pry.start
@@ -47,18 +47,18 @@ module Padrino
47
47
  desc "generate", "Executes the Padrino generator with given options (alternatively use 'gen' or 'g')."
48
48
  map ["gen", "g"] => :generate
49
49
  def generate(*args)
50
- begin
50
+
51
51
  # We try to load the vendored padrino-gen if exist
52
- padrino_gen_path = File.expand_path('../../../../../padrino-gen/lib', __FILE__)
52
+ padrino_gen_path = File.expand_path('../../../../padrino-gen/lib', __dir__)
53
53
  $:.unshift(padrino_gen_path) if File.directory?(padrino_gen_path) && !$:.include?(padrino_gen_path)
54
54
  require 'padrino-core/command'
55
55
  require 'padrino-gen/command'
56
56
  ARGV.shift
57
57
  ARGV << 'help' if ARGV.empty?
58
58
  Padrino.bin_gen(*ARGV)
59
- rescue
59
+ rescue StandardError
60
60
  puts "<= You need padrino-gen! Run: gem install padrino-gen"
61
- end
61
+
62
62
  end
63
63
 
64
64
  desc "version", "Show current Padrino version."
@@ -14,7 +14,7 @@ module Padrino
14
14
  project_root = project_root.rpartition('/').first
15
15
  end
16
16
 
17
- if %w(Gemfile .components).all? { |file| File.file?(File.join(project_root, file)) }
17
+ if %w[Gemfile .components].all? { |file| File.file?(File.join(project_root, file)) }
18
18
  binstub = File.join(project_root, 'bin', executable)
19
19
  if File.file?(binstub)
20
20
  exec Gem.ruby, binstub, *ARGV
@@ -21,7 +21,7 @@ module Padrino
21
21
  method_option :server_options, :type => :boolean, :desc => "Tells the current server handler's options that can be used with --options"
22
22
  def start(*args)
23
23
  prepare :start
24
- require File.expand_path("../adapter", __FILE__)
24
+ require File.expand_path('adapter', __dir__)
25
25
  require File.expand_path('config/boot.rb')
26
26
 
27
27
  if options[:server_options]
@@ -36,7 +36,7 @@ module Padrino
36
36
  method_option :pid, :type => :string, :aliases => "-p", :desc => "File to store pid", :default => 'tmp/pids/server.pid'
37
37
  def stop
38
38
  prepare :stop
39
- require File.expand_path("../adapter", __FILE__)
39
+ require File.expand_path('adapter', __dir__)
40
40
  Padrino::Cli::Adapter.stop(options)
41
41
  end
42
42
 
@@ -44,7 +44,7 @@ module Padrino
44
44
 
45
45
  # https://github.com/rack/rack/blob/master/lib/rack/server.rb\#L100
46
46
  def server_options(options)
47
- begin
47
+
48
48
  info = []
49
49
  server = Rack::Handler.get(options[:server]) || Rack::Handler.default(options)
50
50
  if server && server.respond_to?(:valid_options)
@@ -57,12 +57,12 @@ module Padrino
57
57
  info << " -O %-21s %s" % [name, description]
58
58
  has_options = true
59
59
  end
60
- return "" if !has_options
60
+ return "" unless has_options
61
61
  end
62
62
  info.join("\n")
63
63
  rescue NameError
64
- return "Warning: Could not find handler specified (#{options[:server] || 'default'}) to determine handler-specific options"
65
- end
64
+ "Warning: Could not find handler specified (#{options[:server] || 'default'}) to determine handler-specific options"
65
+
66
66
  end
67
67
 
68
68
  protected
@@ -1,4 +1,4 @@
1
- require File.expand_path('../../tasks', __FILE__)
1
+ require File.expand_path('../tasks', __dir__)
2
2
  require 'rake'
3
3
  require 'rake/dsl_definition'
4
4
  require 'thor'
@@ -10,8 +10,12 @@ end
10
10
 
11
11
  module PadrinoTasks
12
12
  def self.init(init=false)
13
- Padrino::Tasks.files.flatten.uniq.each { |rakefile| Rake.application.add_import(rakefile) rescue puts "<= Failed load #{ext}" }
14
- load(File.expand_path('../rake_tasks.rb', __FILE__))
13
+ Padrino::Tasks.files.flatten.uniq.each { |rakefile| begin
14
+ Rake.application.add_import(rakefile)
15
+ rescue StandardError
16
+ puts "<= Failed load #{ext}"
17
+ end }
18
+ load(File.expand_path('rake_tasks.rb', __dir__))
15
19
  Rake.application.load_imports
16
20
  end
17
21
 
@@ -49,7 +49,7 @@ rescue ArgumentError
49
49
  end
50
50
 
51
51
  desc "Displays a listing of the named routes within a project, optionally only those matched by [query]"
52
- task :routes, [:query] => :environment do |t, args|
52
+ task :routes, [:query] => :environment do |_t, args|
53
53
  Padrino.mounted_apps.each do |app|
54
54
  list_app_routes(app, args)
55
55
  end
@@ -57,16 +57,16 @@ end
57
57
 
58
58
  desc "Displays a listing of the named routes a given app [app]"
59
59
  namespace :routes do
60
- task :app, [:app] => :environment do |t, args|
60
+ task :app, [:app] => :environment do |_t, args|
61
61
  app = Padrino.mounted_apps.find { |app| app.app_class == args.app }
62
62
  list_app_routes(app, args) if app
63
63
  end
64
64
  end
65
65
 
66
66
  Dir["{lib/tasks/**,tasks/**,test,spec}/*.rake"].each do |file|
67
- begin
67
+
68
68
  load(File.expand_path(file))
69
69
  rescue LoadError => e
70
70
  warn "#{file}: #{e.message}"
71
- end
71
+
72
72
  end
@@ -14,7 +14,7 @@ module Padrino
14
14
  # Padrino.bin('start', '-e production')
15
15
  #
16
16
  def self.bin(*args)
17
- @_padrino_bin ||= [self.ruby_command, File.expand_path("../../../bin/padrino", __FILE__)]
17
+ @_padrino_bin ||= [self.ruby_command, File.expand_path('../../bin/padrino', __dir__)]
18
18
  args.empty? ? @_padrino_bin : system(args.unshift(@_padrino_bin).join(" "))
19
19
  end
20
20
 
@@ -150,7 +150,7 @@ module Padrino
150
150
  error = fatal = loaded = nil
151
151
 
152
152
  files.dup.each do |file|
153
- begin
153
+
154
154
  Reloader.safe_load(file, options)
155
155
  files.delete(file)
156
156
  loaded = true
@@ -159,14 +159,13 @@ module Padrino
159
159
  logger.devel "Cyclic dependency reload for #{error.class}: #{error.message}"
160
160
  rescue Exception => fatal
161
161
  break
162
- end
162
+
163
163
  end
164
164
 
165
- if fatal || !loaded
166
- exception = fatal || error
167
- logger.exception exception, :short
168
- raise exception
169
- end
165
+ next unless fatal || !loaded
166
+ exception = fatal || error
167
+ logger.exception exception, :short
168
+ raise exception
170
169
  end
171
170
  end
172
171
 
@@ -196,7 +195,7 @@ module Padrino
196
195
  "#{root}/lib/**/*.rb",
197
196
  "#{root}/models/**/*.rb",
198
197
  "#{root}/shared/**/*.rb",
199
- "#{root}/config/apps.rb",
198
+ "#{root}/config/apps.rb"
200
199
  ]
201
200
  end
202
201
  end
@@ -55,7 +55,7 @@ module Padrino
55
55
  @path
56
56
  end
57
57
 
58
- SIGNIFICANT_VARIABLES_REGEX = /(^|[^\\])[:\*]([a-zA-Z0-9_]+)/.freeze
58
+ SIGNIFICANT_VARIABLES_REGEX = /(^|[^\\])[:*]([a-zA-Z0-9_]+)/.freeze
59
59
 
60
60
  ##
61
61
  # Returns signficant variable names.
@@ -24,7 +24,7 @@ module Padrino
24
24
  # Default excluded directories at Padrino.root are: test, spec, features, tmp, config, db and public
25
25
  #
26
26
  def exclude
27
- @_exclude ||= Set.new %w(test spec tmp features config public db).map{ |path| Padrino.root(path) }
27
+ @_exclude ||= Set.new(%w[test spec tmp features config public db].map{ |path| Padrino.root(path) })
28
28
  end
29
29
 
30
30
  ##
@@ -58,8 +58,8 @@ module Padrino
58
58
  raise ArgumentError, "app is required" if app.nil?
59
59
 
60
60
  path = path.chomp('/')
61
- match = Regexp.new("^#{Regexp.quote(path).gsub('/', '/+')}(.*)", nil, 'n')
62
- host = Regexp.new("^#{Regexp.quote(host)}$", true, 'n') unless host.nil? || host.is_a?(Regexp)
61
+ match = Regexp.new("^#{Regexp.quote(path).gsub('/', '/+')}(.*)", Regexp::NOENCODING)
62
+ host = Regexp.new("^#{Regexp.quote(host)}$", Regexp::NOENCODING) unless host.nil? || host.is_a?(Regexp)
63
63
 
64
64
  @mapping << [host, path, match, app]
65
65
  end
@@ -74,7 +74,7 @@ module Padrino
74
74
 
75
75
  @mapping.each do |host, path, match, app|
76
76
  next unless host.nil? || http_host =~ host
77
- next unless path_info =~ match && rest = $1
77
+ next unless path_info =~ match && rest = ::Regexp.last_match(1)
78
78
  next unless rest.empty? || rest[0] == ?/
79
79
 
80
80
  rest = "/" if rest.empty?
@@ -91,7 +91,7 @@ module Padrino
91
91
  env['SCRIPT_NAME'] = script_name
92
92
  env['PATH_INFO'] = path_info
93
93
  Padrino::Logger::Rack.new(nil,'/').send(:log, env, 404, {}, began_at) if logger.debug?
94
- [404, {"Content-Type" => "text/plain", "X-Cascade" => "pass"}, ["Not Found: #{path_info}"]]
94
+ [404, {"content-type" => "text/plain", "x-cascade" => "pass"}, ["Not Found: #{path_info}"]]
95
95
  end
96
96
  end
97
97
  end
@@ -12,7 +12,6 @@ module Padrino
12
12
  Server.start(*detect_application(options))
13
13
  end
14
14
 
15
- private
16
15
 
17
16
  #
18
17
  #
@@ -22,7 +21,7 @@ module Padrino
22
21
  config_file ||= default_config_file
23
22
  fail "Rack config file `#{config_file}` must have `.ru` extension" unless config_file =~ /\.ru$/
24
23
  rack_app, rack_options = Rack::Builder.parse_file(config_file)
25
- [rack_app, rack_options.merge(options)]
24
+ [rack_app, (rack_options || {}).merge(options)]
26
25
  else
27
26
  [Padrino.application, options]
28
27
  end
@@ -31,7 +30,7 @@ module Padrino
31
30
  ##
32
31
  # This module builds a Padrino server to run the project based on available handlers.
33
32
  #
34
- class Server < Rack::Server
33
+ class Server < Rackup::Server
35
34
  DEFAULT_ADDRESS = { :Host => '127.0.0.1', :Port => 3000 }
36
35
 
37
36
  # Server Handlers
@@ -65,16 +64,11 @@ module Padrino
65
64
  end
66
65
 
67
66
  # The application the server will run.
68
- def app
69
- @app
70
- end
67
+ attr_reader :app
71
68
  alias :wrapped_app :app
72
69
 
73
- def options
74
- @options
75
- end
70
+ attr_reader :options
76
71
 
77
- private
78
72
 
79
73
  # Detects the supported handler to use.
80
74
  #
@@ -83,11 +77,11 @@ module Padrino
83
77
  #
84
78
  def self.detect_rack_handler
85
79
  Handlers.each do |handler|
86
- begin
80
+
87
81
  return handler if Rack::Handler.get(handler.to_s.downcase)
88
82
  rescue LoadError
89
83
  rescue NameError
90
- end
84
+
91
85
  end
92
86
  fail "Server handler (#{Handlers.join(', ')}) not found."
93
87
  end
@@ -110,7 +104,7 @@ module Padrino
110
104
  # Detects Host and Port for Rack server.
111
105
  #
112
106
  def self.detect_address(options)
113
- address = DEFAULT_ADDRESS.merge options.select{ |key| [:Host, :Port].include?(key) }
107
+ address = DEFAULT_ADDRESS.merge(options.select{ |key| [:Host, :Port].include?(key) })
114
108
  address[:Host] = options[:host] if options[:host]
115
109
  address[:Port] = options[:port] if options[:port]
116
110
  address
@@ -6,7 +6,7 @@
6
6
  #
7
7
  module Padrino
8
8
  # The version constant for the current version of Padrino.
9
- VERSION = '0.15.3' unless defined?(Padrino::VERSION)
9
+ VERSION = '0.16.0.pre2' unless defined?(Padrino::VERSION)
10
10
 
11
11
  #
12
12
  # The current Padrino version.
data/padrino-core.gemspec CHANGED
@@ -1,7 +1,5 @@
1
1
  #!/usr/bin/env gem build
2
- # encoding: utf-8
3
-
4
- require File.expand_path("../lib/padrino-core/version.rb", __FILE__)
2
+ require File.expand_path('lib/padrino-core/version.rb', __dir__)
5
3
 
6
4
  Gem::Specification.new do |s|
7
5
  s.name = "padrino-core"
@@ -23,6 +21,7 @@ Gem::Specification.new do |s|
23
21
  s.rdoc_options = ["--charset=UTF-8"]
24
22
 
25
23
  s.add_dependency("padrino-support", Padrino.version)
26
- s.add_dependency("sinatra", ">= 2.2.4")
24
+ s.add_dependency("rackup", "~> 2.1")
25
+ s.add_dependency("sinatra", "~> 4")
27
26
  s.add_dependency("thor", "~> 1.0")
28
27
  end
@@ -1,11 +1,10 @@
1
- # -*- encoding: utf-8 -*-
2
- require File.expand_path('../lib/app_gem/version', __FILE__)
1
+ require File.expand_path('lib/app_gem/version', __dir__)
3
2
 
4
3
  Gem::Specification.new do |gem|
5
4
  gem.authors = ["Florian Gilcher"]
6
5
  gem.email = ["florian.gilcher@asquera.de"]
7
- gem.description = %q{TODO: Write a gem description}
8
- gem.summary = %q{TODO: Write a gem summary}
6
+ gem.description = 'TODO: Write a gem description'
7
+ gem.summary = 'TODO: Write a gem summary'
9
8
  gem.homepage = ""
10
9
 
11
10
  gem.files = `git ls-files`.split($\)
@@ -13,7 +13,7 @@ class RackApp
13
13
  end
14
14
  end
15
15
 
16
- RackApp2 = lambda{|_| [200, {}, ["hello rack app2"]] }
16
+ RackApp2 = ->(_){ [200, {}, ["hello rack app2"]] }
17
17
 
18
18
  class SinatraApp < Sinatra::Base
19
19
  set :public_folder, File.dirname(__FILE__)
@@ -5,8 +5,7 @@ class Boo
5
5
  end
6
6
 
7
7
  class Woo < Boo
8
- def poo
9
- end
8
+ def poo; end
10
9
  end
11
10
 
12
11
  class Soo < Boo
@@ -7,7 +7,5 @@ class E
7
7
  subclass.fields.replace fields.dup
8
8
  end
9
9
 
10
- G
11
-
12
10
  fields << "name"
13
11
  end
data/test/helper.rb CHANGED
@@ -13,7 +13,7 @@ require 'padrino-core'
13
13
  require 'ext/minitest-spec'
14
14
  require 'ext/rack-test-methods'
15
15
 
16
- class MiniTest::Spec
16
+ class Minitest::Spec
17
17
  include Rack::Test::Methods
18
18
 
19
19
  # Sets up a Sinatra::Base subclass defined with the block
@@ -128,7 +128,7 @@ describe "Application" do
128
128
  it 'should have not mapped errors on development' do
129
129
  mock_app { get('/'){ 'HI' } }
130
130
  get "/"
131
- assert @app.errors.empty?
131
+ assert_empty @app.errors
132
132
  end
133
133
 
134
134
  it 'should have mapped errors on production' do
@@ -150,7 +150,7 @@ describe "Application" do
150
150
 
151
151
  it 'should pass Routing#parent to Module#parent' do
152
152
  # see naming collision in issue #1814
153
- begin
153
+
154
154
  ConstTest = Class.new(Padrino::Application)
155
155
  class Module
156
156
  def parent
@@ -160,7 +160,7 @@ describe "Application" do
160
160
  assert_equal :dirty, ConstTest.parent
161
161
  ensure
162
162
  Module.instance_eval{ undef :parent }
163
- end
163
+
164
164
  end
165
165
  end
166
166
 
@@ -2,28 +2,28 @@ require File.expand_path(File.dirname(__FILE__) + '/helper')
2
2
 
3
3
  describe "PadrinoConfiguration" do
4
4
  it 'should be able to store values' do
5
- Padrino.config.val1 = 12345
6
- assert_equal 12345, Padrino.config.val1
5
+ Padrino.config.val1 = 12_345
6
+ assert_equal 12_345, Padrino.config.val1
7
7
  end
8
8
 
9
9
  it 'should be able to configure with block' do
10
10
  Padrino.configure do |config|
11
- config.val2 = 54321
11
+ config.val2 = 54_321
12
12
  end
13
- assert_equal 54321, Padrino.config.val2
13
+ assert_equal 54_321, Padrino.config.val2
14
14
  end
15
15
 
16
16
  it 'should be able to configure with block' do
17
17
  Padrino.configure :test do |config|
18
- config.test1 = 54321
18
+ config.test1 = 54_321
19
19
  end
20
20
  Padrino.configure :development do |config|
21
- config.test1 = 12345
21
+ config.test1 = 12_345
22
22
  end
23
23
  Padrino.configure :test, :development do |config|
24
- config.both1 = 54321
24
+ config.both1 = 54_321
25
25
  end
26
- assert_equal 54321, Padrino.config.test1
27
- assert_equal 54321, Padrino.config.both1
26
+ assert_equal 54_321, Padrino.config.test1
27
+ assert_equal 54_321, Padrino.config.both1
28
28
  end
29
29
  end
data/test/test_core.rb CHANGED
@@ -19,13 +19,13 @@ describe "Core" do
19
19
 
20
20
  it 'should validate global helpers' do
21
21
  assert_equal :test, Padrino.env
22
- assert_match /\/test/, Padrino.root
22
+ assert_match(/\/test/, Padrino.root)
23
23
  assert Padrino.version
24
24
  end
25
25
 
26
26
  it 'should raise application error if I instantiate a new padrino application without mounted apps' do
27
27
  text = capture_io { Padrino.application }
28
- assert_match /No apps are mounted/, text.to_s
28
+ assert_match(/No apps are mounted/, text.to_s)
29
29
  end
30
30
 
31
31
  it 'should check before/after padrino load hooks' do
@@ -46,7 +46,7 @@ describe "Core" do
46
46
  def call(env)
47
47
  status, headers, body = @app.call(env)
48
48
  headers["Middleware-Called"] = "yes"
49
- return status, headers, body
49
+ [status, headers, body]
50
50
  end
51
51
  }
52
52
 
@@ -80,8 +80,8 @@ describe "Core" do
80
80
 
81
81
  get "/"
82
82
  assert_equal 500, status
83
- assert body.include?("StandardError")
84
- assert body.include?("<code>show_exceptions</code> setting")
83
+ assert_includes body, "StandardError"
84
+ assert_includes body, "<code>show_exceptions</code> setting"
85
85
  end
86
86
  end
87
87
  end
@@ -6,7 +6,11 @@ describe "Application" do
6
6
  describe 'CSRF protection' do
7
7
  describe "with CSRF protection on" do
8
8
  before do
9
- @token = Rack::Protection::AuthenticityToken.random_token rescue "a_token"
9
+ @token = begin
10
+ Rack::Protection::AuthenticityToken.random_token
11
+ rescue StandardError
12
+ "a_token"
13
+ end
10
14
  mock_app do
11
15
  enable :sessions
12
16
  enable :protect_from_csrf
@@ -142,7 +146,11 @@ describe "Application" do
142
146
 
143
147
  describe "with custom protection options" do
144
148
  before do
145
- @token = Rack::Protection::AuthenticityToken.random_token rescue "a_token"
149
+ @token = begin
150
+ Rack::Protection::AuthenticityToken.random_token
151
+ rescue StandardError
152
+ "a_token"
153
+ end
146
154
  mock_app do
147
155
  enable :sessions
148
156
  set :protect_from_csrf, :authenticity_param => 'foobar', :message => 'sucker!'
@@ -26,7 +26,7 @@ describe "Dependencies" do
26
26
  end
27
27
  end
28
28
  assert_equal 1, D
29
- assert_match /RuntimeError - SomeThing/, @io.string
29
+ assert_match(/RuntimeError - SomeThing/, @io.string)
30
30
  end
31
31
 
32
32
  it 'should resolve dependency problems' do
@@ -60,7 +60,7 @@ describe "Dependencies" do
60
60
  Padrino::Reloader.exclude << Padrino.root("fixtures/dependencies/linear/h.rb")
61
61
  Padrino.require_dependencies(
62
62
  Padrino.root("fixtures/dependencies/linear/h.rb"),
63
- Padrino.root("fixtures/dependencies/linear/i.rb"),
63
+ Padrino.root("fixtures/dependencies/linear/i.rb")
64
64
  )
65
65
  end
66
66
  end
@@ -102,7 +102,7 @@ describe "Dependencies" do
102
102
  assert_equal "hello", RRR.hello
103
103
  assert_equal "hello", OOO.hello
104
104
  assert_equal "hello", RollbackTarget.hello
105
- assert_match /Removed constant RollbackTarget from Object/, @io.string
105
+ assert_match(/Removed constant RollbackTarget from Object/, @io.string)
106
106
  end
107
107
  end
108
108
  end
data/test/test_flash.rb CHANGED
@@ -66,7 +66,7 @@ describe Padrino::Flash do
66
66
  end
67
67
  end
68
68
 
69
- routes = Proc.new do
69
+ routes = proc do
70
70
  get :index do
71
71
  params[:key] ? flash[params[:key].to_sym].to_s : flash.now.inspect
72
72
  end
data/test/test_locale.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  require File.expand_path(File.dirname(__FILE__) + '/helper')
2
2
 
3
3
  describe "Locales" do
4
- Dir[File.expand_path("../../lib/padrino-core/locale/*.yml", __FILE__)].each do |file|
4
+ Dir[File.expand_path('../lib/padrino-core/locale/*.yml', __dir__)].each do |file|
5
5
  base_original = YAML.load_file(file)
6
6
  name = File.basename(file, '.yml')
7
7
  it "should should have correct locale for #{name}" do
data/test/test_logger.rb CHANGED
@@ -75,11 +75,11 @@ describe "PadrinoLogger" do
75
75
  it 'should respond to #write for Rack::CommonLogger' do
76
76
  setup_logger(:log_level => :error)
77
77
  @logger.error "Error message"
78
- assert_match /Error message/, @log.string
78
+ assert_match(/Error message/, @log.string)
79
79
  @logger << "logged anyways"
80
- assert_match /logged anyways/, @log.string
80
+ assert_match(/logged anyways/, @log.string)
81
81
  @logger.write "log via alias"
82
- assert_match /log via alias/, @log.string
82
+ assert_match(/log via alias/, @log.string)
83
83
  end
84
84
 
85
85
  it 'should not blow up on mixed or broken encodings' do
@@ -89,8 +89,8 @@ describe "PadrinoLogger" do
89
89
  @logger.error binary_data
90
90
  @logger.error utf8_data
91
91
  @logger.flush
92
- assert @log.string.include?(utf8_data)
93
- assert @log.string.force_encoding('BINARY').include?(binary_data)
92
+ assert_includes @log.string, utf8_data
93
+ assert_includes @log.string.force_encoding('BINARY'), binary_data
94
94
  end
95
95
 
96
96
  it 'should sanitize mixed or broken encodings if said so' do
@@ -102,8 +102,7 @@ describe "PadrinoLogger" do
102
102
  @logger.error binary_data
103
103
  @logger.error utf8_data
104
104
  @logger.flush
105
- assert @log.string.force_encoding(encoding).include?("?\n".encode(encoding))
106
- assert @log.string.force_encoding(encoding).include?(utf8_data.encode(encoding))
105
+ assert_match(/\.*фыв/m, @log.string.encode(Encoding.default_external))
107
106
  end
108
107
 
109
108
  it 'should log an application' do
@@ -113,7 +112,7 @@ describe "PadrinoLogger" do
113
112
  end
114
113
  get "/"
115
114
  assert_equal "Foo", body
116
- assert_match /GET/, Padrino.logger.log.string
115
+ assert_match(/GET/, Padrino.logger.log.string)
117
116
  end
118
117
 
119
118
  it 'should log an application\'s status code' do
@@ -122,7 +121,7 @@ describe "PadrinoLogger" do
122
121
  get("/"){ "Foo" }
123
122
  end
124
123
  get "/"
125
- assert_match /\e\[1;9m200\e\[0m OK/, Padrino.logger.log.string
124
+ assert_match(/\e\[1;9m200\e\[0m OK/, Padrino.logger.log.string)
126
125
  end
127
126
 
128
127
  describe "static asset logging" do
@@ -144,7 +143,7 @@ describe "PadrinoLogger" do
144
143
  end
145
144
  get "/images/something.png"
146
145
  assert_equal "Foo", body
147
- assert_match /GET/, Padrino.logger.log.string
146
+ assert_match(/GET/, Padrino.logger.log.string)
148
147
  Padrino.logger.instance_eval{ @log_static = false }
149
148
  end
150
149
  end
@@ -161,11 +160,11 @@ describe "PadrinoLogger" do
161
160
  it 'should output under debug level' do
162
161
  Padrino.logger.instance_eval{ @level = Padrino::Logger::Levels[:debug] }
163
162
  access_to_mock_app
164
- assert_match /\e\[0;36m DEBUG\e\[0m/, Padrino.logger.log.string
163
+ assert_match(/\e\[0;36m DEBUG\e\[0m/, Padrino.logger.log.string)
165
164
 
166
165
  Padrino.logger.instance_eval{ @level = Padrino::Logger::Levels[:devel] }
167
166
  access_to_mock_app
168
- assert_match /\e\[0;36m DEBUG\e\[0m/, Padrino.logger.log.string
167
+ assert_match(/\e\[0;36m DEBUG\e\[0m/, Padrino.logger.log.string)
169
168
  end
170
169
 
171
170
  it 'should not output over debug level' do
@@ -208,7 +207,7 @@ describe "alternate logger" do
208
207
  it 'should annotate the logger to support additional Padrino fancyness' do
209
208
  Padrino.logger.debug("Debug message")
210
209
  assert_match(/Debug message/, @log.string)
211
- Padrino.logger.exception(Exception.new 'scary message')
210
+ Padrino.logger.exception(Exception.new('scary message'))
212
211
  assert_match(/Exception - scary message/, @log.string)
213
212
  end
214
213
 
@@ -221,7 +220,7 @@ describe "alternate logger" do
221
220
  end
222
221
  get "/"
223
222
 
224
- assert_match /\e\[1;9m200\e\[0m OK/, @log.string
223
+ assert_match(/\e\[1;9m200\e\[0m OK/, @log.string)
225
224
  end
226
225
  end
227
226
 
@@ -273,7 +272,7 @@ describe "alternate logger: stdlib logger" do
273
272
  end
274
273
  get "/"
275
274
 
276
- assert_match /\e\[1;9m200\e\[0m OK/, @log.string
275
+ assert_match(/\e\[1;9m200\e\[0m OK/, @log.string)
277
276
  end
278
277
  end
279
278
 
@@ -305,7 +304,7 @@ describe "options :colorize_logging" do
305
304
  Padrino::Logger.setup!
306
305
 
307
306
  access_to_mock_app
308
- assert_match /\e\[1;9m200\e\[0m OK/, Padrino.logger.log.string
307
+ assert_match(/\e\[1;9m200\e\[0m OK/, Padrino.logger.log.string)
309
308
  end
310
309
  end
311
310
 
@@ -317,7 +316,7 @@ describe "options :colorize_logging" do
317
316
 
318
317
  it 'should not use colorize logging' do
319
318
  access_to_mock_app
320
- assert_match /200 OK/, Padrino.logger.log.string
319
+ assert_match(/200 OK/, Padrino.logger.log.string)
321
320
  end
322
321
  end
323
322
  end
@@ -335,34 +334,34 @@ describe "options :source_location" do
335
334
 
336
335
  it 'should output source_location if :source_location is set to true' do
337
336
  stub_root { Padrino.logger.debug("hello world") }
338
- assert_match /\[test\/test_logger\.rb:#{__LINE__-1}\] hello world/, Padrino.logger.log.string
337
+ assert_match(/\[test\/test_logger\.rb:#{__LINE__-1}\] hello world/, Padrino.logger.log.string)
339
338
  end
340
339
 
341
340
  it 'should output source_location if file path is relative' do
342
341
  stub_message = "test/test_logger.rb:269:in `test'"
343
342
  Padrino::Logger.logger.stub(:caller, [stub_message]){ stub_root { Padrino.logger.debug("hello relative path") }}
344
- assert_match /\[test\/test_logger\.rb:269\] hello relative path/, Padrino.logger.log.string
343
+ assert_match(/\[test\/test_logger\.rb:269\] hello relative path/, Padrino.logger.log.string)
345
344
  end
346
345
 
347
346
  it 'should not output source_location if :source_location is set to false' do
348
347
  Padrino::Logger::Config[:test][:source_location] = false
349
348
  Padrino::Logger.setup!
350
349
  stub_root { Padrino.logger.debug("hello world") }
351
- assert_match /hello world/, Padrino.logger.log.string
352
- refute_match /\[.+?\] hello world/, Padrino.logger.log.string
350
+ assert_match(/hello world/, Padrino.logger.log.string)
351
+ refute_match(/\[.+?\] hello world/, Padrino.logger.log.string)
353
352
  end
354
353
 
355
354
  it 'should not output source_location unless file path is not started with Padrino.root' do
356
355
  stub_root("/unknown/path/") { Padrino.logger.debug("hello boy") }
357
- assert_match /hello boy/, Padrino.logger.log.string
358
- refute_match /\[.+?\] hello boy/, Padrino.logger.log.string
356
+ assert_match(/hello boy/, Padrino.logger.log.string)
357
+ refute_match(/\[.+?\] hello boy/, Padrino.logger.log.string)
359
358
  end
360
359
 
361
360
  it 'should not output source_location if source file path is started with Padrino.root + vendor' do
362
361
  base_path = File.expand_path(File.dirname(__FILE__) + '/fixtures/')
363
362
  stub_message = File.expand_path(File.dirname(__FILE__) + '/fixtures/vendor/logger.rb') + ":291:in `test'"
364
363
  Padrino::Logger.logger.stub(:caller, [stub_message]) { stub_root(base_path) { Padrino.logger.debug("hello vendor") } }
365
- assert_match /hello vendor/, Padrino.logger.log.string
366
- refute_match /\[.+?\] hello vendor/, Padrino.logger.log.string
364
+ assert_match(/hello vendor/, Padrino.logger.log.string)
365
+ refute_match(/\[.+?\] hello vendor/, Padrino.logger.log.string)
367
366
  end
368
367
  end
data/test/test_mounter.rb CHANGED
@@ -92,7 +92,7 @@ describe "Mounter" do
92
92
  end
93
93
 
94
94
  it 'should raise error when app has no located file' do
95
- # TODO enabling this screws minitest
95
+ # TODO: enabling this screws minitest
96
96
  # assert_raises(Padrino::Mounter::MounterException) { Padrino.mount("tester_app").to('/test') }
97
97
  assert_equal 0, Padrino.mounted_apps.size
98
98
  end
@@ -229,7 +229,7 @@ describe "Mounter" do
229
229
  it 'should not clobber the public setting when mounting an app' do
230
230
  class ::PublicApp < Padrino::Application
231
231
  set :root, "/root"
232
- set :public_folder, File.expand_path(File.dirname(__FILE__))
232
+ set :public_folder, __dir__
233
233
  end
234
234
 
235
235
  Padrino.mount("public_app").to("/public")
@@ -269,7 +269,7 @@ describe "Mounter" do
269
269
  assert_equal "hello sinatra app", res.body
270
270
  res = Rack::MockRequest.new(app).get("/sinatra_app/static.html")
271
271
  assert_equal "hello static file\n", res.body
272
- assert_equal [], RackApp.prerequisites
272
+ assert_empty RackApp.prerequisites
273
273
  end
274
274
 
275
275
  it 'should support the Rack Application with cascading style' do
@@ -36,7 +36,7 @@ describe "Padrino::ParamsProtection" do
36
36
  it 'should work with recursive data' do
37
37
  result = nil
38
38
  mock_app do
39
- post :basic, :params => [ :name, :child => [ :name, :child => [ :name ] ] ] do
39
+ post :basic, :params => [ :name, {:child => [ :name, {:child => [ :name ]} ]} ] do
40
40
  result = [params, original_params]
41
41
  ''
42
42
  end
@@ -54,7 +54,7 @@ describe "Padrino::ParamsProtection" do
54
54
  it 'should be able to process the data' do
55
55
  result = nil
56
56
  mock_app do
57
- post :basic, :params => [ :name, :position => proc{ |v| 'anti-'+v } ] do
57
+ post :basic, :params => [ :name, {:position => proc{ |v| 'anti-'+v }} ] do
58
58
  result = params
59
59
  ''
60
60
  end
@@ -142,7 +142,7 @@ describe "Padrino::ParamsProtection" do
142
142
  post '/persons/destroy/1?' + @jack_query
143
143
  assert_equal({"id"=>"1"}, result)
144
144
  get '/noparam?a=1;b=2'
145
- assert_equal({}, result)
145
+ assert_empty(result)
146
146
  end
147
147
 
148
148
  it 'should successfully filter hashes' do
@@ -165,7 +165,7 @@ describe "Padrino::ParamsProtection" do
165
165
  ''
166
166
  end
167
167
  end
168
- post '/family?' + Padrino::Utils.build_uri_query(:names => %w{Jack Kim Teri})
168
+ post '/family?' + Padrino::Utils.build_uri_query(:names => %w[Jack Kim Teri])
169
169
  assert_equal({"names" => %w[Jack Kim Teri]}, result)
170
170
  end
171
171
 
@@ -190,6 +190,6 @@ describe "Padrino::ParamsProtection" do
190
190
  end
191
191
  end
192
192
  post '/i?gotta=go'
193
- assert_equal({}, result)
193
+ assert_empty(result)
194
194
  end
195
195
  end
@@ -32,13 +32,13 @@ describe "SimpleReloader" do
32
32
  assert_equal 200, status
33
33
  get "/__sinatra__/404.png"
34
34
  assert_equal 200, status
35
- assert_match /image\/png/, response["Content-Type"]
35
+ assert_match(/image\/png/, response["Content-Type"])
36
36
  @app.reset_routes!
37
37
  get "/"
38
38
  assert_equal 404, status
39
39
  get "/__sinatra__/404.png"
40
40
  assert_equal 200, status
41
- assert_match /image\/png/, response["Content-Type"]
41
+ assert_match(/image\/png/, response["Content-Type"])
42
42
  end
43
43
  end
44
44
 
@@ -22,7 +22,7 @@ describe "Padrino::Reloader::Storage" do
22
22
 
23
23
  assert_equal (klasses.size > 1), true
24
24
  klasses.each do |klass|
25
- assert_match /^Padrino::/, klass.to_s
25
+ assert_match(/^Padrino::/, klass.to_s)
26
26
  end
27
27
  end
28
28
  end
data/test/test_routing.rb CHANGED
@@ -1,4 +1,3 @@
1
- #encoding: utf-8
2
1
  require File.expand_path(File.dirname(__FILE__) + '/helper')
3
2
 
4
3
  class FooError < RuntimeError; end
@@ -67,7 +66,7 @@ describe "Routing" do
67
66
  post "/#{File.basename(__FILE__)}?status=422"
68
67
  assert_equal response.status, 422
69
68
  assert_equal File.size(__FILE__).to_s, response['Content-Length']
70
- assert response.headers.include?('Last-Modified')
69
+ assert_includes response.headers, 'Last-Modified'
71
70
  end
72
71
 
73
72
  it 'should ignore trailing delimiters for basic route' do
@@ -146,12 +145,12 @@ describe "Routing" do
146
145
 
147
146
  it 'should accept regexp routes' do
148
147
  mock_app do
149
- get(%r./fob|/baz.) { "regexp" }
148
+ get(%r{/fob|/baz}) { "regexp" }
150
149
  get("/foo") { "str" }
151
- get %r./([0-9]+)/. do |num|
150
+ get %r{/([0-9]+)/} do |num|
152
151
  "Your lucky number: #{num} #{params[:captures].first}"
153
152
  end
154
- get %r./page/([0-9]+)|/. do |num|
153
+ get %r{/page/([0-9]+)|/} do |num|
155
154
  "My lucky number: #{num} #{params[:captures].first}"
156
155
  end
157
156
  end
@@ -169,7 +168,7 @@ describe "Routing" do
169
168
 
170
169
  it 'should ignore trailing slashes' do
171
170
  mock_app do
172
- get(%r./trailing.) { "slash" }
171
+ get(%r{/trailing}) { "slash" }
173
172
  end
174
173
  get "/trailing"
175
174
  assert_equal "slash", body
@@ -306,7 +305,7 @@ describe "Routing" do
306
305
  post(:foo, '', :with => :id){ |id| "/#{id}" }
307
306
  delete(:drugs, :with => [:id, 'destroy']){ |id| "/drugs/#{id}/destroy" }
308
307
  delete(:drugs, '', :with => [:id, 'destroy']){ |id| "/#{id}/destroy" }
309
- get(:splatter, "/splatter/*/*"){ |a, b| url(:splatter, :splat => ["123", "456"]) }
308
+ get(:splatter, "/splatter/*/*"){ |_a, _b| url(:splatter, :splat => ["123", "456"]) }
310
309
  end
311
310
  get "/foo"
312
311
  assert_equal "/foo", body
@@ -519,7 +518,7 @@ describe "Routing" do
519
518
 
520
519
  it 'should send the appropriate number of params' do
521
520
  mock_app do
522
- get('/id/:user_id', :provides => [:json]) { |user_id, format| user_id}
521
+ get('/id/:user_id', :provides => [:json]) { |user_id, _format| user_id}
523
522
  end
524
523
  get '/id/5.json'
525
524
  assert_equal '5', body
@@ -766,7 +765,7 @@ describe "Routing" do
766
765
  assert_equal "js", body
767
766
  get "/b"
768
767
  assert_equal "any", body
769
- # TODO randomly fails in minitest :(
768
+ # TODO: randomly fails in minitest :(
770
769
  # assert_raises(RuntimeError) { get "/b.foo" }
771
770
  get "/c"
772
771
  assert_equal 200, status
@@ -1009,7 +1008,7 @@ describe "Routing" do
1009
1008
  id
1010
1009
  end
1011
1010
 
1012
- get 'format/:id', :provides => [:json, :html] do |id, format|
1011
+ get 'format/:id', :provides => [:json, :html] do |_id, format|
1013
1012
  format
1014
1013
  end
1015
1014
  end
@@ -1958,7 +1957,7 @@ describe "Routing" do
1958
1957
  counter = 0
1959
1958
 
1960
1959
  mock_app do
1961
- self.class.send(:define_method, :increment!) do |*args|
1960
+ self.class.send(:define_method, :increment!) do |*_args|
1962
1961
  condition { counter += 1 }
1963
1962
  end
1964
1963
 
@@ -2142,7 +2141,7 @@ describe "Routing" do
2142
2141
  end
2143
2142
  get "/"
2144
2143
  assert_equal 404, status
2145
- assert_match /not found/, body
2144
+ assert_match(/not found/, body)
2146
2145
  end
2147
2146
 
2148
2147
  it 'should render a custom 404 page using not_found' do
@@ -2246,7 +2245,7 @@ describe "Routing" do
2246
2245
  end
2247
2246
  end
2248
2247
  get "/say/hello/to/world"
2249
- assert_equal %Q[["hello", "world"]], body
2248
+ assert_equal %(["hello", "world"]), body
2250
2249
  end
2251
2250
 
2252
2251
  it "should recognize the route containing splat params if path is ended with slash" do
@@ -2340,7 +2339,7 @@ describe "Routing" do
2340
2339
  env = Rack::MockRequest.env_for("/mock_sample")
2341
2340
  assert_equal :mock_sample, @app.router.recognize(env).first.name
2342
2341
  env = Rack::MockRequest.env_for("/invalid")
2343
- assert_equal [], @app.router.recognize(env)
2342
+ assert_empty @app.router.recognize(env)
2344
2343
  end
2345
2344
 
2346
2345
  it "should be able to use params after sending request" do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: padrino-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.15.3
4
+ version: 0.16.0.pre2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Padrino Team
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2023-02-25 00:00:00.000000000 Z
14
+ date: 2024-08-06 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: padrino-support
@@ -19,28 +19,42 @@ dependencies:
19
19
  requirements:
20
20
  - - '='
21
21
  - !ruby/object:Gem::Version
22
- version: 0.15.3
22
+ version: 0.16.0.pre2
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - '='
28
28
  - !ruby/object:Gem::Version
29
- version: 0.15.3
29
+ version: 0.16.0.pre2
30
+ - !ruby/object:Gem::Dependency
31
+ name: rackup
32
+ requirement: !ruby/object:Gem::Requirement
33
+ requirements:
34
+ - - "~>"
35
+ - !ruby/object:Gem::Version
36
+ version: '2.1'
37
+ type: :runtime
38
+ prerelease: false
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - "~>"
42
+ - !ruby/object:Gem::Version
43
+ version: '2.1'
30
44
  - !ruby/object:Gem::Dependency
31
45
  name: sinatra
32
46
  requirement: !ruby/object:Gem::Requirement
33
47
  requirements:
34
- - - ">="
48
+ - - "~>"
35
49
  - !ruby/object:Gem::Version
36
- version: 2.2.4
50
+ version: '4'
37
51
  type: :runtime
38
52
  prerelease: false
39
53
  version_requirements: !ruby/object:Gem::Requirement
40
54
  requirements:
41
- - - ">="
55
+ - - "~>"
42
56
  - !ruby/object:Gem::Version
43
- version: 2.2.4
57
+ version: '4'
44
58
  - !ruby/object:Gem::Dependency
45
59
  name: thor
46
60
  requirement: !ruby/object:Gem::Requirement
@@ -203,11 +217,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
203
217
  version: '0'
204
218
  required_rubygems_version: !ruby/object:Gem::Requirement
205
219
  requirements:
206
- - - ">="
220
+ - - ">"
207
221
  - !ruby/object:Gem::Version
208
- version: 1.3.6
222
+ version: 1.3.1
209
223
  requirements: []
210
- rubygems_version: 3.0.8
224
+ rubygems_version: 3.2.3
211
225
  signing_key:
212
226
  specification_version: 4
213
227
  summary: The required Padrino core gem