padrino-core 0.8.1 → 0.8.2

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.
@@ -430,15 +430,21 @@ The following commands are available:
430
430
  # Stops a daemonized app server
431
431
  $ padrino stop
432
432
 
433
- # Run all the unit tests
434
- $ padrino test
435
-
436
433
  # Bootup the Padrino console (irb)
437
434
  $ padrino console
438
435
 
439
436
  # Run/List tasks
440
437
  $ padrino rake
441
438
 
439
+ The last command "padrino rake" look for rake files in:
440
+
441
+ lib/tasks/**/*.rake
442
+ tasks/**/*.rake
443
+ test/test.rake
444
+ spec/spec.rake
445
+
446
+ In this way you can customize project tasks.
447
+
442
448
  Using these commands can simplify common tasks making development that much smoother.
443
449
 
444
450
  === Special Folders
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.8.1
1
+ 0.8.2
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
- %w[rubygems thor].each { |gem| require gem }
2
+ require 'rubygems'
3
3
  $:.unshift File.dirname(__FILE__) + "/../lib"
4
4
 
5
- require "padrino-core/cli/base"
6
- arguments = ARGV.any? ? ARGV : ['-h']
7
- Padrino::Cli::Base.start(arguments)
5
+ require 'padrino-core/cli/base'
6
+
7
+ Padrino::Cli::Base.start(ARGV)
@@ -14,7 +14,7 @@ module Padrino
14
14
  Padrino.set_load_paths File.join(subclass.root, "/models")
15
15
  Padrino.require_dependencies File.join(subclass.root, "/models.rb")
16
16
  Padrino.require_dependencies File.join(subclass.root, "/models/**/*.rb")
17
- super # Loading the subclass
17
+ super(subclass) # Loading the subclass
18
18
  subclass.default_filters!
19
19
  subclass.default_routes!
20
20
  subclass.default_errors!
@@ -28,7 +28,7 @@ module Padrino
28
28
  #
29
29
  def new(*args, &bk)
30
30
  setup_application!
31
- super
31
+ super(*args, &bk)
32
32
  end
33
33
 
34
34
  ##
@@ -115,7 +115,7 @@ module Padrino
115
115
  # Padrino look for your/app/views/layouts/custom.(haml|erb|etc)
116
116
  #
117
117
  def layout(name=:layout, &block)
118
- return super if block_given?
118
+ return super(name, &block) if block_given?
119
119
  @_layout = name
120
120
  end
121
121
 
@@ -169,7 +169,7 @@ module Padrino
169
169
  def default_configuration!
170
170
  # Overwriting Sinatra defaults
171
171
  set :app_file, caller_files.first || $0 # Assume app file is first caller
172
- set :environment, PADRINO_ENV.to_sym
172
+ set :environment, Padrino.env
173
173
  set :raise_errors, true if development?
174
174
  set :logging, false # !test?
175
175
  set :sessions, true
@@ -381,9 +381,9 @@ module Padrino
381
381
  unbound_method = instance_method("#{verb} #{path}")
382
382
  block =
383
383
  if block.arity != 0
384
- lambda { unbound_method.bind(self).call(*@block_params) }
384
+ proc { unbound_method.bind(self).call(*@block_params) }
385
385
  else
386
- lambda { unbound_method.bind(self).call }
386
+ proc { unbound_method.bind(self).call }
387
387
  end
388
388
 
389
389
  invoke_hook(:route_added, verb, path, block)
@@ -499,7 +499,7 @@ module Padrino
499
499
  I18n.locale = params[:locale].to_sym rescue options.locale
500
500
  end
501
501
  end
502
- super
502
+ super(&block)
503
503
  end
504
504
 
505
505
  ##
@@ -528,7 +528,7 @@ module Padrino
528
528
  logger.debug "Rendering layout #{options[:layout]}"
529
529
  end
530
530
  end
531
- super
531
+ super(engine, data, options, locals, &block)
532
532
  end
533
533
 
534
534
  ##
@@ -1,26 +1,25 @@
1
1
  require 'thor'
2
- require 'thor/rake_compat'
3
2
 
4
3
  module Padrino
5
4
  module Cli
5
+
6
6
  class Base < Thor
7
7
  include Thor::Actions
8
8
  include Thor::RakeCompat
9
9
 
10
- class_option :chdir, :type => :string, :aliases => "-c"
10
+ class_option :chdir, :type => :string, :aliases => "-c", :desc => "Change to dir before starting"
11
+ class_option :environment, :type => :string, :aliases => "-e", :required => true, :default => :development, :desc => "Padrino Environment"
12
+ class_option :help, :type => :boolean, :desc => "Show help usage"
11
13
 
12
14
  desc "start", "Starts the Padrino application"
13
- method_option :environment, :type => :string, :aliases => "-e", :required => true, :default => :development
14
- method_option :adapter, :type => :string, :aliases => "-a"
15
- method_option :host, :type => :string, :aliases => "-h", :required => true, :default => "localhost"
16
- method_option :port, :type => :numeric, :aliases => "-p", :required => true, :default => 3000
17
- method_option :boot, :type => :string, :aliases => "-b", :required => true, :default => "config/boot.rb"
18
- method_option :daemonize, :type => :boolean, :aliases => "-d"
15
+ method_option :adapter, :type => :string, :aliases => "-a", :desc => "Rack Handler (default: autodetect)"
16
+ method_option :host, :type => :string, :aliases => "-h", :required => true, :default => "localhost", :desc => "Bind to HOST address"
17
+ method_option :port, :type => :numeric, :aliases => "-p", :required => true, :default => 3000, :desc => "Use PORT"
18
+ method_option :daemonize, :type => :boolean, :aliases => "-d", :desc => "Run daemonized in the background"
19
19
  def start
20
+ prepare :start
20
21
  require File.dirname(__FILE__) + "/adapter"
21
- boot = check_boot
22
- return unless boot
23
- require boot
22
+ require 'config/boot'
24
23
  Padrino::Cli::Adapter.start(options)
25
24
  end
26
25
 
@@ -30,58 +29,63 @@ module Padrino
30
29
  Padrino::Cli::Adapter.stop
31
30
  end
32
31
 
33
- desc "test", "Executes all the Padrino test files"
34
- def test
35
- require File.dirname(__FILE__) + "/test"
36
- Padrino::Cli::Test.start
37
- end
38
-
39
- desc "rake", "Execute rake tasks in {Padrino.root}/lib/tasks"
40
- method_option :boot, :type => :string, :aliases => "-b", :required => true, :default => "config/boot.rb"
41
- method_option :environment, :type => :string, :aliases => "-e", :required => true, :default => :development
42
- method_option :task_list, :type => :string, :aliases => "-T" # Only for accept rake
43
- def rake(task="")
32
+ desc "rake", "Execute rake tasks"
33
+ method_option :environment, :type => :string, :aliases => "-e", :required => true, :default => :development
34
+ method_option :list, :type => :string, :aliases => "-T", :desc => "Display the tasks (matching optional PATTERN) with descriptions, then exit."
35
+ method_option :trace, :type => :boolean, :aliases => "-t", :desc => "Turn on invoke/execute tracing, enable full backtrace."
36
+ method_option :verbose, :type => :boolean, :aliases => "-v", :desc => "Log message to standard output."
37
+ def rake(*args)
38
+ prepare :rake
39
+ args << "-T" if options[:list]
40
+ args << options[:list] unless options[:list].nil? || options[:list].to_s == "list"
41
+ args << "--trace" if options[:trace]
42
+ args << "--verbose" if options[:verbose]
43
+ ARGV.clear
44
+ ARGV.concat(args)
45
+ puts "=> Executing Rake #{ARGV.join(' ')} ..."
44
46
  ENV['PADRINO_LOG_LEVEL'] ||= "test"
45
- boot = check_boot
46
- return unless boot
47
- require 'rake'
48
- require boot
49
- puts "=> Executing Rake..."
50
- Rake.application.init
51
- load(File.dirname(__FILE__) + "/rake.rb")
52
- Rake.application.top_level
47
+ require File.dirname(__FILE__) + '/rake'
48
+ silence(:stdout) { require 'config/boot' }
49
+ PadrinoTasks.init
53
50
  end
54
51
 
55
52
  desc "console", "Boots up the Padrino application irb console"
56
- method_option :boot, :type => :string, :aliases => "-b", :required => true, :default => "config/boot.rb"
57
- method_option :environment, :type => :string, :aliases => "-e", :required => true, :default => :development
58
53
  def console
54
+ prepare :console
59
55
  require File.dirname(__FILE__) + "/../version"
60
- boot = check_boot
61
- return unless boot
62
56
  ARGV.clear
63
57
  puts "=> Loading #{options.environment} console (Padrino v.#{Padrino.version})"
64
58
  require 'irb'
65
59
  require "irb/completion"
66
- require boot
60
+ require 'config/boot'
67
61
  require File.dirname(__FILE__) + '/console'
68
62
  IRB.start
69
63
  end
70
64
 
65
+ desc "version", "Show current Padrino Version"
66
+ map "-v" => :version, "--version" => :version
67
+ def version
68
+ require 'padrino-core/version'
69
+ puts "Padrino v. #{Padrino.version}"
70
+ end
71
+
71
72
  private
72
- def check_boot
73
+ def prepare(task)
74
+ if options.help?
75
+ help(task.to_s)
76
+ raise SystemExit
77
+ end
73
78
  ENV["PADRINO_ENV"] ||= options.environment.to_s
74
79
  chdir(options.chdir)
75
- unless File.exist?(options.boot)
76
- puts "=> Could not find boot file: #{options.boot.inspect} !!!"
77
- return
80
+ unless File.exist?('config/boot.rb')
81
+ puts "=> Could not find boot file in: #{options.chdir}/config/boot.rb !!!"
82
+ raise SystemExit
78
83
  end
79
- options.boot
80
84
  end
81
85
 
82
86
  protected
83
87
  def self.banner(task)
84
- "padrino-gen #{task.name}"
88
+ "padrino #{task.name}"
85
89
  end
86
90
 
87
91
  def chdir(dir)
@@ -89,13 +93,25 @@ module Padrino
89
93
  begin
90
94
  Dir.chdir(dir.to_s)
91
95
  rescue Errno::ENOENT
92
- puts "=> Specified Padrino root '#{dir}' " +
93
- "does not appear to exist!"
96
+ puts "=> Specified Padrino root '#{dir}' does not appear to exist!"
94
97
  rescue Errno::EACCES
95
- puts "=> Specified Padrino root '#{dir}' " +
96
- "cannot be accessed by the current user!"
98
+ puts "=> Specified Padrino root '#{dir}' cannot be accessed by the current user!"
97
99
  end
98
100
  end
101
+
102
+ def capture(stream)
103
+ begin
104
+ stream = stream.to_s
105
+ eval "$#{stream} = StringIO.new"
106
+ yield
107
+ result = eval("$#{stream}").string
108
+ ensure
109
+ eval("$#{stream} = #{stream.upcase}")
110
+ end
111
+
112
+ result
113
+ end
114
+ alias :silence :capture
99
115
  end # Base
100
116
  end # Cli
101
117
  end # Padrino
@@ -1,22 +1,27 @@
1
- require 'rake'
2
1
  require File.dirname(__FILE__) + '/../tasks'
2
+ require 'rake'
3
3
 
4
- Dir["lib/tasks/**/*.rake"].each { |ext| load(ext) }
5
- Padrino::Tasks.files.flatten.uniq.each { |ext| load(ext) }
4
+ Rake.application.instance_variable_set(:@rakefile, __FILE__)
5
+
6
+ module PadrinoTasks
7
+ def self.init
8
+ Padrino::Tasks.files.flatten.uniq.each { |ext| load(ext) }
9
+ Rake.application.init
10
+ Rake.application.top_level
11
+ end
12
+ end
6
13
 
7
14
  def shell
8
15
  @_shell ||= Thor::Shell::Basic.new
9
16
  end
10
17
 
18
+ Dir["lib/tasks/**/*.rake"].
19
+ concat(Dir["tasks/**/*.rake"]).
20
+ concat(Dir["{test,spec}/*.rake"]).each { |ext| load(ext) }
21
+
11
22
  task :environment do
12
23
  Padrino.mounted_apps.each do |app|
13
24
  Padrino.require_dependency(app.app_file)
14
25
  app.app_object.setup_application!
15
26
  end
16
- end
17
-
18
- desc 'Load the seed data from db/seeds.rb'
19
- task :seed => :environment do
20
- seed_file = Padrino.root('db', 'seeds.rb')
21
- load(seed_file) if File.exist?(seed_file)
22
27
  end
@@ -82,7 +82,7 @@ module Padrino
82
82
  :production => { :log_level => :warn, :stream => :to_file },
83
83
  :development => { :log_level => :debug, :stream => :stdout },
84
84
  :test => { :log_level => :debug, :stream => :null }
85
- } unless const_defined?(:Config)
85
+ }
86
86
 
87
87
  ##
88
88
  # Setup a new logger
@@ -43,7 +43,7 @@ module Padrino
43
43
  builder.map self.uri_root do
44
44
  app_obj.set :uri_root, app_data.uri_root
45
45
  app_obj.set :app_name, app_data.name
46
- app_obj.set :app_file, app_data.app_file unless File.exist?(app_obj.app_file)
46
+ app_obj.set :app_file, app_data.app_file unless ::File.exist?(app_obj.app_file)
47
47
  app_obj.set :root, app_data.app_root unless app_data.app_root.blank?
48
48
  # We need to initialize here the app.
49
49
  app_obj.setup_application!
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{padrino-core}
8
- s.version = "0.8.1"
8
+ s.version = "0.8.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Padrino Team", "Nathan Esquenazi", "Davide D'Agostino", "Arthur Chiu"]
12
- s.date = %q{2010-02-14}
12
+ s.date = %q{2010-02-17}
13
13
  s.default_executable = %q{padrino}
14
14
  s.description = %q{The Padrino core gem required for use of this framework}
15
15
  s.email = %q{padrinorb@gmail.com}
@@ -32,7 +32,6 @@ Gem::Specification.new do |s|
32
32
  "lib/padrino-core/cli/base.rb",
33
33
  "lib/padrino-core/cli/console.rb",
34
34
  "lib/padrino-core/cli/rake.rb",
35
- "lib/padrino-core/cli/test.rb",
36
35
  "lib/padrino-core/images/404.png",
37
36
  "lib/padrino-core/images/500.png",
38
37
  "lib/padrino-core/loader.rb",
@@ -21,7 +21,7 @@ Complex1Demo.controllers do
21
21
  end
22
22
 
23
23
  Complex2Demo.controllers do
24
- get("(/)"){ "The magick number is: 78!" } # Change only the number!!!
24
+ get("(/)"){ "The magick number is: 40!" } # Change only the number!!!
25
25
  end
26
26
 
27
27
  Padrino.load!
@@ -11,7 +11,7 @@ end
11
11
 
12
12
  SimpleDemo.controllers do
13
13
  get "/" do
14
- 'The magick number is: 45!' # Change only the number!!!
14
+ 'The magick number is: 12!' # Change only the number!!!
15
15
  end
16
16
  end
17
17
 
@@ -58,7 +58,7 @@ class Test::Unit::TestCase
58
58
  if response && response.respond_to?(name)
59
59
  response.send(name, *args, &block)
60
60
  else
61
- super
61
+ super(name, *args, &block)
62
62
  end
63
63
  end
64
64
 
@@ -24,9 +24,7 @@ class TestCore < Test::Unit::TestCase
24
24
 
25
25
  should 'set correct utf-8 encoding' do
26
26
  Padrino.set_encoding
27
- if RUBY_VERSION >= '1.9'
28
- assert_equal nil, $KCODE
29
- else
27
+ if RUBY_VERSION <'1.9'
30
28
  assert_equal 'UTF8', $KCODE
31
29
  end
32
30
  end
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.8.1
4
+ version: 0.8.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Padrino Team
@@ -12,7 +12,7 @@ autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
14
 
15
- date: 2010-02-14 00:00:00 +01:00
15
+ date: 2010-02-17 00:00:00 +01:00
16
16
  default_executable: padrino
17
17
  dependencies:
18
18
  - !ruby/object:Gem::Dependency
@@ -138,7 +138,6 @@ files:
138
138
  - lib/padrino-core/cli/base.rb
139
139
  - lib/padrino-core/cli/console.rb
140
140
  - lib/padrino-core/cli/rake.rb
141
- - lib/padrino-core/cli/test.rb
142
141
  - lib/padrino-core/images/404.png
143
142
  - lib/padrino-core/images/500.png
144
143
  - lib/padrino-core/loader.rb
@@ -1,20 +0,0 @@
1
- module Padrino
2
- module Cli
3
- module Test
4
- class << self
5
-
6
- # This method executes tests found for the given app.
7
- # It look for any spec/*_spec.rb and test/test_*.rb files in your app root.
8
- def start
9
- puts "=> Executing Tests..."
10
- tests = Dir['test/**/test_*.rb'] - ['test/test_helper.rb'] # TestUnit
11
- tests << Dir['test/**/*_test.rb'] - ['test/test_config.rb'] # Bacon
12
- tests << Dir['spec/**/*_spec.rb'] - Dir['spec/**/spec_helper.rb'] # Rspec
13
- cmd = "ruby -rubygems -I.:lib -e'%w( #{tests.join(' ')} ).each { |file| require file }'"
14
- system cmd
15
- end
16
- end
17
-
18
- end
19
- end
20
- end