padrino-core 0.1.0 → 0.1.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.
- data/Rakefile +1 -1
- data/VERSION +1 -1
- data/bin/padrino +6 -0
- data/lib/padrino-core.rb +8 -5
- data/lib/padrino-core/application.rb +9 -5
- data/lib/padrino-core/loader.rb +15 -7
- data/lib/padrino-core/mounter.rb +11 -8
- data/lib/padrino-core/reloader.rb +31 -0
- data/lib/padrino-core/stat.rb +74 -0
- data/lib/padrino-core/tasks.rb +37 -0
- data/lib/padrino-core/tasks/console.rb +21 -0
- data/lib/padrino-core/version.rb +7 -0
- data/padrino-core.gemspec +14 -11
- data/test/fixtures/extended_app/app.rb +1 -1
- data/test/fixtures/simple_app/app.rb +1 -1
- data/test/helper.rb +2 -2
- data/test/test_padrino_core.rb +1 -1
- data/test/test_padrino_mounting.rb +1 -1
- data/test/test_padrino_tasks.rb +8 -0
- metadata +14 -12
data/Rakefile
CHANGED
@@ -13,7 +13,7 @@ begin
|
|
13
13
|
gem.add_runtime_dependency "sinatra", ">= 0.9.2"
|
14
14
|
gem.add_runtime_dependency "thor", ">= 0.11.8"
|
15
15
|
gem.add_development_dependency "haml", ">= 2.2.1"
|
16
|
-
gem.add_development_dependency "shoulda",
|
16
|
+
gem.add_development_dependency "shoulda", ">= 0"
|
17
17
|
gem.add_development_dependency "mocha", ">= 0.9.7"
|
18
18
|
gem.add_development_dependency "rack-test", ">= 0.5.0"
|
19
19
|
gem.add_development_dependency "webrat", ">= 0.5.1"
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.1
|
data/bin/padrino
ADDED
data/lib/padrino-core.rb
CHANGED
@@ -5,6 +5,7 @@ Dir[File.dirname(__FILE__) + '/padrino-core/**/*.rb'].each {|file| require file
|
|
5
5
|
PADRINO_ENV = ENV["PADRINO_ENV"] ||= ENV["RACK_ENV"] ||= "development" unless defined?(PADRINO_ENV)
|
6
6
|
|
7
7
|
module Padrino
|
8
|
+
|
8
9
|
# Helper method for file references.
|
9
10
|
#
|
10
11
|
# @param args [Array] Path components relative to ROOT_DIR.
|
@@ -13,18 +14,20 @@ module Padrino
|
|
13
14
|
def self.root(*args)
|
14
15
|
File.join(PADRINO_ROOT, *args)
|
15
16
|
end
|
16
|
-
|
17
|
+
|
17
18
|
# Returns the prepared rack application mapping each 'mounted' application
|
18
19
|
def self.application
|
19
20
|
Rack::Builder.new do
|
20
21
|
Padrino.mounted_apps.each do |app|
|
22
|
+
require(app.app_file)
|
23
|
+
app_klass = app.klass.constantize
|
21
24
|
map app.uri_root do
|
22
|
-
|
23
|
-
|
24
|
-
run
|
25
|
+
app_klass.set :uri_root, app.uri_root
|
26
|
+
app_klass.set :app_file, app.app_file
|
27
|
+
run app_klass
|
25
28
|
end
|
26
29
|
end
|
27
30
|
end
|
28
31
|
end
|
29
|
-
|
32
|
+
|
30
33
|
end
|
@@ -2,7 +2,7 @@ module Padrino
|
|
2
2
|
# Subclasses of this become independent Padrino applications (stemming from Sinatra::Application)
|
3
3
|
# These subclassed applications can be easily mounted into other Padrino applications as well.
|
4
4
|
class Application < Sinatra::Application
|
5
|
-
|
5
|
+
|
6
6
|
def logger
|
7
7
|
@log_stream ||= self.class.log_to_file? ? Padrino.root("log/#{PADRINO_ENV.downcase}.log") : $stdout
|
8
8
|
@logger ||= Logger.new(@log_stream)
|
@@ -26,19 +26,20 @@ module Padrino
|
|
26
26
|
# Makes the routes defined in the block and in the Modules given
|
27
27
|
# in `extensions` available to the application
|
28
28
|
def controllers(*extensions, &block)
|
29
|
+
@routes = {} if reload? # This perform a basic reload controller
|
29
30
|
instance_eval(&block) if block_given?
|
30
|
-
include(*extensions)
|
31
|
+
include(*extensions) if extensions.any?
|
31
32
|
end
|
32
33
|
|
33
34
|
# Makes the urls defined in the block and in the Modules given
|
34
35
|
# in `extensions` available to the application
|
35
36
|
def urls(*extensions, &block)
|
36
37
|
instance_eval(&block) if block_given?
|
37
|
-
include(*extensions)
|
38
|
+
include(*extensions) if extensions.any?
|
38
39
|
end
|
39
40
|
|
40
41
|
protected
|
41
|
-
|
42
|
+
|
42
43
|
# Setup the application by registering initializers, load paths and logger
|
43
44
|
# Invoked automatically when an application instance is created
|
44
45
|
def setup_application!
|
@@ -57,6 +58,7 @@ module Padrino
|
|
57
58
|
set :logging, true
|
58
59
|
set :sessions, true
|
59
60
|
set :log_to_file, !development?
|
61
|
+
set :reload, development?
|
60
62
|
# Padrino specific
|
61
63
|
set :app_name, self.to_s.underscore.to_sym
|
62
64
|
set :app_file, Padrino.mounted_root(self.app_name.to_s, "/app.rb")
|
@@ -72,6 +74,7 @@ module Padrino
|
|
72
74
|
def register_initializers
|
73
75
|
use Rack::Session::Cookie
|
74
76
|
use Rack::Flash if flash?
|
77
|
+
use Padrino::Reloader if reload?
|
75
78
|
Dir[Padrino.root + '/config/initializers/*.rb'].each do |file|
|
76
79
|
Padrino.load_dependencies(file)
|
77
80
|
file_class = File.basename(file, '.rb').classify
|
@@ -81,8 +84,9 @@ module Padrino
|
|
81
84
|
|
82
85
|
# Registers all desired padrino extension helpers/routing
|
83
86
|
def register_framework_extensions
|
84
|
-
register Padrino::Helpers if padrino_helpers?
|
85
87
|
register Padrino::Routing
|
88
|
+
register Padrino::Mailer
|
89
|
+
register Padrino::Helpers if padrino_helpers?
|
86
90
|
end
|
87
91
|
|
88
92
|
# Require all files within the application's load paths
|
data/lib/padrino-core/loader.rb
CHANGED
@@ -3,10 +3,17 @@ module Padrino
|
|
3
3
|
# Requires necessary dependencies as well as application files from root lib and models
|
4
4
|
def load!
|
5
5
|
load_required_gems # load bundler gems
|
6
|
-
load_dependencies("#{root}/lib/**/*.rb", "#{root}/models/*.rb") # load root app dependencies
|
6
|
+
load_dependencies("#{root}/config/apps.rb", "#{root}/lib/**/*.rb", "#{root}/models/*.rb") # load root app dependencies
|
7
|
+
reload! # We need to fill our Stat::CACHE but we do that only for development
|
8
|
+
end
|
9
|
+
|
10
|
+
# Method for reload required classes
|
11
|
+
def reload!
|
12
|
+
Stat::reload!
|
7
13
|
end
|
8
14
|
|
9
15
|
# Attempts to load/require all dependency libs that we need.
|
16
|
+
# If you use this method we can perform correctly a Padrino.reload!
|
10
17
|
#
|
11
18
|
# @param paths [Array] Path where is necessary require or load a dependency
|
12
19
|
# @example For load all our app libs we need to do:
|
@@ -16,23 +23,24 @@ module Padrino
|
|
16
23
|
Dir[path].each { |file| require(file) }
|
17
24
|
end
|
18
25
|
end
|
19
|
-
|
26
|
+
alias_method :load_dependency, :load_dependencies
|
27
|
+
|
20
28
|
# Attempts to require all dependencies with bundler; if fails, we try to use system wide gems
|
21
29
|
def load_required_gems
|
22
30
|
begin
|
23
31
|
require 'bundler'
|
24
32
|
gemfile_path = root("Gemfile")
|
25
|
-
puts "
|
33
|
+
puts "=> Loading GemFile #{gemfile_path} for #{PADRINO_ENV}"
|
26
34
|
Bundler::Environment.load(gemfile_path).require_env(PADRINO_ENV)
|
27
35
|
rescue Bundler::DefaultManifestNotFound => e
|
28
|
-
puts "
|
36
|
+
puts "=> You didn't create Bundler Gemfile manifest or you are not in a Sinatra application."
|
29
37
|
end
|
30
38
|
|
31
39
|
begin
|
32
|
-
|
33
|
-
puts "
|
40
|
+
load_dependencies(root('/../vendor', 'gems', PADRINO_ENV))
|
41
|
+
puts "=> Using bundled gems"
|
34
42
|
rescue LoadError => e
|
35
|
-
puts "
|
43
|
+
puts "=> Using system wide gems (No bundled gems)"
|
36
44
|
end
|
37
45
|
end
|
38
46
|
end
|
data/lib/padrino-core/mounter.rb
CHANGED
@@ -1,17 +1,19 @@
|
|
1
1
|
module Padrino
|
2
2
|
# Represents a particular mounted padrino application
|
3
3
|
# Stores the name of the application (app folder name) and url mount path
|
4
|
-
# @example
|
5
|
-
|
4
|
+
# @example Mounter.new("blog_app").to("/blog")
|
5
|
+
# @example Mounter.new("blog_app", :app_file => "/path/to/root/app.rb").to("/blog")
|
6
|
+
# @example Mounter.new("blog_app", :app_class => "Blog").to("/blog")
|
7
|
+
class Mounter
|
6
8
|
attr_accessor :name, :uri_root, :app_file, :klass
|
7
|
-
def initialize(name)
|
8
|
-
@name
|
9
|
-
@klass
|
9
|
+
def initialize(name, options={})
|
10
|
+
@name = name
|
11
|
+
@klass = options[:app_class] || name.classify
|
12
|
+
@app_file = options[:app_file] || Padrino.mounted_root(name, 'app.rb')
|
10
13
|
end
|
11
14
|
|
12
15
|
# registers the mounted application to Padrino
|
13
16
|
def to(mount_url)
|
14
|
-
@app_file = Padrino.mounted_root(name, "app.rb")
|
15
17
|
@uri_root = mount_url
|
16
18
|
Padrino.mounted_apps << self
|
17
19
|
end
|
@@ -30,8 +32,9 @@ module Padrino
|
|
30
32
|
|
31
33
|
# Mounts a new sub-application onto Padrino
|
32
34
|
# @example Padrino.mount("blog_app").to("/blog")
|
33
|
-
|
34
|
-
|
35
|
+
# @example Padrino.mount("blog_app", :app_file => "/path/to/root/app.rb").to("/blog")
|
36
|
+
def mount(name, options={})
|
37
|
+
Mounter.new(name, options)
|
35
38
|
end
|
36
39
|
end
|
37
40
|
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module Padrino
|
2
|
+
# High performant source reloader
|
3
|
+
#
|
4
|
+
# This class acts as Rack middleware.
|
5
|
+
#
|
6
|
+
# It is performing a check/reload cycle at the start of every request, but
|
7
|
+
# also respects a cool down time, during which nothing will be done.
|
8
|
+
class Reloader
|
9
|
+
|
10
|
+
def initialize(app, cooldown = 1, backend = Stat)
|
11
|
+
@app = app
|
12
|
+
@cooldown = cooldown
|
13
|
+
@last = (Time.now - cooldown)
|
14
|
+
end
|
15
|
+
|
16
|
+
def call(env)
|
17
|
+
if @cooldown and Time.now > @last + @cooldown
|
18
|
+
if Thread.list.size > 1
|
19
|
+
Thread.exclusive { Padrino.reload! }
|
20
|
+
else
|
21
|
+
Padrino.reload!
|
22
|
+
end
|
23
|
+
|
24
|
+
@last = Time.now
|
25
|
+
end
|
26
|
+
|
27
|
+
@app.call(env)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
@@ -0,0 +1,74 @@
|
|
1
|
+
module Padrino
|
2
|
+
# What makes it especially suited for use in a any environment is that
|
3
|
+
# any file will only be checked once and there will only be made one system
|
4
|
+
# call stat(2).
|
5
|
+
#
|
6
|
+
# Please note that this will not reload files in the background, it does so
|
7
|
+
# only when actively called.
|
8
|
+
module Stat
|
9
|
+
class << self
|
10
|
+
CACHE = {}
|
11
|
+
MTIMES = {}
|
12
|
+
|
13
|
+
def reload!
|
14
|
+
rotation do |file, mtime|
|
15
|
+
previous_mtime = MTIMES[file] ||= mtime
|
16
|
+
safe_load(file, mtime) if mtime > previous_mtime
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
# A safe Kernel::load, issuing the hooks depending on the results
|
21
|
+
def safe_load(file, mtime)
|
22
|
+
puts "=> Reloading #{file}"
|
23
|
+
load(file)
|
24
|
+
file
|
25
|
+
rescue LoadError, SyntaxError => ex
|
26
|
+
$stderr.puts ex
|
27
|
+
ensure
|
28
|
+
MTIMES[file] = mtime
|
29
|
+
end
|
30
|
+
|
31
|
+
def rotation
|
32
|
+
files = [$0, *$LOADED_FEATURES].uniq
|
33
|
+
paths = ['./', *$LOAD_PATH].uniq
|
34
|
+
|
35
|
+
files.map{|file|
|
36
|
+
next if file =~ /\.(so|bundle)$/ # cannot reload compiled files
|
37
|
+
|
38
|
+
found, stat = figure_path(file, paths)
|
39
|
+
next unless found && stat && mtime = stat.mtime
|
40
|
+
|
41
|
+
CACHE[file] = found
|
42
|
+
|
43
|
+
yield(found, mtime)
|
44
|
+
}.compact
|
45
|
+
end
|
46
|
+
|
47
|
+
# Takes a relative or absolute +file+ name, a couple possible +paths+ that
|
48
|
+
# the +file+ might reside in. Returns the full path and File::Stat for the
|
49
|
+
# path.
|
50
|
+
def figure_path(file, paths)
|
51
|
+
found = CACHE[file]
|
52
|
+
found = file if !found and Pathname.new(file).absolute?
|
53
|
+
found, stat = safe_stat(found)
|
54
|
+
return found, stat if found
|
55
|
+
|
56
|
+
paths.find do |possible_path|
|
57
|
+
path = ::File.join(possible_path, file)
|
58
|
+
found, stat = safe_stat(path)
|
59
|
+
return ::File.expand_path(found), stat if found
|
60
|
+
end
|
61
|
+
|
62
|
+
return false, false
|
63
|
+
end
|
64
|
+
|
65
|
+
def safe_stat(file)
|
66
|
+
return unless file
|
67
|
+
stat = ::File.stat(file)
|
68
|
+
return file, stat if stat.file?
|
69
|
+
rescue Errno::ENOENT, Errno::ENOTDIR
|
70
|
+
CACHE.delete(file) and false
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
require 'thor'
|
2
|
+
|
3
|
+
module Padrino
|
4
|
+
module Tasks
|
5
|
+
class Base < Thor
|
6
|
+
include Thor::Actions
|
7
|
+
|
8
|
+
desc "start", "Starts the Padrino application"
|
9
|
+
def start
|
10
|
+
say "Starting the Padrino application from root #{destination_root}"
|
11
|
+
end
|
12
|
+
|
13
|
+
desc "stop", "Stops the Padrino application"
|
14
|
+
def stop
|
15
|
+
say "Stopping the Padrino application"
|
16
|
+
end
|
17
|
+
|
18
|
+
desc "test", "Executes all the Padrino test files"
|
19
|
+
def test
|
20
|
+
say "Executing Padrino test files"
|
21
|
+
end
|
22
|
+
|
23
|
+
desc "console ENVIRONMENT", "Boots up the Padrino application irb console"
|
24
|
+
def console(environment="development")
|
25
|
+
require File.dirname(__FILE__) + "/version.rb"
|
26
|
+
raise "Are you in a Padrino Project? We didn't find config/boot.rb !!!" unless File.exist?("config/boot.rb")
|
27
|
+
ENV["PADRINO_ENV"] ||= environment
|
28
|
+
puts "=> Loading #{environment} console (Padrino v.#{Padrino.version})"
|
29
|
+
irb = RUBY_PLATFORM =~ /(:?mswin|mingw)/ ? 'irb.bat' : 'irb'
|
30
|
+
libs = " -r irb/completion"
|
31
|
+
libs << " -r config/boot"
|
32
|
+
libs << " -r #{File.dirname(__FILE__)}/tasks/console"
|
33
|
+
exec "#{irb} #{libs} --simple-prompt"
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# Reloads classes
|
2
|
+
def reload!
|
3
|
+
Padrino.reload!
|
4
|
+
true
|
5
|
+
end
|
6
|
+
|
7
|
+
# Show applications
|
8
|
+
def applications
|
9
|
+
puts "==== List of Mounted Applications ====\n\n"
|
10
|
+
Padrino.mounted_apps.each do |app|
|
11
|
+
puts " * '#{app.name}' mapped to '#{app.uri_root}'"
|
12
|
+
end
|
13
|
+
puts
|
14
|
+
Padrino.mounted_apps.collect { |app| "#{app.name} => #{app.uri_root}" }
|
15
|
+
end
|
16
|
+
|
17
|
+
# Load apps
|
18
|
+
Padrino.mounted_apps.each do |app|
|
19
|
+
puts "=> Loading Application #{app.name}"
|
20
|
+
Padrino.load_dependency(app.app_file)
|
21
|
+
end
|
data/padrino-core.gemspec
CHANGED
@@ -5,13 +5,15 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{padrino-core}
|
8
|
-
s.version = "0.1.
|
8
|
+
s.version = "0.1.1"
|
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{2009-11-
|
12
|
+
s.date = %q{2009-11-17}
|
13
|
+
s.default_executable = %q{padrino}
|
13
14
|
s.description = %q{The Padrino core gem required for use of this framework}
|
14
15
|
s.email = %q{nesquena@gmail.com}
|
16
|
+
s.executables = ["padrino"]
|
15
17
|
s.extra_rdoc_files = [
|
16
18
|
"LICENSE",
|
17
19
|
"README.rdoc"
|
@@ -21,34 +23,35 @@ Gem::Specification.new do |s|
|
|
21
23
|
".gitignore",
|
22
24
|
"LICENSE",
|
23
25
|
"README.rdoc",
|
26
|
+
"README.rdoc",
|
27
|
+
"Rakefile",
|
24
28
|
"Rakefile",
|
25
29
|
"VERSION",
|
30
|
+
"bin/padrino",
|
26
31
|
"lib/padrino-core.rb",
|
27
32
|
"lib/padrino-core/application.rb",
|
28
33
|
"lib/padrino-core/loader.rb",
|
29
34
|
"lib/padrino-core/mounter.rb",
|
35
|
+
"lib/padrino-core/reloader.rb",
|
36
|
+
"lib/padrino-core/stat.rb",
|
30
37
|
"lib/padrino-core/support_lite.rb",
|
38
|
+
"lib/padrino-core/tasks.rb",
|
39
|
+
"lib/padrino-core/tasks/console.rb",
|
40
|
+
"lib/padrino-core/version.rb",
|
31
41
|
"padrino-core.gemspec",
|
32
42
|
"test/active_support_helpers.rb",
|
33
43
|
"test/fixtures/extended_app/app.rb",
|
34
44
|
"test/fixtures/simple_app/app.rb",
|
35
45
|
"test/helper.rb",
|
36
46
|
"test/test_padrino_core.rb",
|
37
|
-
"test/test_padrino_mounting.rb"
|
47
|
+
"test/test_padrino_mounting.rb",
|
48
|
+
"test/test_padrino_tasks.rb"
|
38
49
|
]
|
39
50
|
s.homepage = %q{http://github.com/padrino/padrino-core}
|
40
51
|
s.rdoc_options = ["--charset=UTF-8"]
|
41
52
|
s.require_paths = ["lib"]
|
42
53
|
s.rubygems_version = %q{1.3.5}
|
43
54
|
s.summary = %q{The required Padrino core gem}
|
44
|
-
s.test_files = [
|
45
|
-
"test/active_support_helpers.rb",
|
46
|
-
"test/fixtures/extended_app/app.rb",
|
47
|
-
"test/fixtures/simple_app/app.rb",
|
48
|
-
"test/helper.rb",
|
49
|
-
"test/test_padrino_core.rb",
|
50
|
-
"test/test_padrino_mounting.rb"
|
51
|
-
]
|
52
55
|
|
53
56
|
if s.respond_to? :specification_version then
|
54
57
|
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
data/test/helper.rb
CHANGED
@@ -8,8 +8,8 @@ require 'webrat'
|
|
8
8
|
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
9
9
|
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
10
10
|
require 'active_support_helpers'
|
11
|
-
require
|
12
|
-
require
|
11
|
+
require 'padrino-helpers'
|
12
|
+
require 'padrino-core'
|
13
13
|
|
14
14
|
class Test::Unit::TestCase
|
15
15
|
include Padrino::Helpers::OutputHelpers
|
data/test/test_padrino_core.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
require File.dirname(__FILE__) + '/helper'
|
2
|
-
require File.dirname(__FILE__) + '/fixtures/simple_app/app'
|
2
|
+
# require File.dirname(__FILE__) + '/fixtures/simple_app/app'
|
3
3
|
|
4
4
|
class TestPadrinoMounting < Test::Unit::TestCase
|
5
5
|
context 'for mounting applications functionality' 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.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Padrino Team
|
@@ -12,8 +12,8 @@ autorequire:
|
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
14
|
|
15
|
-
date: 2009-11-
|
16
|
-
default_executable:
|
15
|
+
date: 2009-11-17 00:00:00 -08:00
|
16
|
+
default_executable: padrino
|
17
17
|
dependencies:
|
18
18
|
- !ruby/object:Gem::Dependency
|
19
19
|
name: sinatra
|
@@ -87,8 +87,8 @@ dependencies:
|
|
87
87
|
version:
|
88
88
|
description: The Padrino core gem required for use of this framework
|
89
89
|
email: nesquena@gmail.com
|
90
|
-
executables:
|
91
|
-
|
90
|
+
executables:
|
91
|
+
- padrino
|
92
92
|
extensions: []
|
93
93
|
|
94
94
|
extra_rdoc_files:
|
@@ -101,11 +101,17 @@ files:
|
|
101
101
|
- README.rdoc
|
102
102
|
- Rakefile
|
103
103
|
- VERSION
|
104
|
+
- bin/padrino
|
104
105
|
- lib/padrino-core.rb
|
105
106
|
- lib/padrino-core/application.rb
|
106
107
|
- lib/padrino-core/loader.rb
|
107
108
|
- lib/padrino-core/mounter.rb
|
109
|
+
- lib/padrino-core/reloader.rb
|
110
|
+
- lib/padrino-core/stat.rb
|
108
111
|
- lib/padrino-core/support_lite.rb
|
112
|
+
- lib/padrino-core/tasks.rb
|
113
|
+
- lib/padrino-core/tasks/console.rb
|
114
|
+
- lib/padrino-core/version.rb
|
109
115
|
- padrino-core.gemspec
|
110
116
|
- test/active_support_helpers.rb
|
111
117
|
- test/fixtures/extended_app/app.rb
|
@@ -113,6 +119,7 @@ files:
|
|
113
119
|
- test/helper.rb
|
114
120
|
- test/test_padrino_core.rb
|
115
121
|
- test/test_padrino_mounting.rb
|
122
|
+
- test/test_padrino_tasks.rb
|
116
123
|
has_rdoc: true
|
117
124
|
homepage: http://github.com/padrino/padrino-core
|
118
125
|
licenses: []
|
@@ -141,10 +148,5 @@ rubygems_version: 1.3.5
|
|
141
148
|
signing_key:
|
142
149
|
specification_version: 3
|
143
150
|
summary: The required Padrino core gem
|
144
|
-
test_files:
|
145
|
-
|
146
|
-
- test/fixtures/extended_app/app.rb
|
147
|
-
- test/fixtures/simple_app/app.rb
|
148
|
-
- test/helper.rb
|
149
|
-
- test/test_padrino_core.rb
|
150
|
-
- test/test_padrino_mounting.rb
|
151
|
+
test_files: []
|
152
|
+
|