padrino-core 0.13.3 → 0.13.3.1

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: 3a7babb0beba45716e2ff3af2f78dbc0f6a3e842
4
- data.tar.gz: 1a047b4858de0f5c60d42a18289d824cc43b519d
3
+ metadata.gz: 33124fc7a2cac824324138a48c0fda3a890aae3f
4
+ data.tar.gz: d051bf2e1b63df26a05aa63cdc6d77e97429c51a
5
5
  SHA512:
6
- metadata.gz: ea91c7f77ca7a01beefd69e03288619b142e64696e68ec36b860491dacf18561867b75b3334580841c2c3705b2bfca7bcc834b4834c1d2398402df279bed6549
7
- data.tar.gz: dd67394786c89aa8f52584cc933a164e0a221c534de89c2189141797b5d6103abf79c542fe54e6aae55760333185b5de30a9aead6db67f56cef56280fdefa9f0
6
+ metadata.gz: 00d7e8413a335c6b8faa73c114f93ecf8bc73174b25f508c71c0f2f939c591029b608a7251ae0944a9378df0c22bf9a26d4c5dba09d3793f8ee06af38400681c
7
+ data.tar.gz: c874f43d918e9d8f819b69ddeb0e404c0659cc5de995da64774d3f73578fb0b103d66c217d360fc5400dbc99e841f88ae8b60e8c16fae098ab7e83986e22601b
@@ -68,10 +68,10 @@ module Padrino
68
68
  # No applications were mounted.
69
69
  #
70
70
  def application
71
- warn 'WARNING! No apps are mounted. Please, mount apps in `config/apps.rb`' unless Padrino.mounted_apps.present?
71
+ warn 'WARNING! No apps are mounted. Please, mount apps in `config/apps.rb`' if Padrino.mounted_apps.empty?
72
72
  router = Padrino::Router.new
73
73
  Padrino.mounted_apps.each { |app| app.map_onto(router) }
74
- middleware.present? ? add_middleware(router) : router
74
+ middleware.empty? ? router : add_middleware(router)
75
75
  end
76
76
 
77
77
  ##
@@ -340,7 +340,7 @@ module Padrino
340
340
  def url(*args)
341
341
  params = args.last.is_a?(Hash) ? args.pop : {}
342
342
  fragment = params.delete(:fragment) || params.delete(:anchor)
343
- path = make_path_with_params(args, value_to_param(params.symbolize_keys))
343
+ path = make_path_with_params(args, value_to_param(params))
344
344
  rebase_url(fragment ? path << '#' << fragment.to_s : path)
345
345
  end
346
346
  alias :url_for :url
@@ -377,7 +377,7 @@ module Padrino
377
377
  new_url << conform_uri(uri_root) if defined?(uri_root)
378
378
  new_url << url
379
379
  else
380
- url.blank? ? '/' : url
380
+ url.empty? ? '/' : url
381
381
  end
382
382
  end
383
383
 
@@ -398,6 +398,7 @@ module Padrino
398
398
 
399
399
  private
400
400
 
401
+ # temporary variables named @_parent, @_provides, @_use_format, @_cache, @_expires, @_map, @_conditions, @_accepts, @_params
401
402
  CONTROLLER_OPTIONS = [ :parent, :provides, :use_format, :cache, :expires, :map, :conditions, :accepts, :params ].freeze
402
403
 
403
404
  # Saves controller options, yields the block, restores controller options.
@@ -624,7 +625,7 @@ module Padrino
624
625
 
625
626
  unless controller.empty?
626
627
  # Now we need to add our controller path only if not mapped directly
627
- if map.blank? and !absolute_map
628
+ if !map && !absolute_map
628
629
  controller_path = controller.join("/")
629
630
  path.gsub!(%r{^\(/\)|/\?}, "")
630
631
  path = File.join(controller_path, path) unless @_map
@@ -638,7 +639,7 @@ module Padrino
638
639
  end
639
640
 
640
641
  # Add any controller level map to the front of the path.
641
- path = "#{@_map}/#{path}".squeeze('/') unless absolute_map or @_map.blank?
642
+ path = "#{@_map}/#{path}".squeeze('/') unless absolute_map || !@_map
642
643
 
643
644
  # Small reformats
644
645
  path.gsub!(%r{/\?$}, '(/)') # Remove index path
@@ -655,7 +656,7 @@ module Padrino
655
656
  name = options.delete(:name) if name.nil? && options.key?(:name)
656
657
  if name
657
658
  controller_name = controller.join("_")
658
- name = "#{controller_name} #{name}".to_sym unless controller_name.blank?
659
+ name = "#{controller_name} #{name}".to_sym unless controller_name.empty?
659
660
  end
660
661
 
661
662
  options[:default_values] = @_defaults unless options.has_key?(:default_values)
@@ -832,12 +833,12 @@ module Padrino
832
833
  #
833
834
  def current_path(*path_params)
834
835
  if path_params.last.is_a?(Hash)
835
- path_params[-1] = params.merge(path_params[-1].with_indifferent_access)
836
+ path_params[-1] = params.merge(path_params[-1])
836
837
  else
837
838
  path_params << params
838
839
  end
839
840
 
840
- path_params[-1] = path_params[-1].symbolize_keys
841
+ path_params[-1] = Utils.symbolize_keys(path_params[-1])
841
842
  @route.path(*path_params)
842
843
  end
843
844
 
@@ -960,7 +961,7 @@ module Padrino
960
961
  @params, @layout = original_params, parent_layout
961
962
  end
962
963
 
963
- if routes.present?
964
+ unless routes.empty?
964
965
  verb = request.request_method
965
966
  candidacies, allows = routes.partition{|route| route.verb == verb }
966
967
  if candidacies.empty?
@@ -1008,7 +1009,7 @@ module Padrino
1008
1009
  end
1009
1010
 
1010
1011
  def captures_from_params(params)
1011
- if params[:captures].instance_of?(Array) && params[:captures].present?
1012
+ if params[:captures].instance_of?(Array) && !params[:captures].empty?
1012
1013
  params.delete(:captures)
1013
1014
  else
1014
1015
  params.values_at(*route.matcher.names).flatten
@@ -4,12 +4,12 @@ module Padrino
4
4
  class << self
5
5
  # Start for the given options a rackup handler
6
6
  def start(options)
7
- Padrino.run!(options.symbolize_keys)
7
+ Padrino.run!(Utils.symbolize_keys(options))
8
8
  end
9
9
 
10
10
  # Method that stop (if exist) a running Padrino.application
11
11
  def stop(options)
12
- options.symbolize_keys!
12
+ options = Utils.symbolize_keys(options)
13
13
  if File.exist?(options[:pid])
14
14
  pid = File.read(options[:pid]).to_i
15
15
  puts "=> Sending INT to process with pid #{pid}"
@@ -22,7 +22,7 @@ end
22
22
 
23
23
  def list_app_routes(app, args)
24
24
  app_routes = app.named_routes
25
- app_routes.reject! { |r| r.identifier.to_s !~ /#{args.query}/ } if args.query.present?
25
+ app_routes.reject! { |r| r.identifier.to_s !~ /#{args.query}/ } if args.query && !args.query.empty?
26
26
  app_routes.map! { |r| [r.verb, r.name, r.path] }
27
27
  return if app_routes.empty?
28
28
  shell.say "\nApplication: #{app.app_class}", :yellow
@@ -130,6 +130,8 @@ module Padrino
130
130
  #
131
131
  def named_routes
132
132
  app_obj.routes.map { |route|
133
+ request_method = route.request_methods.first
134
+ next if !route.name || request_method == 'HEAD'
133
135
  route_name = route.name.to_s
134
136
  route_name =
135
137
  if route.controller
@@ -138,8 +140,6 @@ module Padrino
138
140
  ":#{route_name}"
139
141
  end
140
142
  name_array = "(#{route_name})"
141
- request_method = route.request_methods.first
142
- next if route.name.blank? || request_method == 'HEAD'
143
143
  original_path = route.original_path.is_a?(Regexp) ? route.original_path.inspect : route.original_path
144
144
  full_path = File.join(uri_root, original_path)
145
145
  OpenStruct.new(:verb => request_method, :identifier => route.name, :name => name_array, :path => full_path)
@@ -39,11 +39,11 @@ module Padrino
39
39
 
40
40
  # Starts the application on the available server with specified options.
41
41
  def self.start(app, options={})
42
- options = options.to_hash.symbolize_keys
42
+ options = Utils.symbolize_keys(options.to_hash)
43
43
  options.update(parse_server_options(options.delete(:options)))
44
44
  options.update(detect_address(options))
45
45
  options[:pid] = prepare_pid(options[:pid]) if options[:daemonize]
46
- options[:server] = detect_rack_handler if options[:server].blank?
46
+ options[:server] ||= detect_rack_handler
47
47
  # disable Webrick AccessLog
48
48
  options[:AccessLog] = []
49
49
  new(options, app).start
@@ -95,7 +95,7 @@ module Padrino
95
95
  # Prepares a directory for pid file.
96
96
  #
97
97
  def self.prepare_pid(pid)
98
- pid = 'tmp/pids/server.pid' if pid.blank?
98
+ pid ||= 'tmp/pids/server.pid'
99
99
  FileUtils.mkdir_p(File.dirname(pid))
100
100
  File.expand_path(pid)
101
101
  end
@@ -6,7 +6,7 @@
6
6
  #
7
7
  module Padrino
8
8
  # The version constant for the current version of Padrino.
9
- VERSION = '0.13.3' unless defined?(Padrino::VERSION)
9
+ VERSION = '0.13.3.1' unless defined?(Padrino::VERSION)
10
10
 
11
11
  #
12
12
  # The current Padrino version.
@@ -24,11 +24,7 @@ Gem::Specification.new do |s|
24
24
  s.rdoc_options = ["--charset=UTF-8"]
25
25
 
26
26
  s.add_dependency("padrino-support", Padrino.version)
27
- if ENV["SINATRA_EDGE"]
28
- s.add_dependency("sinatra")
29
- else
30
- s.add_dependency("sinatra", "~> 1.4.6")
31
- end
27
+ s.add_dependency("sinatra", ">= 1.4.6")
32
28
  s.add_dependency("mustermann19")
33
29
  s.add_dependency("thor", "~> 0.18")
34
30
  s.add_dependency("activesupport", ">= 3.1")
@@ -6,6 +6,7 @@ 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
10
  mock_app do
10
11
  enable :sessions
11
12
  enable :protect_from_csrf
@@ -19,25 +20,24 @@ describe "Application" do
19
20
  end
20
21
 
21
22
  it 'should allow requests with correct tokens' do
22
- post "/", {"authenticity_token" => "a"}, 'rack.session' => {:csrf => "a"}
23
+ post "/", {"authenticity_token" => @token}, 'rack.session' => {:csrf => @token}
23
24
  assert_equal 200, status
24
25
  end
25
26
 
26
27
  it 'should not allow requests with incorrect tokens' do
27
- post "/", {"authenticity_token" => "a"}, 'rack.session' => {:csrf => "b"}
28
+ post "/", {"authenticity_token" => "b"}, 'rack.session' => {:csrf => @token}
28
29
  assert_equal 403, status
29
30
  end
30
31
 
31
32
  it 'should allow requests with correct X-CSRF-TOKEN' do
32
- post "/", {}, 'rack.session' => {:csrf => "a"}, 'HTTP_X_CSRF_TOKEN' => "a"
33
+ post "/", {}, 'rack.session' => {:csrf => @token}, 'HTTP_X_CSRF_TOKEN' => @token
33
34
  assert_equal 200, status
34
35
  end
35
36
 
36
37
  it 'should not allow requests with incorrect X-CSRF-TOKEN' do
37
- post "/", {}, 'rack.session' => {:csrf => "a"}, 'HTTP_X_CSRF_TOKEN' => "b"
38
+ post "/", {}, 'rack.session' => {:csrf => @token}, 'HTTP_X_CSRF_TOKEN' => "b"
38
39
  assert_equal 403, status
39
40
  end
40
-
41
41
  end
42
42
 
43
43
  describe "without CSRF protection on" do
@@ -142,6 +142,7 @@ describe "Application" do
142
142
 
143
143
  describe "with custom protection options" do
144
144
  before do
145
+ @token = Rack::Protection::AuthenticityToken.random_token rescue "a_token"
145
146
  mock_app do
146
147
  enable :sessions
147
148
  set :protect_from_csrf, :authenticity_param => 'foobar', :message => 'sucker!'
@@ -150,7 +151,7 @@ describe "Application" do
150
151
  end
151
152
 
152
153
  it 'should allow configuring protection options' do
153
- post "/a", {"foobar" => "a"}, 'rack.session' => {:csrf => "a"}
154
+ post "/a", {"foobar" => @token}, 'rack.session' => {:csrf => @token}
154
155
  assert_equal 200, status
155
156
  end
156
157
 
@@ -6,16 +6,16 @@ describe "Locales" do
6
6
  name = File.basename(file, '.yml')
7
7
  it "should should have correct locale for #{name}" do
8
8
  base = base_original[name]['date']['formats']
9
- assert base['default'].present?
10
- assert base['short'].present?
11
- assert base['long'].present?
12
- assert base['only_day'].present?
9
+ assert base['default']
10
+ assert base['short']
11
+ assert base['long']
12
+ assert base['only_day']
13
13
  base = base_original[name]['date']
14
- assert base['day_names'].present?
15
- assert base['abbr_day_names'].present?
16
- assert base['month_names'].present?
17
- assert base['abbr_month_names'].present?
18
- assert base['order'].present?
14
+ assert base['day_names']
15
+ assert base['abbr_day_names']
16
+ assert base['month_names']
17
+ assert base['abbr_month_names']
18
+ assert base['order']
19
19
  end
20
20
  end
21
21
  end
@@ -2149,14 +2149,14 @@ describe "Routing" do
2149
2149
  get(:simple, :map => "/simple/:id") { }
2150
2150
  get(:with_format, :with => :id, :provides => :js) { }
2151
2151
  end
2152
- assert_equal [:"foo bar", { :id => "fantastic" }.with_indifferent_access], @app.recognize_path(@app.url(:foo, :bar, :id => :fantastic))
2153
- assert_equal [:"foo bar", { :id => "18" }.with_indifferent_access], @app.recognize_path(@app.url(:foo, :bar, :id => 18))
2154
- assert_equal [:simple, { :id => "bar" }.with_indifferent_access], @app.recognize_path(@app.url(:simple, :id => "bar"))
2155
- assert_equal [:simple, { :id => "true" }.with_indifferent_access], @app.recognize_path(@app.url(:simple, :id => true))
2156
- assert_equal [:simple, { :id => "9" }.with_indifferent_access], @app.recognize_path(@app.url(:simple, :id => 9))
2157
- assert_equal [:with_format, { :id => "bar", :format => "js" }.with_indifferent_access], @app.recognize_path(@app.url(:with_format, :id => "bar", :format => :js))
2158
- assert_equal [:with_format, { :id => "true", :format => "js" }.with_indifferent_access], @app.recognize_path(@app.url(:with_format, :id => true, :format => "js"))
2159
- assert_equal [:with_format, { :id => "9", :format => "js" }.with_indifferent_access], @app.recognize_path(@app.url(:with_format, :id => 9, :format => :js))
2152
+ assert_equal [:"foo bar", { "id" => "fantastic" }], @app.recognize_path(@app.url(:foo, :bar, :id => :fantastic))
2153
+ assert_equal [:"foo bar", { "id" => "18" }], @app.recognize_path(@app.url(:foo, :bar, :id => 18))
2154
+ assert_equal [:simple, { "id" => "bar" }], @app.recognize_path(@app.url(:simple, :id => "bar"))
2155
+ assert_equal [:simple, { "id" => "true" }], @app.recognize_path(@app.url(:simple, :id => true))
2156
+ assert_equal [:simple, { "id" => "9" }], @app.recognize_path(@app.url(:simple, :id => 9))
2157
+ assert_equal [:with_format, { "id" => "bar", "format" => "js" }], @app.recognize_path(@app.url(:with_format, :id => "bar", :format => :js))
2158
+ assert_equal [:with_format, { "id" => "true", "format" => "js" }], @app.recognize_path(@app.url(:with_format, :id => true, :format => "js"))
2159
+ assert_equal [:with_format, { "id" => "9", "format" => "js" }], @app.recognize_path(@app.url(:with_format, :id => 9, :format => :js))
2160
2160
  end
2161
2161
 
2162
2162
  it 'should have current_path' 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.13.3
4
+ version: 0.13.3.1
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: 2016-08-17 00:00:00.000000000 Z
14
+ date: 2016-08-30 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: padrino-support
@@ -19,26 +19,26 @@ dependencies:
19
19
  requirements:
20
20
  - - '='
21
21
  - !ruby/object:Gem::Version
22
- version: 0.13.3
22
+ version: 0.13.3.1
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.13.3
29
+ version: 0.13.3.1
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: sinatra
32
32
  requirement: !ruby/object:Gem::Requirement
33
33
  requirements:
34
- - - "~>"
34
+ - - ">="
35
35
  - !ruby/object:Gem::Version
36
36
  version: 1.4.6
37
37
  type: :runtime
38
38
  prerelease: false
39
39
  version_requirements: !ruby/object:Gem::Requirement
40
40
  requirements:
41
- - - "~>"
41
+ - - ">="
42
42
  - !ruby/object:Gem::Version
43
43
  version: 1.4.6
44
44
  - !ruby/object:Gem::Dependency
@@ -238,7 +238,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
238
238
  version: 1.3.6
239
239
  requirements: []
240
240
  rubyforge_project: padrino-core
241
- rubygems_version: 2.6.4
241
+ rubygems_version: 2.5.1
242
242
  signing_key:
243
243
  specification_version: 4
244
244
  summary: The required Padrino core gem