padrino-core 0.13.2 → 0.13.3
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 +4 -4
- data/bin/padrino +2 -1
- data/lib/padrino-core/application/flash.rb +1 -1
- data/lib/padrino-core/application/params_protection.rb +1 -7
- data/lib/padrino-core/application/routing.rb +16 -6
- data/lib/padrino-core/cli/base.rb +11 -7
- data/lib/padrino-core/cli/binstub.rb +27 -0
- data/lib/padrino-core/loader.rb +2 -1
- data/lib/padrino-core/path_router.rb +1 -1
- data/lib/padrino-core/path_router/route.rb +2 -2
- data/lib/padrino-core/reloader.rb +8 -2
- data/lib/padrino-core/reloader/storage.rb +1 -1
- data/lib/padrino-core/server.rb +3 -3
- data/lib/padrino-core/version.rb +1 -1
- data/test/fixtures/apps/concerned/app.rb +5 -0
- data/test/fixtures/apps/concerned/models/mixins/badmodule.rb +4 -0
- data/test/fixtures/apps/system.rb +2 -0
- data/test/test_logger.rb +2 -1
- data/test/test_reloader_simple.rb +2 -2
- data/test/test_reloader_storage.rb +52 -0
- data/test/test_reloader_system.rb +16 -0
- data/test/test_routing.rb +10 -0
- metadata +10 -69
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3a7babb0beba45716e2ff3af2f78dbc0f6a3e842
|
4
|
+
data.tar.gz: 1a047b4858de0f5c60d42a18289d824cc43b519d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ea91c7f77ca7a01beefd69e03288619b142e64696e68ec36b860491dacf18561867b75b3334580841c2c3705b2bfca7bcc834b4834c1d2398402df279bed6549
|
7
|
+
data.tar.gz: dd67394786c89aa8f52584cc933a164e0a221c534de89c2189141797b5d6103abf79c542fe54e6aae55760333185b5de30a9aead6db67f56cef56280fdefa9f0
|
data/bin/padrino
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
-
require '
|
2
|
+
require 'padrino-core/cli/binstub'
|
3
|
+
Padrino.replace_with_binstub('padrino')
|
3
4
|
|
4
5
|
padrino_core_path = File.expand_path('../../lib', __FILE__)
|
5
6
|
$:.unshift(padrino_core_path) if File.directory?(padrino_core_path) && !$:.include?(padrino_core_path)
|
@@ -203,7 +203,7 @@ module Padrino
|
|
203
203
|
# @since 0.10.8
|
204
204
|
# @api public
|
205
205
|
def redirect(url, *args)
|
206
|
-
flashes = args.
|
206
|
+
flashes = args.last.is_a?(Hash) ? args.pop : {}
|
207
207
|
|
208
208
|
flashes.each do |type, message|
|
209
209
|
message = I18n.translate(message) if message.is_a?(Symbol) && defined?(I18n)
|
@@ -1,9 +1,3 @@
|
|
1
|
-
begin
|
2
|
-
require 'active_support/core_ext/object/deep_dup' # AS 4.1
|
3
|
-
rescue LoadError
|
4
|
-
require 'active_support/core_ext/hash/deep_dup' # AS >= 3.1
|
5
|
-
end
|
6
|
-
|
7
1
|
module Padrino
|
8
2
|
##
|
9
3
|
# Padrino application module providing means for mass-assignment protection.
|
@@ -45,7 +39,7 @@ module Padrino
|
|
45
39
|
def params(*allowed_params)
|
46
40
|
allowed_params = prepare_allowed_params(allowed_params)
|
47
41
|
condition do
|
48
|
-
@original_params =
|
42
|
+
@original_params = Utils.deep_dup(params)
|
49
43
|
filter_params!(params, allowed_params)
|
50
44
|
end
|
51
45
|
end
|
@@ -217,10 +217,11 @@ module Padrino
|
|
217
217
|
# @see http://www.padrinorb.com/guides/controllers#route-filters
|
218
218
|
#
|
219
219
|
def construct_filter(*args, &block)
|
220
|
-
options = args.
|
220
|
+
options = args.last.is_a?(Hash) ? args.pop : {}
|
221
221
|
if except = options.delete(:except)
|
222
222
|
fail "You cannot use :except with other options specified" unless args.empty? && options.empty?
|
223
|
-
|
223
|
+
except = Array(except)
|
224
|
+
options = except.last.is_a?(Hash) ? except.pop : {}
|
224
225
|
end
|
225
226
|
Filter.new(!except, @_controller, options, Array(except || args), &block)
|
226
227
|
end
|
@@ -337,7 +338,7 @@ module Padrino
|
|
337
338
|
# url(:index, :fragment => 'comments')
|
338
339
|
#
|
339
340
|
def url(*args)
|
340
|
-
params = args.
|
341
|
+
params = args.last.is_a?(Hash) ? args.pop : {}
|
341
342
|
fragment = params.delete(:fragment) || params.delete(:anchor)
|
342
343
|
path = make_path_with_params(args, value_to_param(params.symbolize_keys))
|
343
344
|
rebase_url(fragment ? path << '#' << fragment.to_s : path)
|
@@ -401,7 +402,7 @@ module Padrino
|
|
401
402
|
|
402
403
|
# Saves controller options, yields the block, restores controller options.
|
403
404
|
def with_new_options(*args)
|
404
|
-
options = args.
|
405
|
+
options = args.last.is_a?(Hash) ? args.pop : {}
|
405
406
|
|
406
407
|
CONTROLLER_OPTIONS.each{ |key| replace_instance_variable("@_#{key}", options.delete(key)) }
|
407
408
|
replace_instance_variable(:@_controller, args)
|
@@ -538,7 +539,7 @@ module Padrino
|
|
538
539
|
route.default_values = defaults if defaults
|
539
540
|
end
|
540
541
|
options.delete_if do |option, captures|
|
541
|
-
if route.significant_variable_names.include?(option)
|
542
|
+
if route.significant_variable_names.include?(option.to_s)
|
542
543
|
route.capture[option] = Array(captures).first
|
543
544
|
true
|
544
545
|
end
|
@@ -579,6 +580,7 @@ module Padrino
|
|
579
580
|
# controllers, parents, 'with' parameters, and other options.
|
580
581
|
#
|
581
582
|
def parse_route(path, options, verb)
|
583
|
+
path = path.dup if path.kind_of?(String)
|
582
584
|
route_options = {}
|
583
585
|
|
584
586
|
if options[:params] == true
|
@@ -926,6 +928,10 @@ module Padrino
|
|
926
928
|
end
|
927
929
|
|
928
930
|
def dispatch!
|
931
|
+
unless @params
|
932
|
+
@params = indifferent_params(@request.params)
|
933
|
+
force_encoding(@params)
|
934
|
+
end
|
929
935
|
invoke do
|
930
936
|
static! if settings.static? && (request.get? || request.head?)
|
931
937
|
route!
|
@@ -977,7 +983,11 @@ module Padrino
|
|
977
983
|
@route = request.route_obj = route
|
978
984
|
captured_params = captures_from_params(params)
|
979
985
|
|
980
|
-
|
986
|
+
# Should not overwrite params by given query
|
987
|
+
@params.merge!(params) do |key, original, newval|
|
988
|
+
@route.significant_variable_names.include?(key) ? newval : original
|
989
|
+
end unless params.empty?
|
990
|
+
|
981
991
|
@params[:format] = params[:format] if params[:format]
|
982
992
|
@params[:captures] = captured_params if !captured_params.empty? && route.path.is_a?(Regexp)
|
983
993
|
|
@@ -28,16 +28,20 @@ module Padrino
|
|
28
28
|
def console(*args)
|
29
29
|
prepare :console
|
30
30
|
require File.expand_path("../../version", __FILE__)
|
31
|
-
ARGV.clear
|
32
|
-
require 'irb'
|
33
|
-
begin
|
34
|
-
require "irb/completion"
|
35
|
-
rescue LoadError
|
36
|
-
end
|
37
31
|
require File.expand_path('config/boot.rb')
|
38
32
|
puts "=> Loading #{Padrino.env} console (Padrino v.#{Padrino.version})"
|
39
33
|
require File.expand_path('../console', __FILE__)
|
40
|
-
|
34
|
+
ARGV.clear
|
35
|
+
if defined? Pry
|
36
|
+
Pry.start
|
37
|
+
else
|
38
|
+
require 'irb'
|
39
|
+
begin
|
40
|
+
require "irb/completion"
|
41
|
+
rescue LoadError
|
42
|
+
end
|
43
|
+
IRB.start
|
44
|
+
end
|
41
45
|
end
|
42
46
|
|
43
47
|
desc "generate", "Executes the Padrino generator with given options (alternatively use 'gen' or 'g')."
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module Padrino
|
2
|
+
##
|
3
|
+
# Replaces the current process with it's binstub.
|
4
|
+
#
|
5
|
+
def self.replace_with_binstub(executable)
|
6
|
+
begin
|
7
|
+
return if Bundler.definition.missing_specs.empty?
|
8
|
+
rescue NameError, NoMethodError
|
9
|
+
end
|
10
|
+
|
11
|
+
project_root = Dir.pwd
|
12
|
+
until project_root.empty?
|
13
|
+
break if File.file?(File.join(project_root, 'Gemfile'))
|
14
|
+
project_root = project_root.rpartition('/').first
|
15
|
+
end
|
16
|
+
|
17
|
+
if %w(Gemfile .components).all? { |file| File.file?(File.join(project_root, file)) }
|
18
|
+
binstub = File.join(project_root, 'bin', executable)
|
19
|
+
if File.file?(binstub)
|
20
|
+
exec Gem.ruby, binstub, *ARGV
|
21
|
+
else
|
22
|
+
puts 'Please run `bundler install --binstubs` from your project root to generate bundle-specific executables'
|
23
|
+
exit!
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
data/lib/padrino-core/loader.rb
CHANGED
@@ -143,7 +143,8 @@ module Padrino
|
|
143
143
|
# require_dependencies("#{Padrino.root}/lib/**/*.rb")
|
144
144
|
#
|
145
145
|
def require_dependencies(*paths)
|
146
|
-
options = paths.
|
146
|
+
options = (paths.last.is_a?(Hash) ? paths.pop : {}).merge( :cyclic => true )
|
147
|
+
|
147
148
|
files = paths.flatten.flat_map{ |path| Dir.glob(path).sort_by{ |filename| filename.count('/') } }.uniq
|
148
149
|
|
149
150
|
until files.empty?
|
@@ -55,7 +55,7 @@ module Padrino
|
|
55
55
|
# Finds a path which is matched with conditions from arguments
|
56
56
|
#
|
57
57
|
def path(name, *args)
|
58
|
-
params = args.
|
58
|
+
params = args.last.is_a?(Hash) ? args.pop : {}
|
59
59
|
candidates = @routes.select { |route| route.name == name }
|
60
60
|
fail InvalidRouteException if candidates.empty?
|
61
61
|
route = candidates.sort_by! { |route|
|
@@ -63,9 +63,9 @@ module Padrino
|
|
63
63
|
def significant_variable_names
|
64
64
|
@significant_variable_names ||=
|
65
65
|
if @path.is_a?(String)
|
66
|
-
@path.scan(SIGNIFICANT_VARIABLES_REGEX).map
|
66
|
+
@path.scan(SIGNIFICANT_VARIABLES_REGEX).map(&:last)
|
67
67
|
elsif @path.is_a?(Regexp) and @path.respond_to?(:named_captures)
|
68
|
-
@path.named_captures.keys
|
68
|
+
@path.named_captures.keys
|
69
69
|
else
|
70
70
|
[]
|
71
71
|
end
|
@@ -74,7 +74,7 @@ module Padrino
|
|
74
74
|
#
|
75
75
|
def lock!
|
76
76
|
klasses = Storage.send(:object_classes) do |klass|
|
77
|
-
original_klass_name = klass
|
77
|
+
original_klass_name = constant_name(klass)
|
78
78
|
original_klass_name.split('::').first if original_klass_name
|
79
79
|
end
|
80
80
|
klasses |= Padrino.mounted_apps.map(&:app_class)
|
@@ -244,7 +244,7 @@ module Padrino
|
|
244
244
|
# Tells if a constant should be excluded from Reloader routines.
|
245
245
|
#
|
246
246
|
def constant_excluded?(const)
|
247
|
-
external_constant?(const) || (exclude_constants - include_constants).any?{ |excluded_constant| const.
|
247
|
+
external_constant?(const) || (exclude_constants - include_constants).any?{ |excluded_constant| constant_name(const).start_with?(excluded_constant) }
|
248
248
|
end
|
249
249
|
|
250
250
|
##
|
@@ -310,5 +310,11 @@ module Padrino
|
|
310
310
|
ensure
|
311
311
|
$-v = verbosity_level
|
312
312
|
end
|
313
|
+
|
314
|
+
def constant_name(constant)
|
315
|
+
constant._orig_klass_name
|
316
|
+
rescue NoMethodError
|
317
|
+
constant.name
|
318
|
+
end
|
313
319
|
end
|
314
320
|
end
|
data/lib/padrino-core/server.rb
CHANGED
@@ -110,9 +110,9 @@ module Padrino
|
|
110
110
|
# Detects Host and Port for Rack server.
|
111
111
|
#
|
112
112
|
def self.detect_address(options)
|
113
|
-
address = DEFAULT_ADDRESS.merge options.
|
114
|
-
address[:Host] = options[:host] if options[:host]
|
115
|
-
address[:Port] = options[:port] if options[:port]
|
113
|
+
address = DEFAULT_ADDRESS.merge options.select{ |key| [:Host, :Port].include?(key) }
|
114
|
+
address[:Host] = options[:host] if options[:host]
|
115
|
+
address[:Port] = options[:port] if options[:port]
|
116
116
|
address
|
117
117
|
end
|
118
118
|
end
|
data/lib/padrino-core/version.rb
CHANGED
data/test/test_logger.rb
CHANGED
@@ -102,7 +102,8 @@ describe "PadrinoLogger" do
|
|
102
102
|
@logger.error binary_data
|
103
103
|
@logger.error utf8_data
|
104
104
|
@logger.flush
|
105
|
-
|
105
|
+
assert @log.string.force_encoding(encoding).include?("?\n".encode(encoding))
|
106
|
+
assert @log.string.force_encoding(encoding).include?(utf8_data.encode(encoding))
|
106
107
|
end
|
107
108
|
|
108
109
|
it 'should log an application' do
|
@@ -80,7 +80,7 @@ describe "SimpleReloader" do
|
|
80
80
|
assert ok?
|
81
81
|
last_body = body
|
82
82
|
assert_equal 1, @app.filters[:before].size
|
83
|
-
assert_equal
|
83
|
+
assert_equal 0, @app.errors.reject{ |key, _| [404, Sinatra::NotFound].include? key }.size
|
84
84
|
assert_equal 2, @app.filters[:after].size # app + content-type + padrino-flash
|
85
85
|
assert_equal 0, @app.middleware.size
|
86
86
|
assert_equal 4, @app.routes.size # GET+HEAD of "/" + GET+HEAD of "/rand" = 4
|
@@ -90,7 +90,7 @@ describe "SimpleReloader" do
|
|
90
90
|
get "/rand"
|
91
91
|
refute_equal last_body, body
|
92
92
|
assert_equal 1, @app.filters[:before].size
|
93
|
-
assert_equal
|
93
|
+
assert_equal 0, @app.errors.reject{ |key, _| [404, Sinatra::NotFound].include? key }.size
|
94
94
|
assert_equal 2, @app.filters[:after].size
|
95
95
|
assert_equal 0, @app.middleware.size
|
96
96
|
assert_equal 4, @app.routes.size # GET+HEAD of "/" = 2
|
@@ -0,0 +1,52 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/helper')
|
2
|
+
|
3
|
+
describe "Padrino::Reloader::Storage" do
|
4
|
+
describe "#classes" do
|
5
|
+
it 'should take an snapshot of the current loaded classes' do
|
6
|
+
snapshot = Padrino::Reloader::Storage.send(:object_classes)
|
7
|
+
assert_equal snapshot.include?(Padrino::Logger), true
|
8
|
+
end
|
9
|
+
|
10
|
+
it 'should return a Set object' do
|
11
|
+
snapshot = Padrino::Reloader::Storage.send(:object_classes)
|
12
|
+
assert_equal snapshot.kind_of?(Set), true
|
13
|
+
end
|
14
|
+
|
15
|
+
it 'should be able to process a the class name given a block' do
|
16
|
+
klasses = Padrino::Reloader::Storage.send(:object_classes) do |klass|
|
17
|
+
next unless klass.respond_to?(:name) # fix JRuby < 1.7.22
|
18
|
+
if klass.name =~ /^Padrino::/
|
19
|
+
klass
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
assert_equal (klasses.size > 1), true
|
24
|
+
klasses.each do |klass|
|
25
|
+
assert_match /^Padrino::/, klass.to_s
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
describe "#new_classes" do
|
31
|
+
before do
|
32
|
+
@snapshot = Padrino::Reloader::Storage.send(:object_classes)
|
33
|
+
end
|
34
|
+
|
35
|
+
it 'should return list of new classes' do
|
36
|
+
skip
|
37
|
+
class OSTest; end
|
38
|
+
module OSTestModule; class B; end; end
|
39
|
+
|
40
|
+
new_classes = Padrino::Reloader::Storage.send(:new_classes, @snapshot)
|
41
|
+
|
42
|
+
assert_equal new_classes.size, 3
|
43
|
+
assert_equal new_classes.include?(OSTest), true
|
44
|
+
assert_equal new_classes.include?(OSTestModule::B), true
|
45
|
+
end
|
46
|
+
|
47
|
+
it 'should return a Set object' do
|
48
|
+
new_classes = Padrino::Reloader::Storage.send(:new_classes, @snapshot)
|
49
|
+
assert_equal new_classes.kind_of?(Set), true
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
@@ -140,4 +140,20 @@ describe "SystemReloader" do
|
|
140
140
|
assert Padrino::Reloader.changed?, 'Change to custom dependency has not been recognised'
|
141
141
|
end
|
142
142
|
end
|
143
|
+
|
144
|
+
describe 'reloading module constants' do
|
145
|
+
it 'should remove constants of misdesigned modules' do
|
146
|
+
skip
|
147
|
+
Padrino.clear!
|
148
|
+
require File.expand_path(File.dirname(__FILE__) + '/fixtures/apps/concerned/app.rb')
|
149
|
+
@app = SystemConcernedClassDemo
|
150
|
+
Padrino.mount(SystemConcernedClassDemo).to("/")
|
151
|
+
get '/'
|
152
|
+
|
153
|
+
original_value = BadModule.instance_variable_get(:@happy_global_variable)
|
154
|
+
FileUtils.touch File.dirname(__FILE__) + '/fixtures/apps/concerned/models/mixins/badmodule.rb'
|
155
|
+
Padrino.reload!
|
156
|
+
assert_equal original_value, BadModule.instance_variable_get(:@happy_global_variable)
|
157
|
+
end
|
158
|
+
end
|
143
159
|
end
|
data/test/test_routing.rb
CHANGED
@@ -2403,4 +2403,14 @@ describe "Routing" do
|
|
2403
2403
|
get '/update/1?product[title]=test'
|
2404
2404
|
assert_equal 'test==test', body
|
2405
2405
|
end
|
2406
|
+
|
2407
|
+
it "prevent overwriting params by given query" do
|
2408
|
+
mock_app do
|
2409
|
+
get '/prohibit/:id' do
|
2410
|
+
params[:id]
|
2411
|
+
end
|
2412
|
+
end
|
2413
|
+
get '/prohibit/123?id=456'
|
2414
|
+
assert_equal '123', body
|
2415
|
+
end
|
2406
2416
|
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.13.
|
4
|
+
version: 0.13.3
|
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-
|
14
|
+
date: 2016-08-17 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: padrino-support
|
@@ -19,14 +19,14 @@ dependencies:
|
|
19
19
|
requirements:
|
20
20
|
- - '='
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: 0.13.
|
22
|
+
version: 0.13.3
|
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.
|
29
|
+
version: 0.13.3
|
30
30
|
- !ruby/object:Gem::Dependency
|
31
31
|
name: sinatra
|
32
32
|
requirement: !ruby/object:Gem::Requirement
|
@@ -123,6 +123,7 @@ files:
|
|
123
123
|
- lib/padrino-core/caller.rb
|
124
124
|
- lib/padrino-core/cli/adapter.rb
|
125
125
|
- lib/padrino-core/cli/base.rb
|
126
|
+
- lib/padrino-core/cli/binstub.rb
|
126
127
|
- lib/padrino-core/cli/console.rb
|
127
128
|
- lib/padrino-core/cli/launcher.rb
|
128
129
|
- lib/padrino-core/cli/rake.rb
|
@@ -157,6 +158,8 @@ files:
|
|
157
158
|
- test/fixtures/app_gem/lib/app_gem.rb
|
158
159
|
- test/fixtures/app_gem/lib/app_gem/version.rb
|
159
160
|
- test/fixtures/apps/complex.rb
|
161
|
+
- test/fixtures/apps/concerned/app.rb
|
162
|
+
- test/fixtures/apps/concerned/models/mixins/badmodule.rb
|
160
163
|
- test/fixtures/apps/custom_dependencies/custom_dependencies.rb
|
161
164
|
- test/fixtures/apps/custom_dependencies/my_dependencies/my_dependency.rb
|
162
165
|
- test/fixtures/apps/demo_app.rb
|
@@ -209,6 +212,7 @@ files:
|
|
209
212
|
- test/test_reloader_complex.rb
|
210
213
|
- test/test_reloader_external.rb
|
211
214
|
- test/test_reloader_simple.rb
|
215
|
+
- test/test_reloader_storage.rb
|
212
216
|
- test/test_reloader_system.rb
|
213
217
|
- test/test_restful_routing.rb
|
214
218
|
- test/test_router.rb
|
@@ -234,71 +238,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
234
238
|
version: 1.3.6
|
235
239
|
requirements: []
|
236
240
|
rubyforge_project: padrino-core
|
237
|
-
rubygems_version: 2.4
|
241
|
+
rubygems_version: 2.6.4
|
238
242
|
signing_key:
|
239
243
|
specification_version: 4
|
240
244
|
summary: The required Padrino core gem
|
241
|
-
test_files:
|
242
|
-
- test/fixtures/app_gem/Gemfile
|
243
|
-
- test/fixtures/app_gem/app/app.rb
|
244
|
-
- test/fixtures/app_gem/app_gem.gemspec
|
245
|
-
- test/fixtures/app_gem/lib/app_gem.rb
|
246
|
-
- test/fixtures/app_gem/lib/app_gem/version.rb
|
247
|
-
- test/fixtures/apps/complex.rb
|
248
|
-
- test/fixtures/apps/custom_dependencies/custom_dependencies.rb
|
249
|
-
- test/fixtures/apps/custom_dependencies/my_dependencies/my_dependency.rb
|
250
|
-
- test/fixtures/apps/demo_app.rb
|
251
|
-
- test/fixtures/apps/demo_demo.rb
|
252
|
-
- test/fixtures/apps/demo_project/api/app.rb
|
253
|
-
- test/fixtures/apps/demo_project/api/lib/api_lib.rb
|
254
|
-
- test/fixtures/apps/demo_project/app.rb
|
255
|
-
- test/fixtures/apps/external_apps/fake_lib.rb
|
256
|
-
- test/fixtures/apps/external_apps/fake_root.rb
|
257
|
-
- test/fixtures/apps/helpers/class_methods_helpers.rb
|
258
|
-
- test/fixtures/apps/helpers/instance_methods_helpers.rb
|
259
|
-
- test/fixtures/apps/helpers/system_helpers.rb
|
260
|
-
- test/fixtures/apps/kiq.rb
|
261
|
-
- test/fixtures/apps/lib/myklass.rb
|
262
|
-
- test/fixtures/apps/lib/myklass/mysubklass.rb
|
263
|
-
- test/fixtures/apps/models/child.rb
|
264
|
-
- test/fixtures/apps/models/parent.rb
|
265
|
-
- test/fixtures/apps/mountable_apps/rack_apps.rb
|
266
|
-
- test/fixtures/apps/mountable_apps/static.html
|
267
|
-
- test/fixtures/apps/precompiled_app.rb
|
268
|
-
- test/fixtures/apps/simple.rb
|
269
|
-
- test/fixtures/apps/static.rb
|
270
|
-
- test/fixtures/apps/stealthy/app.rb
|
271
|
-
- test/fixtures/apps/stealthy/helpers/stealthy_class_helpers.rb
|
272
|
-
- test/fixtures/apps/system.rb
|
273
|
-
- test/fixtures/apps/system_class_methods_demo.rb
|
274
|
-
- test/fixtures/apps/system_instance_methods_demo.rb
|
275
|
-
- test/fixtures/dependencies/a.rb
|
276
|
-
- test/fixtures/dependencies/b.rb
|
277
|
-
- test/fixtures/dependencies/c.rb
|
278
|
-
- test/fixtures/dependencies/circular/e.rb
|
279
|
-
- test/fixtures/dependencies/circular/f.rb
|
280
|
-
- test/fixtures/dependencies/circular/g.rb
|
281
|
-
- test/fixtures/dependencies/d.rb
|
282
|
-
- test/fixtures/reloadable_apps/external/app/app.rb
|
283
|
-
- test/fixtures/reloadable_apps/external/app/controllers/base.rb
|
284
|
-
- test/fixtures/reloadable_apps/main/app.rb
|
285
|
-
- test/helper.rb
|
286
|
-
- test/test_application.rb
|
287
|
-
- test/test_configuration.rb
|
288
|
-
- test/test_core.rb
|
289
|
-
- test/test_csrf_protection.rb
|
290
|
-
- test/test_dependencies.rb
|
291
|
-
- test/test_filters.rb
|
292
|
-
- test/test_flash.rb
|
293
|
-
- test/test_locale.rb
|
294
|
-
- test/test_logger.rb
|
295
|
-
- test/test_mounter.rb
|
296
|
-
- test/test_params_protection.rb
|
297
|
-
- test/test_reloader_complex.rb
|
298
|
-
- test/test_reloader_external.rb
|
299
|
-
- test/test_reloader_simple.rb
|
300
|
-
- test/test_reloader_system.rb
|
301
|
-
- test/test_restful_routing.rb
|
302
|
-
- test/test_router.rb
|
303
|
-
- test/test_routing.rb
|
304
|
-
has_rdoc:
|
245
|
+
test_files: []
|