padrino-core 0.8.1 → 0.8.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -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