padrino-core 0.10.5 → 0.10.6.a

Sign up to get free protection for your applications and to get access to all the features.
data/lib/padrino-core.rb CHANGED
@@ -112,21 +112,6 @@ module Padrino
112
112
  nil
113
113
  end
114
114
 
115
- ##
116
- # Determines whether the dependencies are locked by Bundler.
117
- # otherwise return nil
118
- #
119
- # @return [:locked, :unlocked, nil]
120
- # Returns +:locked+ if the +Gemfile.lock+ file exists, or +:unlocked+
121
- # if only the +Gemfile+ exists.
122
- #
123
- # @deprecated Will be removed in 1.0.0
124
- #
125
- def bundle
126
- return :locked if File.exist?(root('Gemfile.lock'))
127
- return :unlocked if File.exist?(root("Gemfile"))
128
- end
129
-
130
115
  ##
131
116
  # A Rack::Builder object that allows to add middlewares in front of all
132
117
  # Padrino applications.
@@ -519,24 +519,24 @@ module Padrino
519
519
  # Rewrite default routes.
520
520
  #
521
521
  # @example
522
- # get :index # => "/"
523
- # get :index, "/" # => "/"
524
- # get :index, :map => "/" # => "/"
525
- # get :show, "/show-me" # => "/show-me"
526
- # get :show, :map => "/show-me" # => "/show-me"
527
- # get "/foo/bar" # => "/show"
528
- # get :index, :parent => :user # => "/user/:user_id/index"
529
- # get :show, :with => :id, :parent => :user # => "/user/:user_id/show/:id"
530
- # get :show, :with => :id # => "/show/:id"
531
- # get [:show, :id] # => "/show/:id"
532
- # get :show, :with => [:id, :name] # => "/show/:id/:name"
533
- # get [:show, :id, :name] # => "/show/:id/:name"
534
- # get :list, :provides => :js # => "/list.{:format,js)"
535
- # get :list, :provides => :any # => "/list(.:format)"
536
- # get :list, :provides => [:js, :json] # => "/list.{!format,js|json}"
537
- # get :list, :provides => [:html, :js, :json] # => "/list(.{!format,js|json})"
538
- # get :list, :priority => :low # Defers route to be last
539
- #
522
+ # get :index # => "/"
523
+ # get :index, "/" # => "/"
524
+ # get :index, :map => "/" # => "/"
525
+ # get :show, "/show-me" # => "/show-me"
526
+ # get :show, :map => "/show-me" # => "/show-me"
527
+ # get "/foo/bar" # => "/show"
528
+ # get :index, :parent => :user # => "/user/:user_id/index"
529
+ # get :show, :with => :id, :parent => :user # => "/user/:user_id/show/:id"
530
+ # get :show, :with => :id # => "/show/:id"
531
+ # get [:show, :id] # => "/show/:id"
532
+ # get :show, :with => [:id, :name] # => "/show/:id/:name"
533
+ # get [:show, :id, :name] # => "/show/:id/:name"
534
+ # get :list, :provides => :js # => "/list.{:format,js)"
535
+ # get :list, :provides => :any # => "/list(.:format)"
536
+ # get :list, :provides => [:js, :json] # => "/list.{!format,js|json}"
537
+ # get :list, :provides => [:html, :js, :json] # => "/list(.{!format,js|json})"
538
+ # get :list, :priority => :low # Defers route to be last
539
+ # get /pattern/, :name => :foo, :generate_with => '/foo' # Generates :foo as /foo
540
540
  def route(verb, path, *args, &block)
541
541
  options = case args.size
542
542
  when 2
@@ -557,7 +557,7 @@ module Padrino
557
557
  route_options = options.dup
558
558
  route_options[:provides] = @_provides if @_provides
559
559
  path, *route_options[:with] = path if path.is_a?(Array)
560
- path, name, options = *parse_route(path, route_options, verb)
560
+ path, name, options, route_options = *parse_route(path, route_options, verb)
561
561
  options.reverse_merge!(@_conditions) if @_conditions
562
562
 
563
563
  # Sinatra defaults
@@ -571,7 +571,7 @@ module Padrino
571
571
  invoke_hook(:route_added, verb, path, block)
572
572
 
573
573
  # HTTPRouter route construction
574
- route = router.add(path)
574
+ route = router.add(path, route_options)
575
575
  route.name(name) if name
576
576
  priority_name = options.delete(:priority) || :normal
577
577
  priority = ROUTE_PRIORITY[priority_name] or raise("Priority #{priority_name} not recognized, try #{ROUTE_PRIORITY.keys.join(', ')}")
@@ -620,6 +620,9 @@ module Padrino
620
620
  # We need save our originals path/options so we can perform correctly cache.
621
621
  original = [path, options.dup]
622
622
 
623
+ # options for the route directly
624
+ route_options = {}
625
+
623
626
  # We need check if path is a symbol, if that it's a named route
624
627
  map = options.delete(:map)
625
628
 
@@ -628,7 +631,11 @@ module Padrino
628
631
  path = map ? map.dup : (path == :index ? '/' : path.to_s) # The route path
629
632
  end
630
633
 
631
- if path.kind_of?(String) # path i.e "/index" or "/show"
634
+ # Build our controller
635
+ controller = Array(@_controller).map { |c| c.to_s }
636
+
637
+ case path
638
+ when String # path i.e "/index" or "/show"
632
639
  # Now we need to parse our 'with' params
633
640
  if with_params = options.delete(:with)
634
641
  path = process_path_for_with_params(path, with_params)
@@ -643,9 +650,6 @@ module Padrino
643
650
  options[:matching][:format] = /[^\.]+/
644
651
  end
645
652
 
646
- # Build our controller
647
- controller = Array(@_controller).map { |c| c.to_s }
648
-
649
653
  absolute_map = map && map[0] == ?/
650
654
 
651
655
  unless controller.empty?
@@ -656,10 +660,6 @@ module Padrino
656
660
  path = File.join(controller_path, path)
657
661
  end
658
662
  # Here we build the correct name route
659
- if name
660
- controller_name = controller.join("_")
661
- name = "#{controller_name}_#{name}".to_sym unless controller_name.blank?
662
- end
663
663
  end
664
664
 
665
665
  # Now we need to parse our 'parent' params and parent scope
@@ -678,12 +678,21 @@ module Padrino
678
678
  path.sub!(%r{/(\))?$}, '\\1') if path != "/" # Remove latest trailing delimiter
679
679
  path.gsub!(/\/(\(\.|$)/, '\\1') # Remove trailing slashes
680
680
  path.squeeze!('/')
681
+ when Regexp
682
+ route_options[:path_for_generation] = options.delete(:generate_with) if options.key?(:generate_with)
683
+ end
684
+
685
+ name = options.delete(:route_name) if name.nil? && options.key?(:route_name)
686
+ name = options.delete(:name) if name.nil? && options.key?(:name)
687
+ if name
688
+ controller_name = controller.join("_")
689
+ name = "#{controller_name}_#{name}".to_sym unless controller_name.blank?
681
690
  end
682
691
 
683
692
  # Merge in option defaults
684
693
  options.reverse_merge!(:default_values => @_defaults)
685
694
 
686
- [path, name, options]
695
+ [path, name, options, route_options]
687
696
  end
688
697
 
689
698
  ##
@@ -41,7 +41,6 @@ module Padrino
41
41
  method_option :environment, :type => :string, :aliases => "-e", :required => true, :default => :development
42
42
  method_option :list, :type => :string, :aliases => "-T", :desc => "Display the tasks (matching optional PATTERN) with descriptions, then exit."
43
43
  method_option :trace, :type => :boolean, :aliases => "-t", :desc => "Turn on invoke/execute tracing, enable full backtrace."
44
- method_option :verbose, :type => :boolean, :aliases => "-v", :desc => "Log message to standard output."
45
44
  def rake(*args)
46
45
  prepare :rake
47
46
  args << "-T" if options[:list]
@@ -51,9 +50,8 @@ module Padrino
51
50
  ARGV.clear
52
51
  ARGV.concat(args)
53
52
  puts "=> Executing Rake #{ARGV.join(' ')} ..."
54
- ENV['PADRINO_LOG_LEVEL'] ||= "test"
55
53
  load File.expand_path('../rake.rb', __FILE__)
56
- silence(:stdout) { require File.expand_path('config/boot.rb') }
54
+ require File.expand_path('config/boot.rb')
57
55
  PadrinoTasks.init(true)
58
56
  end
59
57
 
@@ -80,7 +78,7 @@ module Padrino
80
78
  require 'padrino-core/command'
81
79
  require 'padrino-gen/command'
82
80
  ARGV.shift
83
- Padrino.bin_gen(ARGV)
81
+ Padrino.bin_gen(*ARGV)
84
82
  rescue
85
83
  puts "<= You need padrino-gen! Run: gem install padrino-gen"
86
84
  end
@@ -4,7 +4,7 @@ lv:
4
4
  # Use the strftime parameters for formats.
5
5
  # When no format has been given, it uses default.
6
6
  # You can provide other formats here if you like!
7
- default: "%d.%m.%Y."
7
+ default: "%d.%m.%Y"
8
8
  short: "%e. %B"
9
9
  long: "%Y. gada %e. %B"
10
10
  only_day: "%e"
@@ -21,7 +21,7 @@ lv:
21
21
  time:
22
22
  formats:
23
23
  default: "%Y. gada %e. %B, %H:%M"
24
- short: "%d.%m.%Y., %H:%M"
24
+ short: "%d.%m.%Y, %H:%M"
25
25
  long: "%Y. gada %e. %B, %H:%M:%S"
26
26
  am: "priekšpusdiena"
27
27
  pm: "pēcpusdiena"
@@ -44,7 +44,7 @@ module Padrino
44
44
  [:INT, :TERM].each { |sig| trap(sig) { exit } }
45
45
  super
46
46
  ensure
47
- puts "<= Padrino has ended his set (crowd applauds)" unless options[:daemonize]
47
+ puts "<= Padrino leaves the gun, takes the cannoli" unless options[:daemonize]
48
48
  end
49
49
 
50
50
  # The application the server will run.
@@ -6,7 +6,7 @@
6
6
  #
7
7
  module Padrino
8
8
  # The version constant for the current version of Padrino.
9
- VERSION = '0.10.5' unless defined?(Padrino::VERSION)
9
+ VERSION = '0.10.6.a' unless defined?(Padrino::VERSION)
10
10
 
11
11
  #
12
12
  # The current Padrino version.
data/padrino-core.gemspec CHANGED
@@ -34,5 +34,5 @@ Gem::Specification.new do |s|
34
34
  s.add_dependency("sinatra", "~> 1.3.1")
35
35
  s.add_dependency("http_router", "~> 0.10.2")
36
36
  s.add_dependency("thor", "~> 0.14.3")
37
- s.add_dependency("activesupport", "~> 3.1.0")
37
+ s.add_dependency("activesupport", "~> 3.2.0")
38
38
  end
data/test/helper.rb CHANGED
@@ -44,6 +44,8 @@ class MiniTest::Spec
44
44
  else
45
45
  super(name, *args, &block)
46
46
  end
47
+ rescue Rack::Test::Error # no response yet
48
+ super(name, *args, &block)
47
49
  end
48
50
 
49
51
  alias :response :last_response
data/test/test_core.rb CHANGED
@@ -15,7 +15,6 @@ describe "Core" do
15
15
  assert_respond_to Padrino, :load!
16
16
  assert_respond_to Padrino, :reload!
17
17
  assert_respond_to Padrino, :version
18
- assert_respond_to Padrino, :bundle
19
18
  assert_respond_to Padrino, :configure_apps
20
19
  end
21
20
 
@@ -23,7 +22,6 @@ describe "Core" do
23
22
  should 'validate global helpers' do
24
23
  assert_equal :test, Padrino.env
25
24
  assert_match /\/test/, Padrino.root
26
- assert_equal nil, Padrino.bundle
27
25
  assert_not_nil Padrino.version
28
26
  end
29
27
 
data/test/test_routing.rb CHANGED
@@ -78,6 +78,13 @@ describe "Routing" do
78
78
  assert_equal "My lucky number: 99 99", body
79
79
  end
80
80
 
81
+ should 'accept regexp routes with generate with :generate_with' do
82
+ mock_app do
83
+ get(%r{/fob|/baz}, :name => :foo, :generate_with => '/fob') { "regexp" }
84
+ end
85
+ assert_equal "/fob", @app.url(:foo)
86
+ end
87
+
81
88
  should "parse routes with question marks" do
82
89
  mock_app do
83
90
  get("/foo/?"){ "okey" }
metadata CHANGED
@@ -1,8 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: padrino-core
3
3
  version: !ruby/object:Gem::Version
4
- prerelease:
5
- version: 0.10.5
4
+ hash: 98
5
+ prerelease: 7
6
+ segments:
7
+ - 0
8
+ - 10
9
+ - 6
10
+ - a
11
+ version: 0.10.6.a
6
12
  platform: ruby
7
13
  authors:
8
14
  - Padrino Team
@@ -13,8 +19,7 @@ autorequire:
13
19
  bindir: bin
14
20
  cert_chain: []
15
21
 
16
- date: 2011-10-12 00:00:00 -07:00
17
- default_executable:
22
+ date: 2012-01-23 00:00:00 Z
18
23
  dependencies:
19
24
  - !ruby/object:Gem::Dependency
20
25
  name: tilt
@@ -24,6 +29,11 @@ dependencies:
24
29
  requirements:
25
30
  - - ~>
26
31
  - !ruby/object:Gem::Version
32
+ hash: 27
33
+ segments:
34
+ - 1
35
+ - 3
36
+ - 0
27
37
  version: 1.3.0
28
38
  type: :runtime
29
39
  version_requirements: *id001
@@ -35,6 +45,11 @@ dependencies:
35
45
  requirements:
36
46
  - - ~>
37
47
  - !ruby/object:Gem::Version
48
+ hash: 25
49
+ segments:
50
+ - 1
51
+ - 3
52
+ - 1
38
53
  version: 1.3.1
39
54
  type: :runtime
40
55
  version_requirements: *id002
@@ -46,6 +61,11 @@ dependencies:
46
61
  requirements:
47
62
  - - ~>
48
63
  - !ruby/object:Gem::Version
64
+ hash: 51
65
+ segments:
66
+ - 0
67
+ - 10
68
+ - 2
49
69
  version: 0.10.2
50
70
  type: :runtime
51
71
  version_requirements: *id003
@@ -57,6 +77,11 @@ dependencies:
57
77
  requirements:
58
78
  - - ~>
59
79
  - !ruby/object:Gem::Version
80
+ hash: 33
81
+ segments:
82
+ - 0
83
+ - 14
84
+ - 3
60
85
  version: 0.14.3
61
86
  type: :runtime
62
87
  version_requirements: *id004
@@ -68,7 +93,12 @@ dependencies:
68
93
  requirements:
69
94
  - - ~>
70
95
  - !ruby/object:Gem::Version
71
- version: 3.1.0
96
+ hash: 15
97
+ segments:
98
+ - 3
99
+ - 2
100
+ - 0
101
+ version: 3.2.0
72
102
  type: :runtime
73
103
  version_requirements: *id005
74
104
  description: The Padrino core gem required for use of this framework
@@ -156,7 +186,6 @@ files:
156
186
  - test/test_restful_routing.rb
157
187
  - test/test_router.rb
158
188
  - test/test_routing.rb
159
- has_rdoc: true
160
189
  homepage: http://www.padrinorb.com
161
190
  licenses: []
162
191
 
@@ -170,17 +199,25 @@ required_ruby_version: !ruby/object:Gem::Requirement
170
199
  requirements:
171
200
  - - ">="
172
201
  - !ruby/object:Gem::Version
202
+ hash: 3
203
+ segments:
204
+ - 0
173
205
  version: "0"
174
206
  required_rubygems_version: !ruby/object:Gem::Requirement
175
207
  none: false
176
208
  requirements:
177
- - - ">="
209
+ - - ">"
178
210
  - !ruby/object:Gem::Version
179
- version: 1.3.6
211
+ hash: 25
212
+ segments:
213
+ - 1
214
+ - 3
215
+ - 1
216
+ version: 1.3.1
180
217
  requirements: []
181
218
 
182
219
  rubyforge_project: padrino-core
183
- rubygems_version: 1.6.2
220
+ rubygems_version: 1.8.15
184
221
  signing_key:
185
222
  specification_version: 3
186
223
  summary: The required Padrino core gem
@@ -211,3 +248,4 @@ test_files:
211
248
  - test/test_restful_routing.rb
212
249
  - test/test_router.rb
213
250
  - test/test_routing.rb
251
+ has_rdoc: