dm-core 0.10.2 → 1.0.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +10 -1
- data/Gemfile +143 -0
- data/Rakefile +9 -5
- data/VERSION +1 -1
- data/dm-core.gemspec +160 -57
- data/lib/dm-core.rb +131 -56
- data/lib/dm-core/adapters.rb +98 -14
- data/lib/dm-core/adapters/abstract_adapter.rb +24 -4
- data/lib/dm-core/adapters/in_memory_adapter.rb +7 -2
- data/lib/dm-core/associations/many_to_many.rb +19 -30
- data/lib/dm-core/associations/many_to_one.rb +58 -42
- data/lib/dm-core/associations/one_to_many.rb +33 -23
- data/lib/dm-core/associations/one_to_one.rb +27 -11
- data/lib/dm-core/associations/relationship.rb +4 -4
- data/lib/dm-core/collection.rb +23 -16
- data/lib/dm-core/core_ext/array.rb +36 -0
- data/lib/dm-core/core_ext/hash.rb +30 -0
- data/lib/dm-core/core_ext/module.rb +46 -0
- data/lib/dm-core/core_ext/object.rb +31 -0
- data/lib/dm-core/core_ext/pathname.rb +20 -0
- data/lib/dm-core/core_ext/string.rb +22 -0
- data/lib/dm-core/core_ext/try_dup.rb +44 -0
- data/lib/dm-core/model.rb +88 -27
- data/lib/dm-core/model/hook.rb +75 -18
- data/lib/dm-core/model/property.rb +50 -9
- data/lib/dm-core/model/relationship.rb +31 -31
- data/lib/dm-core/model/scope.rb +3 -3
- data/lib/dm-core/property.rb +196 -516
- data/lib/dm-core/property/binary.rb +7 -0
- data/lib/dm-core/property/boolean.rb +35 -0
- data/lib/dm-core/property/class.rb +24 -0
- data/lib/dm-core/property/date.rb +47 -0
- data/lib/dm-core/property/date_time.rb +48 -0
- data/lib/dm-core/property/decimal.rb +43 -0
- data/lib/dm-core/property/discriminator.rb +48 -0
- data/lib/dm-core/property/float.rb +24 -0
- data/lib/dm-core/property/integer.rb +32 -0
- data/lib/dm-core/property/numeric.rb +43 -0
- data/lib/dm-core/property/object.rb +32 -0
- data/lib/dm-core/property/serial.rb +8 -0
- data/lib/dm-core/property/string.rb +49 -0
- data/lib/dm-core/property/text.rb +12 -0
- data/lib/dm-core/property/time.rb +48 -0
- data/lib/dm-core/property/typecast/numeric.rb +32 -0
- data/lib/dm-core/property/typecast/time.rb +28 -0
- data/lib/dm-core/property_set.rb +10 -4
- data/lib/dm-core/query.rb +14 -37
- data/lib/dm-core/query/conditions/comparison.rb +8 -6
- data/lib/dm-core/query/conditions/operation.rb +33 -2
- data/lib/dm-core/query/operator.rb +2 -5
- data/lib/dm-core/query/path.rb +4 -6
- data/lib/dm-core/repository.rb +21 -6
- data/lib/dm-core/resource.rb +316 -133
- data/lib/dm-core/resource/state.rb +79 -0
- data/lib/dm-core/resource/state/clean.rb +40 -0
- data/lib/dm-core/resource/state/deleted.rb +30 -0
- data/lib/dm-core/resource/state/dirty.rb +86 -0
- data/lib/dm-core/resource/state/immutable.rb +34 -0
- data/lib/dm-core/resource/state/persisted.rb +29 -0
- data/lib/dm-core/resource/state/transient.rb +70 -0
- data/lib/dm-core/spec/lib/adapter_helpers.rb +52 -0
- data/lib/dm-core/spec/lib/collection_helpers.rb +20 -0
- data/{spec → lib/dm-core/spec}/lib/counter_adapter.rb +5 -1
- data/lib/dm-core/spec/lib/pending_helpers.rb +50 -0
- data/lib/dm-core/spec/lib/spec_helper.rb +68 -0
- data/lib/dm-core/spec/setup.rb +165 -0
- data/lib/dm-core/spec/{adapter_shared_spec.rb → shared/adapter_spec.rb} +21 -7
- data/{spec/public/shared/resource_shared_spec.rb → lib/dm-core/spec/shared/resource_spec.rb} +120 -83
- data/{spec/public/shared/sel_shared_spec.rb → lib/dm-core/spec/shared/sel_spec.rb} +5 -6
- data/lib/dm-core/support/assertions.rb +8 -0
- data/lib/dm-core/support/equalizer.rb +1 -0
- data/lib/dm-core/support/hook.rb +420 -0
- data/lib/dm-core/support/lazy_array.rb +453 -0
- data/lib/dm-core/support/local_object_space.rb +12 -0
- data/lib/dm-core/support/logger.rb +193 -6
- data/lib/dm-core/support/naming_conventions.rb +8 -8
- data/lib/dm-core/support/subject.rb +33 -0
- data/lib/dm-core/type.rb +4 -0
- data/lib/dm-core/types/boolean.rb +2 -0
- data/lib/dm-core/types/decimal.rb +9 -0
- data/lib/dm-core/types/discriminator.rb +2 -0
- data/lib/dm-core/types/object.rb +3 -0
- data/lib/dm-core/types/serial.rb +2 -0
- data/lib/dm-core/types/text.rb +2 -0
- data/lib/dm-core/version.rb +1 -1
- data/spec/public/associations/many_to_many/read_multiple_join_spec.rb +67 -0
- data/spec/public/model/hook_spec.rb +209 -0
- data/spec/public/model/property_spec.rb +35 -0
- data/spec/public/model/relationship_spec.rb +33 -20
- data/spec/public/model_spec.rb +142 -10
- data/spec/public/property/binary_spec.rb +14 -0
- data/spec/public/property/boolean_spec.rb +14 -0
- data/spec/public/property/class_spec.rb +20 -0
- data/spec/public/property/date_spec.rb +14 -0
- data/spec/public/property/date_time_spec.rb +14 -0
- data/spec/public/property/decimal_spec.rb +14 -0
- data/spec/public/{types → property}/discriminator_spec.rb +2 -12
- data/spec/public/property/float_spec.rb +14 -0
- data/spec/public/property/integer_spec.rb +14 -0
- data/spec/public/property/object_spec.rb +9 -17
- data/spec/public/property/serial_spec.rb +14 -0
- data/spec/public/property/string_spec.rb +14 -0
- data/spec/public/property/text_spec.rb +52 -0
- data/spec/public/property/time_spec.rb +14 -0
- data/spec/public/property_spec.rb +28 -87
- data/spec/public/resource_spec.rb +101 -0
- data/spec/public/sel_spec.rb +5 -15
- data/spec/public/shared/collection_shared_spec.rb +16 -30
- data/spec/public/shared/finder_shared_spec.rb +2 -4
- data/spec/public/shared/property_shared_spec.rb +176 -0
- data/spec/semipublic/adapters/abstract_adapter_spec.rb +1 -1
- data/spec/semipublic/adapters/in_memory_adapter_spec.rb +2 -2
- data/spec/semipublic/associations/many_to_many_spec.rb +89 -0
- data/spec/semipublic/associations/many_to_one_spec.rb +24 -1
- data/spec/semipublic/associations/one_to_many_spec.rb +51 -0
- data/spec/semipublic/associations/one_to_one_spec.rb +49 -0
- data/spec/semipublic/associations/relationship_spec.rb +3 -3
- data/spec/semipublic/associations_spec.rb +1 -1
- data/spec/semipublic/property/binary_spec.rb +13 -0
- data/spec/semipublic/property/boolean_spec.rb +65 -0
- data/spec/semipublic/property/class_spec.rb +33 -0
- data/spec/semipublic/property/date_spec.rb +43 -0
- data/spec/semipublic/property/date_time_spec.rb +46 -0
- data/spec/semipublic/property/decimal_spec.rb +82 -0
- data/spec/semipublic/property/discriminator_spec.rb +19 -0
- data/spec/semipublic/property/float_spec.rb +82 -0
- data/spec/semipublic/property/integer_spec.rb +82 -0
- data/spec/semipublic/property/serial_spec.rb +13 -0
- data/spec/semipublic/property/string_spec.rb +13 -0
- data/spec/semipublic/property/text_spec.rb +31 -0
- data/spec/semipublic/property/time_spec.rb +50 -0
- data/spec/semipublic/property_spec.rb +2 -532
- data/spec/semipublic/query/conditions/comparison_spec.rb +171 -169
- data/spec/semipublic/query/conditions/operation_spec.rb +53 -51
- data/spec/semipublic/query/path_spec.rb +17 -17
- data/spec/semipublic/query_spec.rb +47 -78
- data/spec/semipublic/resource/state/clean_spec.rb +88 -0
- data/spec/semipublic/resource/state/deleted_spec.rb +78 -0
- data/spec/semipublic/resource/state/dirty_spec.rb +133 -0
- data/spec/semipublic/resource/state/immutable_spec.rb +99 -0
- data/spec/semipublic/resource/state/transient_spec.rb +128 -0
- data/spec/semipublic/resource/state_spec.rb +226 -0
- data/spec/semipublic/shared/property_shared_spec.rb +143 -0
- data/spec/semipublic/shared/resource_shared_spec.rb +16 -15
- data/spec/semipublic/shared/resource_state_shared_spec.rb +78 -0
- data/spec/semipublic/shared/subject_shared_spec.rb +79 -0
- data/spec/spec_helper.rb +21 -97
- data/spec/support/types/huge_integer.rb +17 -0
- data/spec/unit/array_spec.rb +48 -0
- data/spec/unit/hash_spec.rb +35 -0
- data/spec/unit/hook_spec.rb +1234 -0
- data/spec/unit/lazy_array_spec.rb +1959 -0
- data/spec/unit/module_spec.rb +70 -0
- data/spec/unit/object_spec.rb +37 -0
- data/spec/unit/try_dup_spec.rb +45 -0
- data/tasks/local_gemfile.rake +18 -0
- data/tasks/spec.rake +0 -3
- metadata +197 -71
- data/deps.rip +0 -2
- data/lib/dm-core/adapters/data_objects_adapter.rb +0 -712
- data/lib/dm-core/adapters/mysql_adapter.rb +0 -42
- data/lib/dm-core/adapters/oracle_adapter.rb +0 -229
- data/lib/dm-core/adapters/postgres_adapter.rb +0 -22
- data/lib/dm-core/adapters/sqlite3_adapter.rb +0 -17
- data/lib/dm-core/adapters/sqlserver_adapter.rb +0 -114
- data/lib/dm-core/adapters/yaml_adapter.rb +0 -111
- data/lib/dm-core/core_ext/enumerable.rb +0 -28
- data/lib/dm-core/migrations.rb +0 -1427
- data/lib/dm-core/spec/data_objects_adapter_shared_spec.rb +0 -366
- data/lib/dm-core/transaction.rb +0 -508
- data/lib/dm-core/types/paranoid_boolean.rb +0 -42
- data/lib/dm-core/types/paranoid_datetime.rb +0 -41
- data/spec/lib/adapter_helpers.rb +0 -105
- data/spec/lib/collection_helpers.rb +0 -18
- data/spec/lib/pending_helpers.rb +0 -46
- data/spec/public/migrations_spec.rb +0 -503
- data/spec/public/transaction_spec.rb +0 -153
- data/spec/semipublic/adapters/mysql_adapter_spec.rb +0 -17
- data/spec/semipublic/adapters/oracle_adapter_spec.rb +0 -194
- data/spec/semipublic/adapters/postgres_adapter_spec.rb +0 -17
- data/spec/semipublic/adapters/sqlite3_adapter_spec.rb +0 -17
- data/spec/semipublic/adapters/sqlserver_adapter_spec.rb +0 -17
- data/spec/semipublic/adapters/yaml_adapter_spec.rb +0 -12
@@ -0,0 +1,70 @@
|
|
1
|
+
require 'dm-core/core_ext/module'
|
2
|
+
|
3
|
+
describe Module do
|
4
|
+
|
5
|
+
before(:all) do
|
6
|
+
Object.send(:remove_const, :Foo) if defined?(Foo)
|
7
|
+
Object.send(:remove_const, :Baz) if defined?(Baz)
|
8
|
+
Object.send(:remove_const, :Bar) if defined?(Bar)
|
9
|
+
|
10
|
+
module ::Foo
|
11
|
+
module ModBar
|
12
|
+
module Noo
|
13
|
+
module Too
|
14
|
+
module Boo; end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
class Zed; end
|
20
|
+
end
|
21
|
+
|
22
|
+
class ::Baz; end
|
23
|
+
|
24
|
+
class ::Bar; end
|
25
|
+
end
|
26
|
+
|
27
|
+
it "should raise NameError for a missing constant" do
|
28
|
+
lambda { Foo.find_const('Moo') }.should raise_error(NameError)
|
29
|
+
lambda { Object.find_const('MissingConstant') }.should raise_error(NameError)
|
30
|
+
end
|
31
|
+
|
32
|
+
it "should be able to get a recursive constant" do
|
33
|
+
Object.find_const('Foo::ModBar').should == Foo::ModBar
|
34
|
+
end
|
35
|
+
|
36
|
+
it "should ignore get Constants from the Kernel namespace correctly" do
|
37
|
+
Object.find_const('::Foo::ModBar').should == ::Foo::ModBar
|
38
|
+
end
|
39
|
+
|
40
|
+
it "should find relative constants" do
|
41
|
+
Foo.find_const('ModBar').should == Foo::ModBar
|
42
|
+
Foo.find_const('Baz').should == Baz
|
43
|
+
end
|
44
|
+
|
45
|
+
it "should find sibling constants" do
|
46
|
+
Foo::ModBar.find_const("Zed").should == Foo::Zed
|
47
|
+
end
|
48
|
+
|
49
|
+
it "should find nested constants on nested constants" do
|
50
|
+
Foo::ModBar.find_const('Noo::Too').should == Foo::ModBar::Noo::Too
|
51
|
+
end
|
52
|
+
|
53
|
+
it "should find constants outside of nested constants" do
|
54
|
+
Foo::ModBar::Noo::Too.find_const("Zed").should == Foo::Zed
|
55
|
+
end
|
56
|
+
|
57
|
+
it 'should be able to find past the second nested level' do
|
58
|
+
Foo::ModBar::Noo.find_const('Too').should == Foo::ModBar::Noo::Too
|
59
|
+
Foo::ModBar::Noo::Too.find_const('Boo').should == Foo::ModBar::Noo::Too::Boo
|
60
|
+
end
|
61
|
+
|
62
|
+
|
63
|
+
it "should be able to deal with constants being added and removed" do
|
64
|
+
Object.find_const('Bar') # First we load Bar with find_const
|
65
|
+
Object.module_eval { remove_const('Bar') } # Now we delete it
|
66
|
+
module ::Bar; end; # Now we redefine it
|
67
|
+
Object.find_const('Bar').should == Bar
|
68
|
+
end
|
69
|
+
|
70
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
require 'dm-core/core_ext/object'
|
2
|
+
|
3
|
+
describe Object do
|
4
|
+
before :all do
|
5
|
+
Object.send(:remove_const, :HactiveSupport) if defined?(HactiveSupport)
|
6
|
+
module ::HactiveSupport
|
7
|
+
class MemoizeConsideredUseless; end
|
8
|
+
end
|
9
|
+
|
10
|
+
Object.send(:remove_const, :Foo) if defined?(Foo)
|
11
|
+
module ::Foo
|
12
|
+
class Bar; end
|
13
|
+
end
|
14
|
+
|
15
|
+
Object.send(:remove_const, :Oi) if defined?(Oi)
|
16
|
+
class ::Oi
|
17
|
+
attr_accessor :foo
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
describe "#full_const_get" do
|
22
|
+
it 'returns constant by FQ name in receiver namespace' do
|
23
|
+
Object.full_const_get("Oi").should == Oi
|
24
|
+
Object.full_const_get("Foo::Bar").should == Foo::Bar
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
describe "#full_const_set" do
|
29
|
+
it 'sets constant value by FQ name in receiver namespace' do
|
30
|
+
Object.full_const_set("HactiveSupport::MCU", HactiveSupport::MemoizeConsideredUseless)
|
31
|
+
|
32
|
+
Object.full_const_get("HactiveSupport::MCU").should == HactiveSupport::MemoizeConsideredUseless
|
33
|
+
HactiveSupport.full_const_get("MCU").should == HactiveSupport::MemoizeConsideredUseless
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
require 'dm-core/core_ext/try_dup'
|
2
|
+
|
3
|
+
describe "try_dup" do
|
4
|
+
it "returns a duplicate version on regular objects" do
|
5
|
+
obj = Object.new
|
6
|
+
oth = obj.try_dup
|
7
|
+
obj.should_not === oth
|
8
|
+
end
|
9
|
+
|
10
|
+
it "returns self on Numerics" do
|
11
|
+
obj = 12
|
12
|
+
oth = obj.try_dup
|
13
|
+
obj.should === oth
|
14
|
+
end
|
15
|
+
|
16
|
+
it "returns self on Symbols" do
|
17
|
+
obj = :test
|
18
|
+
oth = obj.try_dup
|
19
|
+
obj.should === oth
|
20
|
+
end
|
21
|
+
|
22
|
+
it "returns self on true" do
|
23
|
+
obj = true
|
24
|
+
oth = obj.try_dup
|
25
|
+
obj.should === oth
|
26
|
+
end
|
27
|
+
|
28
|
+
it "returns self on false" do
|
29
|
+
obj = false
|
30
|
+
oth = obj.try_dup
|
31
|
+
obj.should === oth
|
32
|
+
end
|
33
|
+
|
34
|
+
it "returns self on nil" do
|
35
|
+
obj = nil
|
36
|
+
oth = obj.try_dup
|
37
|
+
obj.should === oth
|
38
|
+
end
|
39
|
+
|
40
|
+
it "returns self on modules" do
|
41
|
+
obj = Module.new
|
42
|
+
oth = obj.try_dup
|
43
|
+
obj.object_id.should == oth.object_id
|
44
|
+
end
|
45
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
desc "Support bundling from local source code (allows BUNDLE_GEMFILE=Gemfile.local bundle foo)"
|
2
|
+
task :local_gemfile do |t|
|
3
|
+
|
4
|
+
root = Pathname(__FILE__).dirname.parent
|
5
|
+
datamapper = root.parent
|
6
|
+
|
7
|
+
source_regex = /DATAMAPPER = 'git:\/\/github.com\/datamapper'/
|
8
|
+
gem_source_regex = /:git => \"#\{DATAMAPPER\}\/(.+?)(?:\.git)?\"/
|
9
|
+
|
10
|
+
root.join('Gemfile.local').open('w') do |f|
|
11
|
+
root.join('Gemfile').open.each do |line|
|
12
|
+
line.sub!(source_regex, "DATAMAPPER = '#{datamapper}'")
|
13
|
+
line.sub!(gem_source_regex, ':path => "#{DATAMAPPER}/\1"')
|
14
|
+
f.puts line
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
data/tasks/spec.rake
CHANGED
metadata
CHANGED
@@ -1,7 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dm-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
prerelease: true
|
5
|
+
segments:
|
6
|
+
- 1
|
7
|
+
- 0
|
8
|
+
- 0
|
9
|
+
- rc1
|
10
|
+
version: 1.0.0.rc1
|
5
11
|
platform: ruby
|
6
12
|
authors:
|
7
13
|
- Dan Kubb
|
@@ -9,49 +15,62 @@ autorequire:
|
|
9
15
|
bindir: bin
|
10
16
|
cert_chain: []
|
11
17
|
|
12
|
-
date:
|
18
|
+
date: 2010-05-19 00:00:00 -07:00
|
13
19
|
default_executable:
|
14
20
|
dependencies:
|
15
21
|
- !ruby/object:Gem::Dependency
|
16
22
|
name: extlib
|
17
|
-
|
18
|
-
|
19
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
prerelease: false
|
24
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
20
25
|
requirements:
|
21
26
|
- - ~>
|
22
27
|
- !ruby/object:Gem::Version
|
28
|
+
segments:
|
29
|
+
- 0
|
30
|
+
- 9
|
31
|
+
- 14
|
23
32
|
version: 0.9.14
|
24
|
-
|
33
|
+
type: :runtime
|
34
|
+
version_requirements: *id001
|
25
35
|
- !ruby/object:Gem::Dependency
|
26
36
|
name: addressable
|
27
|
-
|
28
|
-
|
29
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
prerelease: false
|
38
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
30
39
|
requirements:
|
31
40
|
- - ~>
|
32
41
|
- !ruby/object:Gem::Version
|
42
|
+
segments:
|
43
|
+
- 2
|
44
|
+
- 1
|
33
45
|
version: "2.1"
|
34
|
-
|
46
|
+
type: :runtime
|
47
|
+
version_requirements: *id002
|
35
48
|
- !ruby/object:Gem::Dependency
|
36
49
|
name: rspec
|
37
|
-
|
38
|
-
|
39
|
-
version_requirements: !ruby/object:Gem::Requirement
|
50
|
+
prerelease: false
|
51
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
40
52
|
requirements:
|
41
53
|
- - ~>
|
42
54
|
- !ruby/object:Gem::Version
|
43
|
-
|
44
|
-
|
45
|
-
-
|
46
|
-
|
55
|
+
segments:
|
56
|
+
- 1
|
57
|
+
- 3
|
58
|
+
version: "1.3"
|
47
59
|
type: :development
|
48
|
-
|
49
|
-
|
60
|
+
version_requirements: *id003
|
61
|
+
- !ruby/object:Gem::Dependency
|
62
|
+
name: jeweler
|
63
|
+
prerelease: false
|
64
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
50
65
|
requirements:
|
51
66
|
- - ~>
|
52
67
|
- !ruby/object:Gem::Version
|
53
|
-
|
54
|
-
|
68
|
+
segments:
|
69
|
+
- 1
|
70
|
+
- 4
|
71
|
+
version: "1.4"
|
72
|
+
type: :development
|
73
|
+
version_requirements: *id004
|
55
74
|
description: Faster, Better, Simpler.
|
56
75
|
email: dan.kubb@gmail.com
|
57
76
|
executables: []
|
@@ -65,34 +84,32 @@ files:
|
|
65
84
|
- .autotest
|
66
85
|
- .document
|
67
86
|
- .gitignore
|
87
|
+
- Gemfile
|
68
88
|
- LICENSE
|
69
89
|
- README.rdoc
|
70
90
|
- Rakefile
|
71
91
|
- VERSION
|
72
|
-
- deps.rip
|
73
92
|
- dm-core.gemspec
|
74
93
|
- lib/dm-core.rb
|
75
94
|
- lib/dm-core/adapters.rb
|
76
95
|
- lib/dm-core/adapters/abstract_adapter.rb
|
77
|
-
- lib/dm-core/adapters/data_objects_adapter.rb
|
78
96
|
- lib/dm-core/adapters/in_memory_adapter.rb
|
79
|
-
- lib/dm-core/adapters/mysql_adapter.rb
|
80
|
-
- lib/dm-core/adapters/oracle_adapter.rb
|
81
|
-
- lib/dm-core/adapters/postgres_adapter.rb
|
82
|
-
- lib/dm-core/adapters/sqlite3_adapter.rb
|
83
|
-
- lib/dm-core/adapters/sqlserver_adapter.rb
|
84
|
-
- lib/dm-core/adapters/yaml_adapter.rb
|
85
97
|
- lib/dm-core/associations/many_to_many.rb
|
86
98
|
- lib/dm-core/associations/many_to_one.rb
|
87
99
|
- lib/dm-core/associations/one_to_many.rb
|
88
100
|
- lib/dm-core/associations/one_to_one.rb
|
89
101
|
- lib/dm-core/associations/relationship.rb
|
90
102
|
- lib/dm-core/collection.rb
|
91
|
-
- lib/dm-core/core_ext/
|
103
|
+
- lib/dm-core/core_ext/array.rb
|
104
|
+
- lib/dm-core/core_ext/hash.rb
|
92
105
|
- lib/dm-core/core_ext/kernel.rb
|
106
|
+
- lib/dm-core/core_ext/module.rb
|
107
|
+
- lib/dm-core/core_ext/object.rb
|
108
|
+
- lib/dm-core/core_ext/pathname.rb
|
109
|
+
- lib/dm-core/core_ext/string.rb
|
93
110
|
- lib/dm-core/core_ext/symbol.rb
|
111
|
+
- lib/dm-core/core_ext/try_dup.rb
|
94
112
|
- lib/dm-core/identity_map.rb
|
95
|
-
- lib/dm-core/migrations.rb
|
96
113
|
- lib/dm-core/model.rb
|
97
114
|
- lib/dm-core/model/descendant_set.rb
|
98
115
|
- lib/dm-core/model/hook.rb
|
@@ -101,6 +118,23 @@ files:
|
|
101
118
|
- lib/dm-core/model/relationship.rb
|
102
119
|
- lib/dm-core/model/scope.rb
|
103
120
|
- lib/dm-core/property.rb
|
121
|
+
- lib/dm-core/property/binary.rb
|
122
|
+
- lib/dm-core/property/boolean.rb
|
123
|
+
- lib/dm-core/property/class.rb
|
124
|
+
- lib/dm-core/property/date.rb
|
125
|
+
- lib/dm-core/property/date_time.rb
|
126
|
+
- lib/dm-core/property/decimal.rb
|
127
|
+
- lib/dm-core/property/discriminator.rb
|
128
|
+
- lib/dm-core/property/float.rb
|
129
|
+
- lib/dm-core/property/integer.rb
|
130
|
+
- lib/dm-core/property/numeric.rb
|
131
|
+
- lib/dm-core/property/object.rb
|
132
|
+
- lib/dm-core/property/serial.rb
|
133
|
+
- lib/dm-core/property/string.rb
|
134
|
+
- lib/dm-core/property/text.rb
|
135
|
+
- lib/dm-core/property/time.rb
|
136
|
+
- lib/dm-core/property/typecast/numeric.rb
|
137
|
+
- lib/dm-core/property/typecast/time.rb
|
104
138
|
- lib/dm-core/property_set.rb
|
105
139
|
- lib/dm-core/query.rb
|
106
140
|
- lib/dm-core/query/conditions/comparison.rb
|
@@ -111,30 +145,44 @@ files:
|
|
111
145
|
- lib/dm-core/query/sort.rb
|
112
146
|
- lib/dm-core/repository.rb
|
113
147
|
- lib/dm-core/resource.rb
|
114
|
-
- lib/dm-core/
|
115
|
-
- lib/dm-core/
|
148
|
+
- lib/dm-core/resource/state.rb
|
149
|
+
- lib/dm-core/resource/state/clean.rb
|
150
|
+
- lib/dm-core/resource/state/deleted.rb
|
151
|
+
- lib/dm-core/resource/state/dirty.rb
|
152
|
+
- lib/dm-core/resource/state/immutable.rb
|
153
|
+
- lib/dm-core/resource/state/persisted.rb
|
154
|
+
- lib/dm-core/resource/state/transient.rb
|
155
|
+
- lib/dm-core/spec/lib/adapter_helpers.rb
|
156
|
+
- lib/dm-core/spec/lib/collection_helpers.rb
|
157
|
+
- lib/dm-core/spec/lib/counter_adapter.rb
|
158
|
+
- lib/dm-core/spec/lib/pending_helpers.rb
|
159
|
+
- lib/dm-core/spec/lib/spec_helper.rb
|
160
|
+
- lib/dm-core/spec/setup.rb
|
161
|
+
- lib/dm-core/spec/shared/adapter_spec.rb
|
162
|
+
- lib/dm-core/spec/shared/resource_spec.rb
|
163
|
+
- lib/dm-core/spec/shared/sel_spec.rb
|
164
|
+
- lib/dm-core/support/assertions.rb
|
116
165
|
- lib/dm-core/support/chainable.rb
|
117
166
|
- lib/dm-core/support/deprecate.rb
|
118
167
|
- lib/dm-core/support/equalizer.rb
|
168
|
+
- lib/dm-core/support/hook.rb
|
169
|
+
- lib/dm-core/support/lazy_array.rb
|
170
|
+
- lib/dm-core/support/local_object_space.rb
|
119
171
|
- lib/dm-core/support/logger.rb
|
120
172
|
- lib/dm-core/support/naming_conventions.rb
|
121
|
-
- lib/dm-core/
|
173
|
+
- lib/dm-core/support/subject.rb
|
122
174
|
- lib/dm-core/type.rb
|
123
175
|
- lib/dm-core/types/boolean.rb
|
176
|
+
- lib/dm-core/types/decimal.rb
|
124
177
|
- lib/dm-core/types/discriminator.rb
|
125
178
|
- lib/dm-core/types/object.rb
|
126
|
-
- lib/dm-core/types/paranoid_boolean.rb
|
127
|
-
- lib/dm-core/types/paranoid_datetime.rb
|
128
179
|
- lib/dm-core/types/serial.rb
|
129
180
|
- lib/dm-core/types/text.rb
|
130
181
|
- lib/dm-core/version.rb
|
131
182
|
- script/performance.rb
|
132
183
|
- script/profile.rb
|
133
|
-
- spec/lib/adapter_helpers.rb
|
134
|
-
- spec/lib/collection_helpers.rb
|
135
|
-
- spec/lib/counter_adapter.rb
|
136
|
-
- spec/lib/pending_helpers.rb
|
137
184
|
- spec/lib/rspec_immediate_feedback_formatter.rb
|
185
|
+
- spec/public/associations/many_to_many/read_multiple_join_spec.rb
|
138
186
|
- spec/public/associations/many_to_many_spec.rb
|
139
187
|
- spec/public/associations/many_to_one_spec.rb
|
140
188
|
- spec/public/associations/many_to_one_with_boolean_cpk_spec.rb
|
@@ -142,10 +190,24 @@ files:
|
|
142
190
|
- spec/public/associations/one_to_one_spec.rb
|
143
191
|
- spec/public/associations/one_to_one_with_boolean_cpk_spec.rb
|
144
192
|
- spec/public/collection_spec.rb
|
145
|
-
- spec/public/
|
193
|
+
- spec/public/model/hook_spec.rb
|
194
|
+
- spec/public/model/property_spec.rb
|
146
195
|
- spec/public/model/relationship_spec.rb
|
147
196
|
- spec/public/model_spec.rb
|
197
|
+
- spec/public/property/binary_spec.rb
|
198
|
+
- spec/public/property/boolean_spec.rb
|
199
|
+
- spec/public/property/class_spec.rb
|
200
|
+
- spec/public/property/date_spec.rb
|
201
|
+
- spec/public/property/date_time_spec.rb
|
202
|
+
- spec/public/property/decimal_spec.rb
|
203
|
+
- spec/public/property/discriminator_spec.rb
|
204
|
+
- spec/public/property/float_spec.rb
|
205
|
+
- spec/public/property/integer_spec.rb
|
148
206
|
- spec/public/property/object_spec.rb
|
207
|
+
- spec/public/property/serial_spec.rb
|
208
|
+
- spec/public/property/string_spec.rb
|
209
|
+
- spec/public/property/text_spec.rb
|
210
|
+
- spec/public/property/time_spec.rb
|
149
211
|
- spec/public/property_spec.rb
|
150
212
|
- spec/public/resource_spec.rb
|
151
213
|
- spec/public/sel_spec.rb
|
@@ -154,35 +216,60 @@ files:
|
|
154
216
|
- spec/public/shared/collection_finder_shared_spec.rb
|
155
217
|
- spec/public/shared/collection_shared_spec.rb
|
156
218
|
- spec/public/shared/finder_shared_spec.rb
|
157
|
-
- spec/public/shared/
|
158
|
-
- spec/public/shared/sel_shared_spec.rb
|
159
|
-
- spec/public/transaction_spec.rb
|
160
|
-
- spec/public/types/discriminator_spec.rb
|
219
|
+
- spec/public/shared/property_shared_spec.rb
|
161
220
|
- spec/rcov.opts
|
162
221
|
- spec/semipublic/adapters/abstract_adapter_spec.rb
|
163
222
|
- spec/semipublic/adapters/in_memory_adapter_spec.rb
|
164
|
-
- spec/semipublic/
|
165
|
-
- spec/semipublic/adapters/oracle_adapter_spec.rb
|
166
|
-
- spec/semipublic/adapters/postgres_adapter_spec.rb
|
167
|
-
- spec/semipublic/adapters/sqlite3_adapter_spec.rb
|
168
|
-
- spec/semipublic/adapters/sqlserver_adapter_spec.rb
|
169
|
-
- spec/semipublic/adapters/yaml_adapter_spec.rb
|
223
|
+
- spec/semipublic/associations/many_to_many_spec.rb
|
170
224
|
- spec/semipublic/associations/many_to_one_spec.rb
|
225
|
+
- spec/semipublic/associations/one_to_many_spec.rb
|
226
|
+
- spec/semipublic/associations/one_to_one_spec.rb
|
171
227
|
- spec/semipublic/associations/relationship_spec.rb
|
172
228
|
- spec/semipublic/associations_spec.rb
|
173
229
|
- spec/semipublic/collection_spec.rb
|
174
230
|
- spec/semipublic/model_spec.rb
|
231
|
+
- spec/semipublic/property/binary_spec.rb
|
232
|
+
- spec/semipublic/property/boolean_spec.rb
|
233
|
+
- spec/semipublic/property/class_spec.rb
|
234
|
+
- spec/semipublic/property/date_spec.rb
|
235
|
+
- spec/semipublic/property/date_time_spec.rb
|
236
|
+
- spec/semipublic/property/decimal_spec.rb
|
237
|
+
- spec/semipublic/property/discriminator_spec.rb
|
238
|
+
- spec/semipublic/property/float_spec.rb
|
239
|
+
- spec/semipublic/property/integer_spec.rb
|
240
|
+
- spec/semipublic/property/serial_spec.rb
|
241
|
+
- spec/semipublic/property/string_spec.rb
|
242
|
+
- spec/semipublic/property/text_spec.rb
|
243
|
+
- spec/semipublic/property/time_spec.rb
|
175
244
|
- spec/semipublic/property_spec.rb
|
176
245
|
- spec/semipublic/query/conditions/comparison_spec.rb
|
177
246
|
- spec/semipublic/query/conditions/operation_spec.rb
|
178
247
|
- spec/semipublic/query/path_spec.rb
|
179
248
|
- spec/semipublic/query_spec.rb
|
249
|
+
- spec/semipublic/resource/state/clean_spec.rb
|
250
|
+
- spec/semipublic/resource/state/deleted_spec.rb
|
251
|
+
- spec/semipublic/resource/state/dirty_spec.rb
|
252
|
+
- spec/semipublic/resource/state/immutable_spec.rb
|
253
|
+
- spec/semipublic/resource/state/transient_spec.rb
|
254
|
+
- spec/semipublic/resource/state_spec.rb
|
180
255
|
- spec/semipublic/resource_spec.rb
|
181
256
|
- spec/semipublic/shared/condition_shared_spec.rb
|
257
|
+
- spec/semipublic/shared/property_shared_spec.rb
|
182
258
|
- spec/semipublic/shared/resource_shared_spec.rb
|
259
|
+
- spec/semipublic/shared/resource_state_shared_spec.rb
|
260
|
+
- spec/semipublic/shared/subject_shared_spec.rb
|
183
261
|
- spec/spec.opts
|
184
262
|
- spec/spec_helper.rb
|
263
|
+
- spec/support/types/huge_integer.rb
|
264
|
+
- spec/unit/array_spec.rb
|
265
|
+
- spec/unit/hash_spec.rb
|
266
|
+
- spec/unit/hook_spec.rb
|
267
|
+
- spec/unit/lazy_array_spec.rb
|
268
|
+
- spec/unit/module_spec.rb
|
269
|
+
- spec/unit/object_spec.rb
|
270
|
+
- spec/unit/try_dup_spec.rb
|
185
271
|
- tasks/ci.rake
|
272
|
+
- tasks/local_gemfile.rake
|
186
273
|
- tasks/metrics.rake
|
187
274
|
- tasks/spec.rake
|
188
275
|
- tasks/yard.rake
|
@@ -200,27 +287,28 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
200
287
|
requirements:
|
201
288
|
- - ">="
|
202
289
|
- !ruby/object:Gem::Version
|
290
|
+
segments:
|
291
|
+
- 0
|
203
292
|
version: "0"
|
204
|
-
version:
|
205
293
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
206
294
|
requirements:
|
207
|
-
- - "
|
295
|
+
- - ">"
|
208
296
|
- !ruby/object:Gem::Version
|
209
|
-
|
210
|
-
|
297
|
+
segments:
|
298
|
+
- 1
|
299
|
+
- 3
|
300
|
+
- 1
|
301
|
+
version: 1.3.1
|
211
302
|
requirements: []
|
212
303
|
|
213
304
|
rubyforge_project: datamapper
|
214
|
-
rubygems_version: 1.3.
|
305
|
+
rubygems_version: 1.3.6
|
215
306
|
signing_key:
|
216
307
|
specification_version: 3
|
217
308
|
summary: An Object/Relational Mapper for Ruby
|
218
309
|
test_files:
|
219
|
-
- spec/lib/adapter_helpers.rb
|
220
|
-
- spec/lib/collection_helpers.rb
|
221
|
-
- spec/lib/counter_adapter.rb
|
222
|
-
- spec/lib/pending_helpers.rb
|
223
310
|
- spec/lib/rspec_immediate_feedback_formatter.rb
|
311
|
+
- spec/public/associations/many_to_many/read_multiple_join_spec.rb
|
224
312
|
- spec/public/associations/many_to_many_spec.rb
|
225
313
|
- spec/public/associations/many_to_one_spec.rb
|
226
314
|
- spec/public/associations/many_to_one_with_boolean_cpk_spec.rb
|
@@ -228,10 +316,24 @@ test_files:
|
|
228
316
|
- spec/public/associations/one_to_one_spec.rb
|
229
317
|
- spec/public/associations/one_to_one_with_boolean_cpk_spec.rb
|
230
318
|
- spec/public/collection_spec.rb
|
231
|
-
- spec/public/
|
319
|
+
- spec/public/model/hook_spec.rb
|
320
|
+
- spec/public/model/property_spec.rb
|
232
321
|
- spec/public/model/relationship_spec.rb
|
233
322
|
- spec/public/model_spec.rb
|
323
|
+
- spec/public/property/binary_spec.rb
|
324
|
+
- spec/public/property/boolean_spec.rb
|
325
|
+
- spec/public/property/class_spec.rb
|
326
|
+
- spec/public/property/date_spec.rb
|
327
|
+
- spec/public/property/date_time_spec.rb
|
328
|
+
- spec/public/property/decimal_spec.rb
|
329
|
+
- spec/public/property/discriminator_spec.rb
|
330
|
+
- spec/public/property/float_spec.rb
|
331
|
+
- spec/public/property/integer_spec.rb
|
234
332
|
- spec/public/property/object_spec.rb
|
333
|
+
- spec/public/property/serial_spec.rb
|
334
|
+
- spec/public/property/string_spec.rb
|
335
|
+
- spec/public/property/text_spec.rb
|
336
|
+
- spec/public/property/time_spec.rb
|
235
337
|
- spec/public/property_spec.rb
|
236
338
|
- spec/public/resource_spec.rb
|
237
339
|
- spec/public/sel_spec.rb
|
@@ -240,29 +342,53 @@ test_files:
|
|
240
342
|
- spec/public/shared/collection_finder_shared_spec.rb
|
241
343
|
- spec/public/shared/collection_shared_spec.rb
|
242
344
|
- spec/public/shared/finder_shared_spec.rb
|
243
|
-
- spec/public/shared/
|
244
|
-
- spec/public/shared/sel_shared_spec.rb
|
245
|
-
- spec/public/transaction_spec.rb
|
246
|
-
- spec/public/types/discriminator_spec.rb
|
345
|
+
- spec/public/shared/property_shared_spec.rb
|
247
346
|
- spec/semipublic/adapters/abstract_adapter_spec.rb
|
248
347
|
- spec/semipublic/adapters/in_memory_adapter_spec.rb
|
249
|
-
- spec/semipublic/
|
250
|
-
- spec/semipublic/adapters/oracle_adapter_spec.rb
|
251
|
-
- spec/semipublic/adapters/postgres_adapter_spec.rb
|
252
|
-
- spec/semipublic/adapters/sqlite3_adapter_spec.rb
|
253
|
-
- spec/semipublic/adapters/sqlserver_adapter_spec.rb
|
254
|
-
- spec/semipublic/adapters/yaml_adapter_spec.rb
|
348
|
+
- spec/semipublic/associations/many_to_many_spec.rb
|
255
349
|
- spec/semipublic/associations/many_to_one_spec.rb
|
350
|
+
- spec/semipublic/associations/one_to_many_spec.rb
|
351
|
+
- spec/semipublic/associations/one_to_one_spec.rb
|
256
352
|
- spec/semipublic/associations/relationship_spec.rb
|
257
353
|
- spec/semipublic/associations_spec.rb
|
258
354
|
- spec/semipublic/collection_spec.rb
|
259
355
|
- spec/semipublic/model_spec.rb
|
356
|
+
- spec/semipublic/property/binary_spec.rb
|
357
|
+
- spec/semipublic/property/boolean_spec.rb
|
358
|
+
- spec/semipublic/property/class_spec.rb
|
359
|
+
- spec/semipublic/property/date_spec.rb
|
360
|
+
- spec/semipublic/property/date_time_spec.rb
|
361
|
+
- spec/semipublic/property/decimal_spec.rb
|
362
|
+
- spec/semipublic/property/discriminator_spec.rb
|
363
|
+
- spec/semipublic/property/float_spec.rb
|
364
|
+
- spec/semipublic/property/integer_spec.rb
|
365
|
+
- spec/semipublic/property/serial_spec.rb
|
366
|
+
- spec/semipublic/property/string_spec.rb
|
367
|
+
- spec/semipublic/property/text_spec.rb
|
368
|
+
- spec/semipublic/property/time_spec.rb
|
260
369
|
- spec/semipublic/property_spec.rb
|
261
370
|
- spec/semipublic/query/conditions/comparison_spec.rb
|
262
371
|
- spec/semipublic/query/conditions/operation_spec.rb
|
263
372
|
- spec/semipublic/query/path_spec.rb
|
264
373
|
- spec/semipublic/query_spec.rb
|
374
|
+
- spec/semipublic/resource/state/clean_spec.rb
|
375
|
+
- spec/semipublic/resource/state/deleted_spec.rb
|
376
|
+
- spec/semipublic/resource/state/dirty_spec.rb
|
377
|
+
- spec/semipublic/resource/state/immutable_spec.rb
|
378
|
+
- spec/semipublic/resource/state/transient_spec.rb
|
379
|
+
- spec/semipublic/resource/state_spec.rb
|
265
380
|
- spec/semipublic/resource_spec.rb
|
266
381
|
- spec/semipublic/shared/condition_shared_spec.rb
|
382
|
+
- spec/semipublic/shared/property_shared_spec.rb
|
267
383
|
- spec/semipublic/shared/resource_shared_spec.rb
|
384
|
+
- spec/semipublic/shared/resource_state_shared_spec.rb
|
385
|
+
- spec/semipublic/shared/subject_shared_spec.rb
|
268
386
|
- spec/spec_helper.rb
|
387
|
+
- spec/support/types/huge_integer.rb
|
388
|
+
- spec/unit/array_spec.rb
|
389
|
+
- spec/unit/hash_spec.rb
|
390
|
+
- spec/unit/hook_spec.rb
|
391
|
+
- spec/unit/lazy_array_spec.rb
|
392
|
+
- spec/unit/module_spec.rb
|
393
|
+
- spec/unit/object_spec.rb
|
394
|
+
- spec/unit/try_dup_spec.rb
|