class_loader 0.3.8 → 0.3.9
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/spec/{class_loader_spec_data → class_loader_spec}/anonymous_class/AnonymousSpec/ClassInsideOfAnonymousClass.rb +0 -0
- data/spec/{class_loader_spec_data → class_loader_spec}/another_namespace/AnotherNamespace/NamespaceA.rb +0 -0
- data/spec/{class_loader_spec_data → class_loader_spec}/another_namespace/AnotherNamespace/NamespaceB.rb +0 -0
- data/spec/{class_loader_spec_data → class_loader_spec}/basic/BasicSpec/SomeNamespace/SomeClass.rb +0 -0
- data/spec/{class_loader_spec_data → class_loader_spec}/basic/BasicSpec.rb +0 -0
- data/spec/{class_loader_spec_data → class_loader_spec}/infinity_loop/InfinityLoop.rb +0 -0
- data/spec/{class_loader_spec_data → class_loader_spec}/namespace_type_resolving/NamespaceIsAlreadyDefinedAsClass/SomeClass.rb +0 -0
- data/spec/{class_loader_spec_data → class_loader_spec}/namespace_type_resolving/NamespaceTypeResolving/SomeClass.rb +0 -0
- data/spec/{class_loader_spec_data → class_loader_spec}/namespace_type_resolving/NamespaceTypeResolving.rb +0 -0
- data/spec/{class_loader_spec_data → class_loader_spec}/only_once/OnlyOnceSpec.rb +0 -0
- data/spec/{class_loader_spec_data → class_loader_spec}/preloading/PreloadingSpec.rb +0 -0
- data/spec/{class_loader_spec_data → class_loader_spec}/underscored/underscored_namespace/underscored_class.rb +0 -0
- data/spec/{class_loader_spec_data → class_loader_spec}/unload_old_class/UnloadOldClass.rb +0 -0
- data/spec/class_loader_spec.rb +13 -17
- data/spec/{file_system_adapter_spec_data → file_system_adapter_spec}/common/SomeNamespace/SomeClass.rb +0 -0
- data/spec/{file_system_adapter_spec_data → file_system_adapter_spec}/multiple_class_paths/path_a/ClassInPathA.rb +0 -0
- data/spec/{file_system_adapter_spec_data → file_system_adapter_spec}/multiple_class_paths/path_b/ClassInPathB.rb +0 -0
- data/spec/{file_system_adapter_spec_data → file_system_adapter_spec}/shouldnt_mess/CamelCaseClass.rb +0 -0
- data/spec/{file_system_adapter_spec_data → file_system_adapter_spec}/shouldnt_mess/underscored_class.rb +0 -0
- data/spec/file_system_adapter_spec.rb +16 -22
- metadata +22 -22
data/Rakefile
CHANGED
File without changes
|
File without changes
|
File without changes
|
data/spec/{class_loader_spec_data → class_loader_spec}/basic/BasicSpec/SomeNamespace/SomeClass.rb
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
data/spec/class_loader_spec.rb
CHANGED
@@ -2,13 +2,9 @@ require 'rspec_ext'
|
|
2
2
|
require "class_loader"
|
3
3
|
|
4
4
|
describe ClassLoader do
|
5
|
-
|
6
|
-
@dir = prepare_spec_data __FILE__
|
7
|
-
end
|
5
|
+
with_tmp_spec_dir
|
8
6
|
|
9
7
|
after :all do
|
10
|
-
clean_spec_data __FILE__
|
11
|
-
|
12
8
|
remove_constants %w(
|
13
9
|
BasicSpec
|
14
10
|
OnlyOnceSpec
|
@@ -28,14 +24,14 @@ describe ClassLoader do
|
|
28
24
|
end
|
29
25
|
|
30
26
|
it "should load classes from class path" do
|
31
|
-
autoload_dir "#{
|
27
|
+
autoload_dir "#{spec_dir}/basic"
|
32
28
|
|
33
29
|
BasicSpec
|
34
30
|
BasicSpec::SomeNamespace::SomeClass
|
35
31
|
end
|
36
32
|
|
37
33
|
it "should load classes only once" do
|
38
|
-
autoload_dir "#{
|
34
|
+
autoload_dir "#{spec_dir}/only_once"
|
39
35
|
|
40
36
|
check = mock
|
41
37
|
check.should_receive(:loaded).once
|
@@ -49,7 +45,7 @@ describe ClassLoader do
|
|
49
45
|
end
|
50
46
|
|
51
47
|
it "should resolve is namespace a class or module" do
|
52
|
-
autoload_dir "#{
|
48
|
+
autoload_dir "#{spec_dir}/namespace_type_resolving"
|
53
49
|
|
54
50
|
NamespaceTypeResolving.class.should == Class
|
55
51
|
NamespaceTypeResolving::SomeClass
|
@@ -59,13 +55,13 @@ describe ClassLoader do
|
|
59
55
|
end
|
60
56
|
|
61
57
|
it "should recognize infinity loop" do
|
62
|
-
autoload_dir "#{
|
58
|
+
autoload_dir "#{spec_dir}/infinity_loop"
|
63
59
|
|
64
60
|
lambda{InfinityLoop}.should raise_error(/Class Name .+ doesn't correspond to File Name/)
|
65
61
|
end
|
66
62
|
|
67
63
|
it "should correctly works inside of anonymous class" do
|
68
|
-
autoload_dir "#{
|
64
|
+
autoload_dir "#{spec_dir}/anonymous_class"
|
69
65
|
|
70
66
|
module ::AnonymousSpec
|
71
67
|
class << self
|
@@ -79,7 +75,7 @@ describe ClassLoader do
|
|
79
75
|
end
|
80
76
|
|
81
77
|
it "should raise exception if class defined in another namespace" do
|
82
|
-
autoload_dir "#{
|
78
|
+
autoload_dir "#{spec_dir}/another_namespace"
|
83
79
|
|
84
80
|
AnotherNamespace::NamespaceA
|
85
81
|
ClassLoader.error_on_defined_constant = true
|
@@ -90,9 +86,9 @@ describe ClassLoader do
|
|
90
86
|
|
91
87
|
describe "reloading" do
|
92
88
|
it "should reload class files" do
|
93
|
-
|
94
|
-
fname = "#{
|
95
|
-
autoload_dir
|
89
|
+
class_reloading_dir = "#{spec_dir}/class_reloading"
|
90
|
+
fname = "#{class_reloading_dir}/ClassReloadingSpec.rb"
|
91
|
+
autoload_dir class_reloading_dir
|
96
92
|
|
97
93
|
code = <<-RUBY
|
98
94
|
class ClassReloadingSpec
|
@@ -118,7 +114,7 @@ RUBY
|
|
118
114
|
|
119
115
|
# Outdated
|
120
116
|
# it "should unload old classes before reloading" do
|
121
|
-
# autoload_dir "#{
|
117
|
+
# autoload_dir "#{spec_dir}/unload_old_class"
|
122
118
|
# UnloadOldClass.instance_variable_set "@value", :value
|
123
119
|
# ClassLoader.reload_class(UnloadOldClass.name)
|
124
120
|
# UnloadOldClass.instance_variable_get("@value").should == nil
|
@@ -126,14 +122,14 @@ RUBY
|
|
126
122
|
end
|
127
123
|
|
128
124
|
it "should be able to preload all classes in production" do
|
129
|
-
autoload_dir "#{
|
125
|
+
autoload_dir "#{spec_dir}/preloading"
|
130
126
|
Object.const_defined?(:PreloadingSpec).should be_false
|
131
127
|
ClassLoader.preload!
|
132
128
|
Object.const_defined?(:PreloadingSpec).should be_true
|
133
129
|
end
|
134
130
|
|
135
131
|
it "underscored smoke test" do
|
136
|
-
autoload_dir "#{
|
132
|
+
autoload_dir "#{spec_dir}/underscored"
|
137
133
|
|
138
134
|
UnderscoredNamespace::UnderscoredClass
|
139
135
|
end
|
File without changes
|
File without changes
|
File without changes
|
data/spec/{file_system_adapter_spec_data → file_system_adapter_spec}/shouldnt_mess/CamelCaseClass.rb
RENAMED
File without changes
|
File without changes
|
@@ -2,9 +2,7 @@ require "rspec_ext"
|
|
2
2
|
require "class_loader"
|
3
3
|
|
4
4
|
describe ClassLoader::FileSystemAdapter do
|
5
|
-
|
6
|
-
@dir = prepare_spec_data __FILE__
|
7
|
-
end
|
5
|
+
with_tmp_spec_dir
|
8
6
|
|
9
7
|
before :each do
|
10
8
|
@fs_adapter = ClassLoader::FileSystemAdapter.new(ClassLoader::CamelCaseTranslator)
|
@@ -13,15 +11,11 @@ describe ClassLoader::FileSystemAdapter do
|
|
13
11
|
@adapter = ClassLoader::ChainedAdapter.new
|
14
12
|
@adapter.adapters << @fs_adapter
|
15
13
|
|
16
|
-
@adapter.add_path "#{
|
17
|
-
end
|
18
|
-
|
19
|
-
after :all do
|
20
|
-
clean_spec_data __FILE__
|
14
|
+
@adapter.add_path "#{spec_dir}/common"
|
21
15
|
end
|
22
16
|
|
23
17
|
def write_file path, klass
|
24
|
-
File.open("#{
|
18
|
+
File.open("#{spec_dir}/#{path}", 'w'){|f| f.write "class #{klass}; end"}
|
25
19
|
end
|
26
20
|
|
27
21
|
it "exist?" do
|
@@ -31,8 +25,8 @@ describe ClassLoader::FileSystemAdapter do
|
|
31
25
|
end
|
32
26
|
|
33
27
|
it "should works with multiple class paths" do
|
34
|
-
@adapter.add_path "#{
|
35
|
-
@adapter.add_path "#{
|
28
|
+
@adapter.add_path "#{spec_dir}/multiple_class_paths/path_a"
|
29
|
+
@adapter.add_path "#{spec_dir}/multiple_class_paths/path_b"
|
36
30
|
|
37
31
|
@adapter.exist?("ClassInPathA").should be_true
|
38
32
|
@adapter.exist?("ClassInPathB").should be_true
|
@@ -48,15 +42,15 @@ describe ClassLoader::FileSystemAdapter do
|
|
48
42
|
end
|
49
43
|
|
50
44
|
it "to_class_name" do
|
51
|
-
@adapter.to_class_name("#{
|
52
|
-
@adapter.to_class_name("#{
|
53
|
-
@adapter.to_class_name("#{
|
45
|
+
@adapter.to_class_name("#{spec_dir}/non_existing_path").should be_nil
|
46
|
+
@adapter.to_class_name("#{spec_dir}/common/SomeNamespace").should == "SomeNamespace"
|
47
|
+
@adapter.to_class_name("#{spec_dir}/common/SomeNamespace/SomeClass").should == "SomeNamespace::SomeClass"
|
54
48
|
end
|
55
49
|
|
56
50
|
it "shouldn't allow to add path twice" do
|
57
51
|
@adapter.clear
|
58
|
-
@adapter.add_path "#{
|
59
|
-
lambda{@adapter.add_path "#{
|
52
|
+
@adapter.add_path "#{spec_dir}/common"
|
53
|
+
lambda{@adapter.add_path "#{spec_dir}/common"}.should raise_error(/already added/)
|
60
54
|
end
|
61
55
|
|
62
56
|
describe "file watching" do
|
@@ -67,7 +61,7 @@ describe ClassLoader::FileSystemAdapter do
|
|
67
61
|
end
|
68
62
|
|
69
63
|
it "each_changed_class shouldn't affect paths not specified for watching" do
|
70
|
-
@adapter.add_path "#{
|
64
|
+
@adapter.add_path "#{spec_dir}/search_only_watched", false
|
71
65
|
changed_classes.should == []
|
72
66
|
|
73
67
|
sleep(1) && write_file("watching/SomeClass.rb", "SomeClass")
|
@@ -75,7 +69,7 @@ describe ClassLoader::FileSystemAdapter do
|
|
75
69
|
end
|
76
70
|
|
77
71
|
it "each_changed_class" do
|
78
|
-
@adapter.add_path "#{
|
72
|
+
@adapter.add_path "#{spec_dir}/watching", true
|
79
73
|
|
80
74
|
changed_classes.should == []
|
81
75
|
|
@@ -90,12 +84,12 @@ describe ClassLoader::FileSystemAdapter do
|
|
90
84
|
describe "Underscored shouldn't mess with CamelCase" do
|
91
85
|
before :each do
|
92
86
|
@camel_case_adapter = ClassLoader::FileSystemAdapter.new(ClassLoader::CamelCaseTranslator)
|
93
|
-
@camel_case_adapter.add_path "#{
|
94
|
-
@camel_case_file_path = "#{
|
87
|
+
@camel_case_adapter.add_path "#{spec_dir}/shouldnt_mess", true
|
88
|
+
@camel_case_file_path = "#{spec_dir}/shouldnt_mess/CamelCaseClass.rb"
|
95
89
|
|
96
90
|
@underscored_adapter = ClassLoader::FileSystemAdapter.new(ClassLoader::UnderscoredTranslator)
|
97
|
-
@underscored_adapter.add_path "#{
|
98
|
-
@underscored_file_path = "#{
|
91
|
+
@underscored_adapter.add_path "#{spec_dir}/shouldnt_mess", true
|
92
|
+
@underscored_file_path = "#{spec_dir}/shouldnt_mess/underscored_class.rb"
|
99
93
|
end
|
100
94
|
|
101
95
|
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: class_loader
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 1
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 3
|
9
|
-
-
|
10
|
-
version: 0.3.
|
9
|
+
- 9
|
10
|
+
version: 0.3.9
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Alexey Petrushin
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-10-
|
18
|
+
date: 2010-10-25 00:00:00 +04:00
|
19
19
|
default_executable:
|
20
20
|
dependencies: []
|
21
21
|
|
@@ -37,26 +37,26 @@ files:
|
|
37
37
|
- lib/class_loader/file_system_adapter.rb
|
38
38
|
- lib/class_loader/support.rb
|
39
39
|
- lib/class_loader.rb
|
40
|
+
- spec/class_loader_spec/anonymous_class/AnonymousSpec/ClassInsideOfAnonymousClass.rb
|
41
|
+
- spec/class_loader_spec/another_namespace/AnotherNamespace/NamespaceA.rb
|
42
|
+
- spec/class_loader_spec/another_namespace/AnotherNamespace/NamespaceB.rb
|
43
|
+
- spec/class_loader_spec/basic/BasicSpec/SomeNamespace/SomeClass.rb
|
44
|
+
- spec/class_loader_spec/basic/BasicSpec.rb
|
45
|
+
- spec/class_loader_spec/infinity_loop/InfinityLoop.rb
|
46
|
+
- spec/class_loader_spec/namespace_type_resolving/NamespaceIsAlreadyDefinedAsClass/SomeClass.rb
|
47
|
+
- spec/class_loader_spec/namespace_type_resolving/NamespaceTypeResolving/SomeClass.rb
|
48
|
+
- spec/class_loader_spec/namespace_type_resolving/NamespaceTypeResolving.rb
|
49
|
+
- spec/class_loader_spec/only_once/OnlyOnceSpec.rb
|
50
|
+
- spec/class_loader_spec/preloading/PreloadingSpec.rb
|
51
|
+
- spec/class_loader_spec/underscored/underscored_namespace/underscored_class.rb
|
52
|
+
- spec/class_loader_spec/unload_old_class/UnloadOldClass.rb
|
40
53
|
- spec/class_loader_spec.rb
|
41
|
-
- spec/
|
42
|
-
- spec/
|
43
|
-
- spec/
|
44
|
-
- spec/
|
45
|
-
- spec/
|
46
|
-
- spec/class_loader_spec_data/infinity_loop/InfinityLoop.rb
|
47
|
-
- spec/class_loader_spec_data/namespace_type_resolving/NamespaceIsAlreadyDefinedAsClass/SomeClass.rb
|
48
|
-
- spec/class_loader_spec_data/namespace_type_resolving/NamespaceTypeResolving/SomeClass.rb
|
49
|
-
- spec/class_loader_spec_data/namespace_type_resolving/NamespaceTypeResolving.rb
|
50
|
-
- spec/class_loader_spec_data/only_once/OnlyOnceSpec.rb
|
51
|
-
- spec/class_loader_spec_data/preloading/PreloadingSpec.rb
|
52
|
-
- spec/class_loader_spec_data/underscored/underscored_namespace/underscored_class.rb
|
53
|
-
- spec/class_loader_spec_data/unload_old_class/UnloadOldClass.rb
|
54
|
+
- spec/file_system_adapter_spec/common/SomeNamespace/SomeClass.rb
|
55
|
+
- spec/file_system_adapter_spec/multiple_class_paths/path_a/ClassInPathA.rb
|
56
|
+
- spec/file_system_adapter_spec/multiple_class_paths/path_b/ClassInPathB.rb
|
57
|
+
- spec/file_system_adapter_spec/shouldnt_mess/CamelCaseClass.rb
|
58
|
+
- spec/file_system_adapter_spec/shouldnt_mess/underscored_class.rb
|
54
59
|
- spec/file_system_adapter_spec.rb
|
55
|
-
- spec/file_system_adapter_spec_data/common/SomeNamespace/SomeClass.rb
|
56
|
-
- spec/file_system_adapter_spec_data/multiple_class_paths/path_a/ClassInPathA.rb
|
57
|
-
- spec/file_system_adapter_spec_data/multiple_class_paths/path_b/ClassInPathB.rb
|
58
|
-
- spec/file_system_adapter_spec_data/shouldnt_mess/CamelCaseClass.rb
|
59
|
-
- spec/file_system_adapter_spec_data/shouldnt_mess/underscored_class.rb
|
60
60
|
- spec/translators_spec.rb
|
61
61
|
has_rdoc: true
|
62
62
|
homepage: http://github.com/alexeypetrushin/class_loader
|