dm-core 0.10.2 → 1.0.0.rc1

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.
Files changed (183) hide show
  1. data/.gitignore +10 -1
  2. data/Gemfile +143 -0
  3. data/Rakefile +9 -5
  4. data/VERSION +1 -1
  5. data/dm-core.gemspec +160 -57
  6. data/lib/dm-core.rb +131 -56
  7. data/lib/dm-core/adapters.rb +98 -14
  8. data/lib/dm-core/adapters/abstract_adapter.rb +24 -4
  9. data/lib/dm-core/adapters/in_memory_adapter.rb +7 -2
  10. data/lib/dm-core/associations/many_to_many.rb +19 -30
  11. data/lib/dm-core/associations/many_to_one.rb +58 -42
  12. data/lib/dm-core/associations/one_to_many.rb +33 -23
  13. data/lib/dm-core/associations/one_to_one.rb +27 -11
  14. data/lib/dm-core/associations/relationship.rb +4 -4
  15. data/lib/dm-core/collection.rb +23 -16
  16. data/lib/dm-core/core_ext/array.rb +36 -0
  17. data/lib/dm-core/core_ext/hash.rb +30 -0
  18. data/lib/dm-core/core_ext/module.rb +46 -0
  19. data/lib/dm-core/core_ext/object.rb +31 -0
  20. data/lib/dm-core/core_ext/pathname.rb +20 -0
  21. data/lib/dm-core/core_ext/string.rb +22 -0
  22. data/lib/dm-core/core_ext/try_dup.rb +44 -0
  23. data/lib/dm-core/model.rb +88 -27
  24. data/lib/dm-core/model/hook.rb +75 -18
  25. data/lib/dm-core/model/property.rb +50 -9
  26. data/lib/dm-core/model/relationship.rb +31 -31
  27. data/lib/dm-core/model/scope.rb +3 -3
  28. data/lib/dm-core/property.rb +196 -516
  29. data/lib/dm-core/property/binary.rb +7 -0
  30. data/lib/dm-core/property/boolean.rb +35 -0
  31. data/lib/dm-core/property/class.rb +24 -0
  32. data/lib/dm-core/property/date.rb +47 -0
  33. data/lib/dm-core/property/date_time.rb +48 -0
  34. data/lib/dm-core/property/decimal.rb +43 -0
  35. data/lib/dm-core/property/discriminator.rb +48 -0
  36. data/lib/dm-core/property/float.rb +24 -0
  37. data/lib/dm-core/property/integer.rb +32 -0
  38. data/lib/dm-core/property/numeric.rb +43 -0
  39. data/lib/dm-core/property/object.rb +32 -0
  40. data/lib/dm-core/property/serial.rb +8 -0
  41. data/lib/dm-core/property/string.rb +49 -0
  42. data/lib/dm-core/property/text.rb +12 -0
  43. data/lib/dm-core/property/time.rb +48 -0
  44. data/lib/dm-core/property/typecast/numeric.rb +32 -0
  45. data/lib/dm-core/property/typecast/time.rb +28 -0
  46. data/lib/dm-core/property_set.rb +10 -4
  47. data/lib/dm-core/query.rb +14 -37
  48. data/lib/dm-core/query/conditions/comparison.rb +8 -6
  49. data/lib/dm-core/query/conditions/operation.rb +33 -2
  50. data/lib/dm-core/query/operator.rb +2 -5
  51. data/lib/dm-core/query/path.rb +4 -6
  52. data/lib/dm-core/repository.rb +21 -6
  53. data/lib/dm-core/resource.rb +316 -133
  54. data/lib/dm-core/resource/state.rb +79 -0
  55. data/lib/dm-core/resource/state/clean.rb +40 -0
  56. data/lib/dm-core/resource/state/deleted.rb +30 -0
  57. data/lib/dm-core/resource/state/dirty.rb +86 -0
  58. data/lib/dm-core/resource/state/immutable.rb +34 -0
  59. data/lib/dm-core/resource/state/persisted.rb +29 -0
  60. data/lib/dm-core/resource/state/transient.rb +70 -0
  61. data/lib/dm-core/spec/lib/adapter_helpers.rb +52 -0
  62. data/lib/dm-core/spec/lib/collection_helpers.rb +20 -0
  63. data/{spec → lib/dm-core/spec}/lib/counter_adapter.rb +5 -1
  64. data/lib/dm-core/spec/lib/pending_helpers.rb +50 -0
  65. data/lib/dm-core/spec/lib/spec_helper.rb +68 -0
  66. data/lib/dm-core/spec/setup.rb +165 -0
  67. data/lib/dm-core/spec/{adapter_shared_spec.rb → shared/adapter_spec.rb} +21 -7
  68. data/{spec/public/shared/resource_shared_spec.rb → lib/dm-core/spec/shared/resource_spec.rb} +120 -83
  69. data/{spec/public/shared/sel_shared_spec.rb → lib/dm-core/spec/shared/sel_spec.rb} +5 -6
  70. data/lib/dm-core/support/assertions.rb +8 -0
  71. data/lib/dm-core/support/equalizer.rb +1 -0
  72. data/lib/dm-core/support/hook.rb +420 -0
  73. data/lib/dm-core/support/lazy_array.rb +453 -0
  74. data/lib/dm-core/support/local_object_space.rb +12 -0
  75. data/lib/dm-core/support/logger.rb +193 -6
  76. data/lib/dm-core/support/naming_conventions.rb +8 -8
  77. data/lib/dm-core/support/subject.rb +33 -0
  78. data/lib/dm-core/type.rb +4 -0
  79. data/lib/dm-core/types/boolean.rb +2 -0
  80. data/lib/dm-core/types/decimal.rb +9 -0
  81. data/lib/dm-core/types/discriminator.rb +2 -0
  82. data/lib/dm-core/types/object.rb +3 -0
  83. data/lib/dm-core/types/serial.rb +2 -0
  84. data/lib/dm-core/types/text.rb +2 -0
  85. data/lib/dm-core/version.rb +1 -1
  86. data/spec/public/associations/many_to_many/read_multiple_join_spec.rb +67 -0
  87. data/spec/public/model/hook_spec.rb +209 -0
  88. data/spec/public/model/property_spec.rb +35 -0
  89. data/spec/public/model/relationship_spec.rb +33 -20
  90. data/spec/public/model_spec.rb +142 -10
  91. data/spec/public/property/binary_spec.rb +14 -0
  92. data/spec/public/property/boolean_spec.rb +14 -0
  93. data/spec/public/property/class_spec.rb +20 -0
  94. data/spec/public/property/date_spec.rb +14 -0
  95. data/spec/public/property/date_time_spec.rb +14 -0
  96. data/spec/public/property/decimal_spec.rb +14 -0
  97. data/spec/public/{types → property}/discriminator_spec.rb +2 -12
  98. data/spec/public/property/float_spec.rb +14 -0
  99. data/spec/public/property/integer_spec.rb +14 -0
  100. data/spec/public/property/object_spec.rb +9 -17
  101. data/spec/public/property/serial_spec.rb +14 -0
  102. data/spec/public/property/string_spec.rb +14 -0
  103. data/spec/public/property/text_spec.rb +52 -0
  104. data/spec/public/property/time_spec.rb +14 -0
  105. data/spec/public/property_spec.rb +28 -87
  106. data/spec/public/resource_spec.rb +101 -0
  107. data/spec/public/sel_spec.rb +5 -15
  108. data/spec/public/shared/collection_shared_spec.rb +16 -30
  109. data/spec/public/shared/finder_shared_spec.rb +2 -4
  110. data/spec/public/shared/property_shared_spec.rb +176 -0
  111. data/spec/semipublic/adapters/abstract_adapter_spec.rb +1 -1
  112. data/spec/semipublic/adapters/in_memory_adapter_spec.rb +2 -2
  113. data/spec/semipublic/associations/many_to_many_spec.rb +89 -0
  114. data/spec/semipublic/associations/many_to_one_spec.rb +24 -1
  115. data/spec/semipublic/associations/one_to_many_spec.rb +51 -0
  116. data/spec/semipublic/associations/one_to_one_spec.rb +49 -0
  117. data/spec/semipublic/associations/relationship_spec.rb +3 -3
  118. data/spec/semipublic/associations_spec.rb +1 -1
  119. data/spec/semipublic/property/binary_spec.rb +13 -0
  120. data/spec/semipublic/property/boolean_spec.rb +65 -0
  121. data/spec/semipublic/property/class_spec.rb +33 -0
  122. data/spec/semipublic/property/date_spec.rb +43 -0
  123. data/spec/semipublic/property/date_time_spec.rb +46 -0
  124. data/spec/semipublic/property/decimal_spec.rb +82 -0
  125. data/spec/semipublic/property/discriminator_spec.rb +19 -0
  126. data/spec/semipublic/property/float_spec.rb +82 -0
  127. data/spec/semipublic/property/integer_spec.rb +82 -0
  128. data/spec/semipublic/property/serial_spec.rb +13 -0
  129. data/spec/semipublic/property/string_spec.rb +13 -0
  130. data/spec/semipublic/property/text_spec.rb +31 -0
  131. data/spec/semipublic/property/time_spec.rb +50 -0
  132. data/spec/semipublic/property_spec.rb +2 -532
  133. data/spec/semipublic/query/conditions/comparison_spec.rb +171 -169
  134. data/spec/semipublic/query/conditions/operation_spec.rb +53 -51
  135. data/spec/semipublic/query/path_spec.rb +17 -17
  136. data/spec/semipublic/query_spec.rb +47 -78
  137. data/spec/semipublic/resource/state/clean_spec.rb +88 -0
  138. data/spec/semipublic/resource/state/deleted_spec.rb +78 -0
  139. data/spec/semipublic/resource/state/dirty_spec.rb +133 -0
  140. data/spec/semipublic/resource/state/immutable_spec.rb +99 -0
  141. data/spec/semipublic/resource/state/transient_spec.rb +128 -0
  142. data/spec/semipublic/resource/state_spec.rb +226 -0
  143. data/spec/semipublic/shared/property_shared_spec.rb +143 -0
  144. data/spec/semipublic/shared/resource_shared_spec.rb +16 -15
  145. data/spec/semipublic/shared/resource_state_shared_spec.rb +78 -0
  146. data/spec/semipublic/shared/subject_shared_spec.rb +79 -0
  147. data/spec/spec_helper.rb +21 -97
  148. data/spec/support/types/huge_integer.rb +17 -0
  149. data/spec/unit/array_spec.rb +48 -0
  150. data/spec/unit/hash_spec.rb +35 -0
  151. data/spec/unit/hook_spec.rb +1234 -0
  152. data/spec/unit/lazy_array_spec.rb +1959 -0
  153. data/spec/unit/module_spec.rb +70 -0
  154. data/spec/unit/object_spec.rb +37 -0
  155. data/spec/unit/try_dup_spec.rb +45 -0
  156. data/tasks/local_gemfile.rake +18 -0
  157. data/tasks/spec.rake +0 -3
  158. metadata +197 -71
  159. data/deps.rip +0 -2
  160. data/lib/dm-core/adapters/data_objects_adapter.rb +0 -712
  161. data/lib/dm-core/adapters/mysql_adapter.rb +0 -42
  162. data/lib/dm-core/adapters/oracle_adapter.rb +0 -229
  163. data/lib/dm-core/adapters/postgres_adapter.rb +0 -22
  164. data/lib/dm-core/adapters/sqlite3_adapter.rb +0 -17
  165. data/lib/dm-core/adapters/sqlserver_adapter.rb +0 -114
  166. data/lib/dm-core/adapters/yaml_adapter.rb +0 -111
  167. data/lib/dm-core/core_ext/enumerable.rb +0 -28
  168. data/lib/dm-core/migrations.rb +0 -1427
  169. data/lib/dm-core/spec/data_objects_adapter_shared_spec.rb +0 -366
  170. data/lib/dm-core/transaction.rb +0 -508
  171. data/lib/dm-core/types/paranoid_boolean.rb +0 -42
  172. data/lib/dm-core/types/paranoid_datetime.rb +0 -41
  173. data/spec/lib/adapter_helpers.rb +0 -105
  174. data/spec/lib/collection_helpers.rb +0 -18
  175. data/spec/lib/pending_helpers.rb +0 -46
  176. data/spec/public/migrations_spec.rb +0 -503
  177. data/spec/public/transaction_spec.rb +0 -153
  178. data/spec/semipublic/adapters/mysql_adapter_spec.rb +0 -17
  179. data/spec/semipublic/adapters/oracle_adapter_spec.rb +0 -194
  180. data/spec/semipublic/adapters/postgres_adapter_spec.rb +0 -17
  181. data/spec/semipublic/adapters/sqlite3_adapter_spec.rb +0 -17
  182. data/spec/semipublic/adapters/sqlserver_adapter_spec.rb +0 -17
  183. data/spec/semipublic/adapters/yaml_adapter_spec.rb +0 -12
@@ -1,153 +0,0 @@
1
- require File.expand_path(File.join(File.dirname(__FILE__), '..', 'spec_helper'))
2
-
3
- describe DataMapper::Resource, 'Transactions' do
4
- before :all do
5
- module ::Blog
6
- class User
7
- include DataMapper::Resource
8
-
9
- property :name, String, :key => true
10
- property :age, Integer
11
- property :summary, Text
12
- property :description, Text
13
- property :admin, Boolean, :accessor => :private
14
-
15
- belongs_to :parent, self, :required => false
16
- has n, :children, self, :inverse => :parent
17
-
18
- belongs_to :referrer, self, :required => false
19
- has n, :comments
20
-
21
- # FIXME: figure out a different approach than stubbing things out
22
- def comment=(*)
23
- # do nothing with comment
24
- end
25
- end
26
-
27
- class Author < User; end
28
-
29
- class Comment
30
- include DataMapper::Resource
31
-
32
- property :id, Serial
33
- property :body, Text
34
-
35
- belongs_to :user
36
- end
37
-
38
- class Article
39
- include DataMapper::Resource
40
-
41
- property :id, Serial
42
- property :body, Text
43
-
44
- has n, :paragraphs
45
- end
46
-
47
- class Paragraph
48
- include DataMapper::Resource
49
-
50
- property :id, Serial
51
- property :text, String
52
-
53
- belongs_to :article
54
- end
55
- end
56
-
57
- class ::Default
58
- include DataMapper::Resource
59
-
60
- property :name, String, :key => true, :default => 'a default value'
61
- end
62
-
63
- @user_model = Blog::User
64
- @author_model = Blog::Author
65
- @comment_model = Blog::Comment
66
- @article_model = Blog::Article
67
- @paragraph_model = Blog::Paragraph
68
- end
69
-
70
- supported_by :postgres, :mysql, :sqlite3, :oracle, :sqlserver do
71
- before :all do
72
- user = @user_model.create(:name => 'dbussink', :age => 25, :description => 'Test')
73
-
74
- @user = @user_model.get(*user.key)
75
- end
76
-
77
- before do
78
- # --- Temporary private api use to get around rspec limitations ---
79
- @repository.scope do |repository|
80
- transaction = DataMapper::Transaction.new(repository)
81
- transaction.begin
82
- repository.adapter.push_transaction(transaction)
83
- end
84
- end
85
-
86
- after do
87
- while @repository.adapter.current_transaction
88
- @repository.adapter.pop_transaction.rollback
89
- end
90
- end
91
-
92
- it_should_behave_like 'A public Resource'
93
- it_should_behave_like 'A Resource supporting Strategic Eager Loading'
94
- end
95
-
96
- supported_by :postgres, :mysql, :sqlite3, :oracle, :sqlserver do
97
- describe '#transaction' do
98
- before do
99
- @user_model.all.destroy!
100
- end
101
-
102
- it 'should have access to resources presisted before the transaction' do
103
- @user_model.create(:name => 'carllerche')
104
- @user_model.transaction do
105
- @user_model.first.name.should == 'carllerche'
106
- end
107
- end
108
-
109
- it 'should have access to resources persisted in the transaction' do
110
- @user_model.transaction do
111
- @user_model.create(:name => 'carllerche')
112
- @user_model.first.name.should == 'carllerche'
113
- end
114
- end
115
-
116
- it 'should not mark saved resources as new records' do
117
- @user_model.transaction do
118
- @user_model.create(:name => 'carllerche').should_not be_new
119
- end
120
- end
121
-
122
- it 'should rollback when an error is thrown in a transaction' do
123
- @user_model.all.should have(0).entries
124
- lambda {
125
- @user_model.transaction do
126
- @user_model.create(:name => 'carllerche')
127
- raise 'I love coffee'
128
- end
129
- }.should raise_error('I love coffee')
130
- @user_model.all.should have(0).entries
131
- end
132
-
133
- it 'should close the transaction if return is called within the closure' do
134
- @txn = nil
135
-
136
- def doit
137
- @user_model.transaction do
138
- @txn = Thread.current[:dm_transactions].last
139
- return
140
- end
141
- end
142
- doit
143
-
144
- @txn.instance_variable_get(:@state).should == :commit
145
- @txn = nil
146
- end
147
-
148
- it 'should return the last statement in the transaction block' do
149
- @user_model.transaction { 1 }.should == 1
150
- end
151
- end
152
- end
153
- end
@@ -1,17 +0,0 @@
1
- require File.expand_path(File.join(File.dirname(__FILE__), '..', '..', 'spec_helper'))
2
-
3
- dir = DataMapper.root / 'lib' / 'dm-core' / 'spec'
4
-
5
- require dir / 'adapter_shared_spec'
6
- require dir / 'data_objects_adapter_shared_spec'
7
-
8
- describe 'Adapter' do
9
- supported_by :mysql do
10
- describe DataMapper::Adapters::MysqlAdapter do
11
-
12
- it_should_behave_like 'An Adapter'
13
- it_should_behave_like 'A DataObjects Adapter'
14
-
15
- end
16
- end
17
- end
@@ -1,194 +0,0 @@
1
- require File.expand_path(File.join(File.dirname(__FILE__), '..', '..', 'spec_helper'))
2
-
3
- dir = DataMapper.root / 'lib' / 'dm-core' / 'spec'
4
-
5
- require dir / 'adapter_shared_spec'
6
- require dir / 'data_objects_adapter_shared_spec'
7
-
8
- module SQLLogHelper
9
- class SQLLogger
10
- attr_accessor :buffer
11
- def initialize
12
- @buffer = ""
13
- end
14
-
15
- def level; 0; end
16
-
17
- def debug(string)
18
- @buffer << string << "\n"
19
- # puts "#{string.gsub(/\n/m,"<br/>\n")}<br/>"
20
- end
21
- end
22
-
23
- def start_sql_log!
24
- return if @sql_log_on
25
- @sql_log_on = true
26
- @old_logger = DataObjects::Oracle.logger
27
- DataObjects::Oracle.logger = SQLLogger.new
28
- end
29
-
30
- def stop_sql_log!
31
- return unless @sql_log_on
32
- @sql_log_on = nil
33
- DataObjects::Oracle.logger = @old_logger
34
- end
35
-
36
- def clear_sql_log!
37
- return unless @sql_log_on
38
- DataObjects::Oracle.logger.buffer = ""
39
- end
40
-
41
- def sql_log_buffer
42
- DataObjects::Oracle.logger.buffer
43
- end
44
- end
45
-
46
- describe 'Adapter' do
47
- supported_by :oracle do
48
- describe DataMapper::Adapters::OracleAdapter do
49
-
50
- it_should_behave_like 'An Adapter'
51
- it_should_behave_like 'A DataObjects Adapter'
52
-
53
- describe "sequences" do
54
- include SQLLogHelper
55
-
56
- before(:all) do
57
- @auto_migrate_with = DataMapper::Adapters::OracleAdapter.auto_migrate_with
58
- DataMapper::Adapters::OracleAdapter.auto_migrate_with :drop_and_create
59
- start_sql_log!
60
- end
61
-
62
- after(:all) do
63
- stop_sql_log!
64
- DataMapper::Adapters::OracleAdapter.auto_migrate_with @auto_migrate_with
65
- end
66
-
67
- describe "create default sequence and trigger" do
68
- before(:all) do
69
- class ::Employee
70
- include DataMapper::Resource
71
- property :employee_id, Serial
72
- end
73
- Employee.auto_migrate!
74
- end
75
-
76
- after(:all) do
77
- Employee.auto_migrate_down!
78
- end
79
-
80
- it "should not have sequence name in options" do
81
- Employee.properties[:employee_id].options[:sequence].should be_nil
82
- end
83
-
84
- it "should create default sequence" do
85
- sql_log_buffer.should =~ /CREATE SEQUENCE "EMPLOYEES_SEQ"/
86
- end
87
-
88
- it "should create trigger" do
89
- sql_log_buffer.should =~ /CREATE OR REPLACE TRIGGER "EMPLOYEES_PKT"/
90
- end
91
-
92
- end
93
-
94
- describe "create custom sequence" do
95
-
96
- before(:all) do
97
- class ::Employee
98
- include DataMapper::Resource
99
- property :employee_id, Serial, :sequence => "emp_seq"
100
- end
101
- Employee.auto_migrate!
102
- end
103
-
104
- after(:all) do
105
- Employee.auto_migrate_down!
106
- end
107
-
108
- it "should have custom sequence name" do
109
- Employee.properties[:employee_id].options[:sequence].should == "emp_seq"
110
- end
111
-
112
- it "should create custom sequence" do
113
- sql_log_buffer.should =~ /CREATE SEQUENCE "EMP_SEQ"/
114
- end
115
-
116
- it "should not create trigger" do
117
- sql_log_buffer.should_not =~ /TRIGGER/
118
- end
119
-
120
- end
121
-
122
- describe "create custom sequence in non-default repository" do
123
-
124
- before(:all) do
125
- stop_sql_log!
126
- DataMapper.setup :oracle, DataMapper::Repository.adapters[:default].options
127
- start_sql_log!
128
- class ::Employee
129
- include DataMapper::Resource
130
- property :id, Serial
131
- repository(:oracle) do
132
- property :id, Serial, :field => "employee_id", :sequence => "emp_seq"
133
- end
134
- end
135
- repository(:oracle) do
136
- Employee.auto_migrate!
137
- end
138
- end
139
-
140
- after(:all) do
141
- repository(:oracle) do
142
- Employee.auto_migrate_down!
143
- end
144
- end
145
-
146
- it "should have custom sequence name" do
147
- Employee.properties(:oracle)[:id].options[:sequence].should == "emp_seq"
148
- end
149
-
150
- it "should create custom sequence" do
151
- sql_log_buffer.should =~ /CREATE SEQUENCE "EMP_SEQ"/
152
- end
153
-
154
- it "should not create trigger" do
155
- sql_log_buffer.should_not =~ /TRIGGER/
156
- end
157
-
158
- end
159
-
160
- describe "prefetch key value from custom sequence" do
161
-
162
- before(:all) do
163
- class ::Employee
164
- include DataMapper::Resource
165
- property :employee_id, Serial, :sequence => "emp_seq"
166
- property :first_name, String
167
- end
168
- Employee.auto_migrate!
169
- end
170
-
171
- after(:all) do
172
- Employee.auto_migrate_down!
173
- end
174
-
175
- it "should prefetch sequence value when inserting new record" do
176
- e = Employee.create
177
- e.employee_id.should == 1
178
- e = Employee.create(:first_name => "Raimonds")
179
- e.employee_id.should == 2
180
- end
181
-
182
- it "should insert explicitly specified primary key value" do
183
- e = Employee.create(:employee_id => 100,:first_name => "Raimonds")
184
- e.employee_id.should == 100
185
- end
186
-
187
- end
188
-
189
-
190
- end
191
-
192
- end
193
- end
194
- end
@@ -1,17 +0,0 @@
1
- require File.expand_path(File.join(File.dirname(__FILE__), '..', '..', 'spec_helper'))
2
-
3
- dir = DataMapper.root / 'lib' / 'dm-core' / 'spec'
4
-
5
- require dir / 'adapter_shared_spec'
6
- require dir / 'data_objects_adapter_shared_spec'
7
-
8
- describe 'Adapter' do
9
- supported_by :postgres do
10
- describe DataMapper::Adapters::PostgresAdapter do
11
-
12
- it_should_behave_like 'An Adapter'
13
- it_should_behave_like 'A DataObjects Adapter'
14
-
15
- end
16
- end
17
- end
@@ -1,17 +0,0 @@
1
- require File.expand_path(File.join(File.dirname(__FILE__), '..', '..', 'spec_helper'))
2
-
3
- dir = DataMapper.root / 'lib' / 'dm-core' / 'spec'
4
-
5
- require dir / 'adapter_shared_spec'
6
- require dir / 'data_objects_adapter_shared_spec'
7
-
8
- describe 'Adapter' do
9
- supported_by :sqlite3 do
10
- describe DataMapper::Adapters::Sqlite3Adapter do
11
-
12
- it_should_behave_like 'An Adapter'
13
- it_should_behave_like 'A DataObjects Adapter'
14
-
15
- end
16
- end
17
- end
@@ -1,17 +0,0 @@
1
- require File.expand_path(File.join(File.dirname(__FILE__), '..', '..', 'spec_helper'))
2
-
3
- dir = DataMapper.root / 'lib' / 'dm-core' / 'spec'
4
-
5
- require dir / 'adapter_shared_spec'
6
- require dir / 'data_objects_adapter_shared_spec'
7
-
8
- describe 'Adapter' do
9
- supported_by :sqlserver do
10
- describe DataMapper::Adapters::SqlserverAdapter do
11
-
12
- it_should_behave_like 'An Adapter'
13
- it_should_behave_like 'A DataObjects Adapter'
14
-
15
- end
16
- end
17
- end
@@ -1,12 +0,0 @@
1
- require File.expand_path(File.join(File.dirname(__FILE__), '..', '..', 'spec_helper'))
2
- require DataMapper.root / 'lib' / 'dm-core' / 'spec' / 'adapter_shared_spec'
3
-
4
- describe 'Adapter' do
5
- supported_by :yaml do
6
- describe DataMapper::Adapters::YamlAdapter do
7
-
8
- it_should_behave_like 'An Adapter'
9
-
10
- end
11
- end
12
- end