padrino-core 0.13.3 → 0.13.3.1

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
  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