ianwhite-pickle 0.1.8 → 0.1.9
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +6 -0
- data/lib/pickle/adapter.rb +2 -2
- data/lib/pickle/version.rb +1 -1
- data/spec/lib/pickle_adapter_spec.rb +24 -7
- metadata +1 -1
data/History.txt
CHANGED
data/lib/pickle/adapter.rb
CHANGED
@@ -23,9 +23,9 @@ module Pickle
|
|
23
23
|
self.model_classes = nil
|
24
24
|
|
25
25
|
def self.model_classes
|
26
|
-
# remove abstract and
|
26
|
+
# remove abstract, framework, and non-table classes
|
27
27
|
@@model_classes ||= ::ActiveRecord::Base.send(:subclasses).reject do |klass|
|
28
|
-
klass.abstract_class? ||
|
28
|
+
klass.abstract_class? || !klass.table_exists? ||
|
29
29
|
(defined?(CGI::Session::ActiveRecordStore::Session) && klass == CGI::Session::ActiveRecordStore::Session) ||
|
30
30
|
(defined?(::ActiveRecord::SessionStore::Session) && klass == ::ActiveRecord::SessionStore::Session)
|
31
31
|
end
|
data/lib/pickle/version.rb
CHANGED
@@ -9,15 +9,32 @@ describe Pickle::Adapter do
|
|
9
9
|
lambda{ Pickle::Adapter.new.create }.should raise_error(NotImplementedError)
|
10
10
|
end
|
11
11
|
|
12
|
-
|
13
|
-
|
14
|
-
Pickle::Adapter.model_classes
|
12
|
+
describe ".model_classes" do
|
13
|
+
before do
|
14
|
+
Pickle::Adapter.model_classes = nil
|
15
|
+
end
|
16
|
+
|
17
|
+
if defined?(CGI::Session::ActiveRecordStore::Session)
|
18
|
+
it "should not include CGI::Session::ActiveRecordStore::Session" do
|
19
|
+
Pickle::Adapter.model_classes.should_not include(CGI::Session::ActiveRecordStore)
|
20
|
+
end
|
15
21
|
end
|
16
|
-
end
|
17
22
|
|
18
|
-
|
19
|
-
|
20
|
-
|
23
|
+
if defined?(ActiveRecord::SessionStore::Session)
|
24
|
+
it "should not include ActiveRecord::SessionStore::Session" do
|
25
|
+
Pickle::Adapter.model_classes.should_not include(ActiveRecord::SessionStore::Session)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
it "should not include classes without a table" do
|
30
|
+
klass = Class.new(ActiveRecord::Base)
|
31
|
+
Pickle::Adapter.model_classes.should_not include(klass)
|
32
|
+
end
|
33
|
+
|
34
|
+
it "should not include abstract classes without a table" do
|
35
|
+
klass = Class.new(ActiveRecord::Base)
|
36
|
+
klass.abstract_class = true
|
37
|
+
Pickle::Adapter.model_classes.should_not include(klass)
|
21
38
|
end
|
22
39
|
end
|
23
40
|
|