datamapper 0.1.1 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (131) hide show
  1. data/CHANGELOG +65 -0
  2. data/README +193 -1
  3. data/do_performance.rb +153 -0
  4. data/environment.rb +45 -0
  5. data/example.rb +119 -22
  6. data/lib/data_mapper.rb +36 -16
  7. data/lib/data_mapper/adapters/abstract_adapter.rb +8 -0
  8. data/lib/data_mapper/adapters/data_object_adapter.rb +360 -0
  9. data/lib/data_mapper/adapters/mysql_adapter.rb +30 -179
  10. data/lib/data_mapper/adapters/postgresql_adapter.rb +90 -199
  11. data/lib/data_mapper/adapters/sql/coersion.rb +32 -3
  12. data/lib/data_mapper/adapters/sql/commands/conditions.rb +97 -128
  13. data/lib/data_mapper/adapters/sql/commands/load_command.rb +234 -231
  14. data/lib/data_mapper/adapters/sql/commands/loader.rb +99 -0
  15. data/lib/data_mapper/adapters/sql/mappings/associations_set.rb +30 -0
  16. data/lib/data_mapper/adapters/sql/mappings/column.rb +68 -6
  17. data/lib/data_mapper/adapters/sql/mappings/schema.rb +6 -3
  18. data/lib/data_mapper/adapters/sql/mappings/table.rb +71 -42
  19. data/lib/data_mapper/adapters/sql/quoting.rb +8 -2
  20. data/lib/data_mapper/adapters/sqlite3_adapter.rb +32 -201
  21. data/lib/data_mapper/associations.rb +21 -7
  22. data/lib/data_mapper/associations/belongs_to_association.rb +96 -80
  23. data/lib/data_mapper/associations/has_and_belongs_to_many_association.rb +158 -67
  24. data/lib/data_mapper/associations/has_many_association.rb +96 -78
  25. data/lib/data_mapper/associations/has_n_association.rb +64 -0
  26. data/lib/data_mapper/associations/has_one_association.rb +49 -79
  27. data/lib/data_mapper/associations/reference.rb +47 -0
  28. data/lib/data_mapper/base.rb +216 -50
  29. data/lib/data_mapper/callbacks.rb +71 -24
  30. data/lib/data_mapper/{session.rb → context.rb} +20 -8
  31. data/lib/data_mapper/database.rb +176 -45
  32. data/lib/data_mapper/embedded_value.rb +65 -0
  33. data/lib/data_mapper/identity_map.rb +12 -4
  34. data/lib/data_mapper/support/active_record_impersonation.rb +12 -8
  35. data/lib/data_mapper/support/enumerable.rb +8 -0
  36. data/lib/data_mapper/support/serialization.rb +13 -0
  37. data/lib/data_mapper/support/string.rb +1 -12
  38. data/lib/data_mapper/support/symbol.rb +3 -0
  39. data/lib/data_mapper/validations/unique_validator.rb +1 -2
  40. data/lib/data_mapper/validations/validation_helper.rb +18 -1
  41. data/performance.rb +109 -34
  42. data/plugins/can_has_sphinx/LICENSE +23 -0
  43. data/plugins/can_has_sphinx/README +4 -0
  44. data/plugins/can_has_sphinx/REVISION +1 -0
  45. data/plugins/can_has_sphinx/Rakefile +22 -0
  46. data/plugins/can_has_sphinx/init.rb +1 -0
  47. data/plugins/can_has_sphinx/install.rb +1 -0
  48. data/plugins/can_has_sphinx/lib/acts_as_sphinx.rb +123 -0
  49. data/plugins/can_has_sphinx/lib/sphinx.rb +460 -0
  50. data/plugins/can_has_sphinx/scripts/sphinx.sh +47 -0
  51. data/plugins/can_has_sphinx/tasks/acts_as_sphinx_tasks.rake +41 -0
  52. data/plugins/dataobjects/REVISION +1 -0
  53. data/plugins/dataobjects/Rakefile +7 -0
  54. data/plugins/dataobjects/do.rb +246 -0
  55. data/plugins/dataobjects/do_mysql.rb +179 -0
  56. data/plugins/dataobjects/do_postgres.rb +181 -0
  57. data/plugins/dataobjects/do_sqlite3.rb +153 -0
  58. data/plugins/dataobjects/spec/do_spec.rb +150 -0
  59. data/plugins/dataobjects/spec/spec_helper.rb +81 -0
  60. data/plugins/dataobjects/swig_mysql/do_mysql.bundle +0 -0
  61. data/plugins/dataobjects/swig_mysql/extconf.rb +33 -0
  62. data/plugins/dataobjects/swig_mysql/mysql_c.c +18800 -0
  63. data/plugins/dataobjects/swig_mysql/mysql_c.i +8 -0
  64. data/plugins/dataobjects/swig_mysql/mysql_supp.i +46 -0
  65. data/plugins/dataobjects/swig_postgres/Makefile +146 -0
  66. data/plugins/dataobjects/swig_postgres/extconf.rb +29 -0
  67. data/plugins/dataobjects/swig_postgres/postgres_c.bundle +0 -0
  68. data/plugins/dataobjects/swig_postgres/postgres_c.c +8185 -0
  69. data/plugins/dataobjects/swig_postgres/postgres_c.i +73 -0
  70. data/plugins/dataobjects/swig_sqlite/db +0 -0
  71. data/plugins/dataobjects/swig_sqlite/extconf.rb +9 -0
  72. data/plugins/dataobjects/swig_sqlite/sqlite3_c.c +4725 -0
  73. data/plugins/dataobjects/swig_sqlite/sqlite_c.i +168 -0
  74. data/rakefile.rb +45 -23
  75. data/spec/acts_as_tree_spec.rb +39 -0
  76. data/spec/associations_spec.rb +220 -0
  77. data/spec/attributes_spec.rb +15 -0
  78. data/spec/base_spec.rb +44 -0
  79. data/spec/callbacks_spec.rb +45 -0
  80. data/spec/can_has_sphinx.rb +6 -0
  81. data/spec/coersion_spec.rb +34 -0
  82. data/spec/conditions_spec.rb +49 -0
  83. data/spec/conversions_to_yaml_spec.rb +17 -0
  84. data/spec/count_command_spec.rb +11 -0
  85. data/spec/delete_command_spec.rb +1 -1
  86. data/spec/embedded_value_spec.rb +23 -0
  87. data/spec/fixtures/animals_exhibits.yaml +2 -0
  88. data/spec/fixtures/people.yaml +18 -1
  89. data/spec/{legacy.rb → legacy_spec.rb} +3 -3
  90. data/spec/load_command_spec.rb +157 -20
  91. data/spec/magic_columns_spec.rb +9 -0
  92. data/spec/mock_adapter.rb +20 -0
  93. data/spec/models/animal.rb +1 -1
  94. data/spec/models/animals_exhibit.rb +6 -0
  95. data/spec/models/exhibit.rb +2 -0
  96. data/spec/models/person.rb +26 -1
  97. data/spec/models/project.rb +19 -0
  98. data/spec/models/sales_person.rb +1 -0
  99. data/spec/models/section.rb +6 -0
  100. data/spec/models/zoo.rb +3 -1
  101. data/spec/query_spec.rb +9 -0
  102. data/spec/save_command_spec.rb +65 -1
  103. data/spec/schema_spec.rb +89 -0
  104. data/spec/single_table_inheritance_spec.rb +27 -0
  105. data/spec/spec_helper.rb +9 -55
  106. data/spec/{symbolic_operators.rb → symbolic_operators_spec.rb} +9 -5
  107. data/spec/{validates_confirmation_of.rb → validates_confirmation_of_spec.rb} +4 -3
  108. data/spec/{validates_format_of.rb → validates_format_of_spec.rb} +5 -4
  109. data/spec/{validates_length_of.rb → validates_length_of_spec.rb} +8 -7
  110. data/spec/{validates_uniqueness_of.rb → validates_uniqueness_of_spec.rb} +7 -10
  111. data/spec/{validations.rb → validations_spec.rb} +24 -6
  112. data/tasks/drivers.rb +20 -0
  113. data/tasks/fixtures.rb +42 -0
  114. metadata +181 -42
  115. data/lib/data_mapper/adapters/sql/commands/advanced_load_command.rb +0 -140
  116. data/lib/data_mapper/adapters/sql/commands/delete_command.rb +0 -113
  117. data/lib/data_mapper/adapters/sql/commands/save_command.rb +0 -141
  118. data/lib/data_mapper/adapters/sql/commands/table_exists_command.rb +0 -33
  119. data/lib/data_mapper/adapters/sql_adapter.rb +0 -163
  120. data/lib/data_mapper/associations/advanced_has_many_association.rb +0 -55
  121. data/lib/data_mapper/support/blank_slate.rb +0 -3
  122. data/lib/data_mapper/support/proc.rb +0 -69
  123. data/lib/data_mapper/support/struct.rb +0 -26
  124. data/lib/data_mapper/unit_of_work.rb +0 -38
  125. data/spec/basic_finder.rb +0 -67
  126. data/spec/belongs_to.rb +0 -47
  127. data/spec/has_and_belongs_to_many.rb +0 -25
  128. data/spec/has_many.rb +0 -34
  129. data/spec/new_record.rb +0 -24
  130. data/spec/sub_select.rb +0 -16
  131. data/spec/support/string_spec.rb +0 -7
@@ -1,15 +1,16 @@
1
- context 'A Cow' do
1
+ describe DataMapper::Validations::ConfirmationValidator do
2
2
 
3
- setup do
3
+ before(:all) do
4
4
  class Cow
5
5
 
6
+ include DataMapper::CallbacksHelper
6
7
  include DataMapper::Validations::ValidationHelper
7
8
 
8
9
  attr_accessor :name, :name_confirmation, :age
9
10
  end
10
11
  end
11
12
 
12
- specify('') do
13
+ it 'should pass validation' do
13
14
  class Cow
14
15
  validations.clear!
15
16
  validates_confirmation_of :name, :context => :save
@@ -1,15 +1,16 @@
1
- context 'An Employee' do
1
+ context DataMapper::Validations::FormatValidator do
2
2
 
3
- setup do
3
+ before(:all) do
4
4
  class Employee
5
5
 
6
+ include DataMapper::CallbacksHelper
6
7
  include DataMapper::Validations::ValidationHelper
7
8
 
8
9
  attr_accessor :email
9
10
  end
10
11
  end
11
12
 
12
- specify('must have a valid email address') do
13
+ it 'must have a valid email address' do
13
14
  class Employee
14
15
  validations.clear!
15
16
  validates_format_of :email, :as => :email_address, :on => :save
@@ -31,7 +32,7 @@ context 'An Employee' do
31
32
  e.valid?(:save).should == true
32
33
  end
33
34
 
34
- specify('must have a valid organization code') do
35
+ it 'must have a valid organization code' do
35
36
  class Employee
36
37
  validations.clear!
37
38
 
@@ -1,15 +1,16 @@
1
- context 'A Cow' do
1
+ describe DataMapper::Validations::LengthValidator do
2
2
 
3
- setup do
3
+ before(:all) do
4
4
  class Cow
5
-
5
+
6
+ include DataMapper::CallbacksHelper
6
7
  include DataMapper::Validations::ValidationHelper
7
8
 
8
9
  attr_accessor :name, :age
9
10
  end
10
11
  end
11
12
 
12
- specify('should not have a name shorter than 3 characters') do
13
+ it 'should not have a name shorter than 3 characters' do
13
14
  class Cow
14
15
  validations.clear!
15
16
  validates_length_of :name, :min => 3, :context => :save
@@ -33,7 +34,7 @@ context 'A Cow' do
33
34
  end
34
35
 
35
36
 
36
- specify('should not have a name longer than 10 characters') do
37
+ it 'should not have a name longer than 10 characters' do
37
38
  class Cow
38
39
  validations.clear!
39
40
  validates_length_of :name, :max => 10, :context => :save
@@ -51,7 +52,7 @@ context 'A Cow' do
51
52
  betsy.valid?(:save).should == true
52
53
  end
53
54
 
54
- specify('should have a name that is 8 characters long') do
55
+ it 'should have a name that is 8 characters long' do
55
56
  class Cow
56
57
  validations.clear!
57
58
  validates_length_of :name, :is => 8, :context => :save
@@ -72,7 +73,7 @@ context 'A Cow' do
72
73
  betsy.valid?(:save).should == true
73
74
  end
74
75
 
75
- specify('should have a name that is between 10 and 15 characters long') do
76
+ it 'should have a name that is between 10 and 15 characters long' do
76
77
  class Cow
77
78
  validations.clear!
78
79
  validates_length_of :name, :in => (10..15), :context => :save
@@ -1,6 +1,10 @@
1
- context 'An Animal' do
1
+ describe DataMapper::Validations::UniqueValidator do
2
2
 
3
- specify('must have a unique name') do
3
+ before(:all) do
4
+ fixtures('people')
5
+ end
6
+
7
+ it 'must have a unique name' do
4
8
  class Animal
5
9
  validations.clear!
6
10
  validates_uniqueness_of :name, :context => :save
@@ -17,14 +21,7 @@ context 'An Animal' do
17
21
  bugaboo.valid?(:save).should == true
18
22
  end
19
23
 
20
- end
21
-
22
- context 'A Person' do
23
- setup do
24
- fixtures 'people'
25
- end
26
-
27
- specify('must have a unique name for their occupation') do
24
+ it 'must have a unique name for their occupation' do
28
25
  class Person
29
26
  validations.clear!
30
27
  validates_uniqueness_of :name, :context => :save, :scope => :occupation
@@ -1,15 +1,16 @@
1
- context 'Validations' do
1
+ describe DataMapper::Validations do
2
2
 
3
- setup do
3
+ before(:all) do
4
4
  class Cow
5
5
 
6
+ include DataMapper::CallbacksHelper
6
7
  include DataMapper::Validations::ValidationHelper
7
8
 
8
9
  attr_accessor :name, :age
9
10
  end
10
11
  end
11
12
 
12
- specify('should allow you to specify not-null fields in different contexts') do
13
+ it 'should allow you to specify not-null fields in different contexts' do
13
14
  class Cow
14
15
  validations.clear!
15
16
  validates_presence_of :name, :context => :save
@@ -25,7 +26,7 @@ context 'Validations' do
25
26
  betsy.valid?(:save).should == true
26
27
  end
27
28
 
28
- specify('should be able to use ":on" for a context alias') do
29
+ it 'should be able to use ":on" for a context alias' do
29
30
  class Cow
30
31
  validations.clear!
31
32
  validates_presence_of :name, :age, :on => :create
@@ -43,7 +44,7 @@ context 'Validations' do
43
44
  maggie.valid?(:create).should == true
44
45
  end
45
46
 
46
- specify('should default to a general context if unspecified') do
47
+ it 'should default to a general context if unspecified' do
47
48
  class Cow
48
49
  validations.clear!
49
50
  validates_presence_of :name, :age
@@ -51,6 +52,7 @@ context 'Validations' do
51
52
 
52
53
  rhonda = Cow.new
53
54
  rhonda.valid?.should == false
55
+ rhonda.errors.should have(2).full_messages
54
56
 
55
57
  rhonda.errors.full_messages.should include('Age must not be blank')
56
58
  rhonda.errors.full_messages.should include('Name must not be blank')
@@ -58,6 +60,22 @@ context 'Validations' do
58
60
  rhonda.name = 'Rhonda'
59
61
  rhonda.age = 44
60
62
  rhonda.valid?.should == true
61
- end
63
+ end
64
+
65
+ it 'should have 1 validation error' do
66
+ class VPOTest
67
+
68
+ include DataMapper::CallbacksHelper
69
+ include DataMapper::Validations::ValidationHelper
70
+
71
+ attr_accessor :name, :whatever
72
+
73
+ validates_presence_of :name
74
+ end
75
+
76
+ o = VPOTest.new
77
+ o.should_not be_valid
78
+ o.errors.should have(1).full_messages
79
+ end
62
80
 
63
81
  end
data/tasks/drivers.rb ADDED
@@ -0,0 +1,20 @@
1
+ namespace :dm do
2
+ namespace :install do
3
+
4
+ desc 'Install DataObjects.rb Mysql Driver'
5
+ task :mysql do
6
+ %x(cd #{File.dirname(__FILE__) + '/../plugins/dataobjects/swig_mysql/'} && ruby extconf.rb && make && sudo make install)
7
+ end
8
+
9
+ desc 'Install DataObjects.rb SQLite3 Driver'
10
+ task :sqlite3 do
11
+ %x(cd #{File.dirname(__FILE__) + '/../plugins/dataobjects/swig_sqlite/'} && ruby extconf.rb && make && sudo make install)
12
+ end
13
+
14
+ desc 'Install DataObjects.rb PostgreSQL Driver'
15
+ task :postgresql do
16
+ %x(cd #{File.dirname(__FILE__) + '/../plugins/dataobjects/swig_postgres/'} && ruby extconf.rb && make && sudo make install)
17
+ end
18
+
19
+ end
20
+ end
data/tasks/fixtures.rb ADDED
@@ -0,0 +1,42 @@
1
+ namespace :dm do
2
+ namespace :fixtures do
3
+ require 'yaml'
4
+
5
+ def fixtures_path
6
+ return ENV['FIXTURE_PATH'] if ENV['FIXTURE_PATH']
7
+
8
+ %w(db dev schema spec).find do |parent|
9
+ test_for_dir = "#{DM_APP_ROOT}/#{parent}/fixtures"
10
+ File.exists?(test_for_dir) ? test_for_dir : nil
11
+ end
12
+ end
13
+
14
+ desc 'Dump database fixtures'
15
+ task :dump do
16
+ directory fixtures_path
17
+ puts DataMapper::Base.subclasses.join("\n")
18
+ DataMapper::Base.subclasses.each do |table|
19
+ puts "Dumping #{table}"
20
+ File.open( "#{fixtures_path}/#{table.to_s.underscore}.yml", "w") do |f|
21
+ f.write YAML::dump(table.all.map{|r| r.attributes})
22
+ end
23
+ end
24
+ end
25
+
26
+ desc 'Load database fixtures'
27
+ task :load do
28
+ directory fixtures_path
29
+ DataMapper::Base.subclasses.each do |table|
30
+ file_name = "#{fixtures_path}/#{table.to_s.underscore}.yml"
31
+ next unless File.exists?( file_name )
32
+ puts "Loading #{table}"
33
+ table.delete_all
34
+ File.open( file_name, "r") do |f|
35
+ YAML::load(f).each do |attrs|
36
+ table.create attrs
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
metadata CHANGED
@@ -1,17 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
- rubygems_version: 0.9.0
2
+ rubygems_version: 0.9.2
3
3
  specification_version: 1
4
4
  name: datamapper
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.1.1
7
- date: 2007-08-12 00:00:00 -05:00
6
+ version: 0.2.0
7
+ date: 2007-10-25 00:00:00 -05:00
8
8
  summary: An Object/Relational Mapper for Ruby
9
9
  require_paths:
10
10
  - lib
11
11
  email: ssmoot@gmail.com
12
12
  homepage: http://datamapper.org
13
13
  rubyforge_project: datamapper
14
- description: It's ActiveRecord, but Faster, Better, Simpler.
14
+ description: Faster, Better, Simpler.
15
15
  autorequire: data_mapper
16
16
  default_executable:
17
17
  bindir: bin
@@ -32,90 +32,145 @@ files:
32
32
  - README
33
33
  - CHANGELOG
34
34
  - MIT-LICENSE
35
+ - do_performance.rb
36
+ - environment.rb
35
37
  - example.rb
36
38
  - performance.rb
37
39
  - profile_data_mapper.rb
38
40
  - rakefile.rb
39
- - lib/data_mapper.rb
40
- - lib/data_mapper/associations.rb
41
- - lib/data_mapper/base.rb
42
- - lib/data_mapper/callbacks.rb
43
- - lib/data_mapper/database.rb
44
- - lib/data_mapper/identity_map.rb
45
- - lib/data_mapper/session.rb
46
- - lib/data_mapper/unit_of_work.rb
47
41
  - lib/data_mapper/adapters/abstract_adapter.rb
42
+ - lib/data_mapper/adapters/data_object_adapter.rb
48
43
  - lib/data_mapper/adapters/mysql_adapter.rb
49
44
  - lib/data_mapper/adapters/postgresql_adapter.rb
50
- - lib/data_mapper/adapters/sql_adapter.rb
51
- - lib/data_mapper/adapters/sqlite3_adapter.rb
52
45
  - lib/data_mapper/adapters/sql/coersion.rb
53
- - lib/data_mapper/adapters/sql/quoting.rb
54
- - lib/data_mapper/adapters/sql/commands/advanced_load_command.rb
55
46
  - lib/data_mapper/adapters/sql/commands/conditions.rb
56
- - lib/data_mapper/adapters/sql/commands/delete_command.rb
57
47
  - lib/data_mapper/adapters/sql/commands/load_command.rb
58
- - lib/data_mapper/adapters/sql/commands/save_command.rb
59
- - lib/data_mapper/adapters/sql/commands/table_exists_command.rb
48
+ - lib/data_mapper/adapters/sql/commands/loader.rb
49
+ - lib/data_mapper/adapters/sql/mappings/associations_set.rb
60
50
  - lib/data_mapper/adapters/sql/mappings/column.rb
61
51
  - lib/data_mapper/adapters/sql/mappings/schema.rb
62
52
  - lib/data_mapper/adapters/sql/mappings/table.rb
63
- - lib/data_mapper/associations/advanced_has_many_association.rb
53
+ - lib/data_mapper/adapters/sql/quoting.rb
54
+ - lib/data_mapper/adapters/sqlite3_adapter.rb
64
55
  - lib/data_mapper/associations/belongs_to_association.rb
65
56
  - lib/data_mapper/associations/has_and_belongs_to_many_association.rb
66
57
  - lib/data_mapper/associations/has_many_association.rb
58
+ - lib/data_mapper/associations/has_n_association.rb
67
59
  - lib/data_mapper/associations/has_one_association.rb
60
+ - lib/data_mapper/associations/reference.rb
61
+ - lib/data_mapper/associations.rb
62
+ - lib/data_mapper/base.rb
63
+ - lib/data_mapper/callbacks.rb
64
+ - lib/data_mapper/context.rb
65
+ - lib/data_mapper/database.rb
66
+ - lib/data_mapper/embedded_value.rb
67
+ - lib/data_mapper/identity_map.rb
68
68
  - lib/data_mapper/support/active_record_impersonation.rb
69
69
  - lib/data_mapper/support/blank.rb
70
- - lib/data_mapper/support/blank_slate.rb
71
70
  - lib/data_mapper/support/connection_pool.rb
72
71
  - lib/data_mapper/support/enumerable.rb
73
72
  - lib/data_mapper/support/inflector.rb
74
- - lib/data_mapper/support/proc.rb
73
+ - lib/data_mapper/support/serialization.rb
75
74
  - lib/data_mapper/support/string.rb
76
- - lib/data_mapper/support/struct.rb
77
75
  - lib/data_mapper/support/symbol.rb
78
76
  - lib/data_mapper/support/weak_hash.rb
79
77
  - lib/data_mapper/validations/confirmation_validator.rb
80
78
  - lib/data_mapper/validations/contextual_validations.rb
81
79
  - lib/data_mapper/validations/format_validator.rb
80
+ - lib/data_mapper/validations/formats/email.rb
82
81
  - lib/data_mapper/validations/generic_validator.rb
83
82
  - lib/data_mapper/validations/length_validator.rb
84
83
  - lib/data_mapper/validations/required_field_validator.rb
85
84
  - lib/data_mapper/validations/unique_validator.rb
86
85
  - lib/data_mapper/validations/validation_errors.rb
87
86
  - lib/data_mapper/validations/validation_helper.rb
88
- - lib/data_mapper/validations/formats/email.rb
89
- - spec/basic_finder.rb
90
- - spec/belongs_to.rb
87
+ - lib/data_mapper.rb
88
+ - spec/acts_as_tree_spec.rb
89
+ - spec/associations_spec.rb
90
+ - spec/attributes_spec.rb
91
+ - spec/base_spec.rb
92
+ - spec/callbacks_spec.rb
93
+ - spec/can_has_sphinx.rb
94
+ - spec/coersion_spec.rb
95
+ - spec/conditions_spec.rb
96
+ - spec/conversions_to_yaml_spec.rb
97
+ - spec/count_command_spec.rb
91
98
  - spec/delete_command_spec.rb
92
- - spec/has_and_belongs_to_many.rb
93
- - spec/has_many.rb
94
- - spec/legacy.rb
99
+ - spec/embedded_value_spec.rb
100
+ - spec/legacy_spec.rb
95
101
  - spec/load_command_spec.rb
96
- - spec/new_record.rb
97
- - spec/save_command_spec.rb
98
- - spec/spec_helper.rb
99
- - spec/sub_select.rb
100
- - spec/symbolic_operators.rb
101
- - spec/validates_confirmation_of.rb
102
- - spec/validates_format_of.rb
103
- - spec/validates_length_of.rb
104
- - spec/validates_uniqueness_of.rb
105
- - spec/validations.rb
102
+ - spec/magic_columns_spec.rb
103
+ - spec/mock_adapter.rb
106
104
  - spec/models/animal.rb
105
+ - spec/models/animals_exhibit.rb
107
106
  - spec/models/exhibit.rb
108
107
  - spec/models/fruit.rb
109
108
  - spec/models/person.rb
110
109
  - spec/models/post.rb
110
+ - spec/models/project.rb
111
111
  - spec/models/sales_person.rb
112
+ - spec/models/section.rb
112
113
  - spec/models/zoo.rb
113
- - spec/support/string_spec.rb
114
+ - spec/query_spec.rb
115
+ - spec/save_command_spec.rb
116
+ - spec/schema_spec.rb
117
+ - spec/single_table_inheritance_spec.rb
118
+ - spec/spec_helper.rb
119
+ - spec/symbolic_operators_spec.rb
120
+ - spec/validates_confirmation_of_spec.rb
121
+ - spec/validates_format_of_spec.rb
122
+ - spec/validates_length_of_spec.rb
123
+ - spec/validates_uniqueness_of_spec.rb
124
+ - spec/validations_spec.rb
114
125
  - spec/fixtures/animals.yaml
126
+ - spec/fixtures/animals_exhibits.yaml
115
127
  - spec/fixtures/exhibits.yaml
116
128
  - spec/fixtures/fruit.yaml
117
129
  - spec/fixtures/people.yaml
118
130
  - spec/fixtures/zoos.yaml
131
+ - tasks/drivers.rb
132
+ - tasks/fixtures.rb
133
+ - plugins/can_has_sphinx
134
+ - plugins/can_has_sphinx/init.rb
135
+ - plugins/can_has_sphinx/install.rb
136
+ - plugins/can_has_sphinx/lib
137
+ - plugins/can_has_sphinx/lib/acts_as_sphinx.rb
138
+ - plugins/can_has_sphinx/lib/sphinx.rb
139
+ - plugins/can_has_sphinx/LICENSE
140
+ - plugins/can_has_sphinx/Rakefile
141
+ - plugins/can_has_sphinx/README
142
+ - plugins/can_has_sphinx/REVISION
143
+ - plugins/can_has_sphinx/scripts
144
+ - plugins/can_has_sphinx/scripts/sphinx.sh
145
+ - plugins/can_has_sphinx/tasks
146
+ - plugins/can_has_sphinx/tasks/acts_as_sphinx_tasks.rake
147
+ - plugins/dataobjects
148
+ - plugins/dataobjects/do.rb
149
+ - plugins/dataobjects/do_mysql.rb
150
+ - plugins/dataobjects/do_postgres.rb
151
+ - plugins/dataobjects/do_sqlite3.rb
152
+ - plugins/dataobjects/Rakefile
153
+ - plugins/dataobjects/REVISION
154
+ - plugins/dataobjects/spec
155
+ - plugins/dataobjects/spec/do_spec.rb
156
+ - plugins/dataobjects/spec/spec_helper.rb
157
+ - plugins/dataobjects/swig_mysql
158
+ - plugins/dataobjects/swig_mysql/do_mysql.bundle
159
+ - plugins/dataobjects/swig_mysql/extconf.rb
160
+ - plugins/dataobjects/swig_mysql/mysql_c.c
161
+ - plugins/dataobjects/swig_mysql/mysql_c.i
162
+ - plugins/dataobjects/swig_mysql/mysql_supp.i
163
+ - plugins/dataobjects/swig_postgres
164
+ - plugins/dataobjects/swig_postgres/extconf.rb
165
+ - plugins/dataobjects/swig_postgres/Makefile
166
+ - plugins/dataobjects/swig_postgres/postgres_c.bundle
167
+ - plugins/dataobjects/swig_postgres/postgres_c.c
168
+ - plugins/dataobjects/swig_postgres/postgres_c.i
169
+ - plugins/dataobjects/swig_sqlite
170
+ - plugins/dataobjects/swig_sqlite/db
171
+ - plugins/dataobjects/swig_sqlite/extconf.rb
172
+ - plugins/dataobjects/swig_sqlite/sqlite3_c.c
173
+ - plugins/dataobjects/swig_sqlite/sqlite_c.i
119
174
  test_files: []
120
175
 
121
176
  rdoc_options:
@@ -127,11 +182,95 @@ extra_rdoc_files:
127
182
  - README
128
183
  - CHANGELOG
129
184
  - MIT-LICENSE
185
+ - do_performance.rb
186
+ - environment.rb
187
+ - example.rb
188
+ - performance.rb
189
+ - profile_data_mapper.rb
190
+ - rakefile.rb
191
+ - lib/data_mapper/adapters/abstract_adapter.rb
192
+ - lib/data_mapper/adapters/data_object_adapter.rb
193
+ - lib/data_mapper/adapters/mysql_adapter.rb
194
+ - lib/data_mapper/adapters/postgresql_adapter.rb
195
+ - lib/data_mapper/adapters/sql/coersion.rb
196
+ - lib/data_mapper/adapters/sql/commands/conditions.rb
197
+ - lib/data_mapper/adapters/sql/commands/load_command.rb
198
+ - lib/data_mapper/adapters/sql/commands/loader.rb
199
+ - lib/data_mapper/adapters/sql/mappings/associations_set.rb
200
+ - lib/data_mapper/adapters/sql/mappings/column.rb
201
+ - lib/data_mapper/adapters/sql/mappings/schema.rb
202
+ - lib/data_mapper/adapters/sql/mappings/table.rb
203
+ - lib/data_mapper/adapters/sql/quoting.rb
204
+ - lib/data_mapper/adapters/sqlite3_adapter.rb
205
+ - lib/data_mapper/associations/belongs_to_association.rb
206
+ - lib/data_mapper/associations/has_and_belongs_to_many_association.rb
207
+ - lib/data_mapper/associations/has_many_association.rb
208
+ - lib/data_mapper/associations/has_n_association.rb
209
+ - lib/data_mapper/associations/has_one_association.rb
210
+ - lib/data_mapper/associations/reference.rb
211
+ - lib/data_mapper/associations.rb
212
+ - lib/data_mapper/base.rb
213
+ - lib/data_mapper/callbacks.rb
214
+ - lib/data_mapper/context.rb
215
+ - lib/data_mapper/database.rb
216
+ - lib/data_mapper/embedded_value.rb
217
+ - lib/data_mapper/identity_map.rb
218
+ - lib/data_mapper/support/active_record_impersonation.rb
219
+ - lib/data_mapper/support/blank.rb
220
+ - lib/data_mapper/support/connection_pool.rb
221
+ - lib/data_mapper/support/enumerable.rb
222
+ - lib/data_mapper/support/inflector.rb
223
+ - lib/data_mapper/support/serialization.rb
224
+ - lib/data_mapper/support/string.rb
225
+ - lib/data_mapper/support/symbol.rb
226
+ - lib/data_mapper/support/weak_hash.rb
227
+ - lib/data_mapper/validations/confirmation_validator.rb
228
+ - lib/data_mapper/validations/contextual_validations.rb
229
+ - lib/data_mapper/validations/format_validator.rb
230
+ - lib/data_mapper/validations/formats/email.rb
231
+ - lib/data_mapper/validations/generic_validator.rb
232
+ - lib/data_mapper/validations/length_validator.rb
233
+ - lib/data_mapper/validations/required_field_validator.rb
234
+ - lib/data_mapper/validations/unique_validator.rb
235
+ - lib/data_mapper/validations/validation_errors.rb
236
+ - lib/data_mapper/validations/validation_helper.rb
237
+ - lib/data_mapper.rb
238
+ - tasks/drivers.rb
239
+ - tasks/fixtures.rb
240
+ - plugins/can_has_sphinx
241
+ - plugins/can_has_sphinx/init.rb
242
+ - plugins/can_has_sphinx/install.rb
243
+ - plugins/can_has_sphinx/lib
244
+ - plugins/can_has_sphinx/lib/acts_as_sphinx.rb
245
+ - plugins/can_has_sphinx/lib/sphinx.rb
246
+ - plugins/can_has_sphinx/LICENSE
247
+ - plugins/can_has_sphinx/Rakefile
248
+ - plugins/can_has_sphinx/README
249
+ - plugins/can_has_sphinx/REVISION
250
+ - plugins/can_has_sphinx/scripts
251
+ - plugins/can_has_sphinx/scripts/sphinx.sh
252
+ - plugins/can_has_sphinx/tasks
253
+ - plugins/can_has_sphinx/tasks/acts_as_sphinx_tasks.rake
254
+ - plugins/dataobjects
255
+ - plugins/dataobjects/do.rb
256
+ - plugins/dataobjects/do_mysql.rb
257
+ - plugins/dataobjects/do_postgres.rb
258
+ - plugins/dataobjects/do_sqlite3.rb
259
+ - plugins/dataobjects/Rakefile
260
+ - plugins/dataobjects/REVISION
130
261
  executables: []
131
262
 
132
263
  extensions: []
133
264
 
134
265
  requirements:
135
266
  - none
136
- dependencies: []
137
-
267
+ dependencies:
268
+ - !ruby/object:Gem::Dependency
269
+ name: fastthread
270
+ version_requirement:
271
+ version_requirements: !ruby/object:Gem::Version::Requirement
272
+ requirements:
273
+ - - ">"
274
+ - !ruby/object:Gem::Version
275
+ version: 0.0.0
276
+ version: