dm-core 1.2.0 → 1.2.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,72 @@
1
+ require File.expand_path(File.join(File.dirname(__FILE__), '..', '..', 'spec_helper'))
2
+
3
+ describe 'DataMapper::Resource' do
4
+ before :all do
5
+ class ::Author
6
+ include DataMapper::Resource
7
+
8
+ property :id, Serial
9
+ property :string_, String
10
+ property :bool_, Boolean
11
+ property :float_, Float
12
+ property :integer_, Integer
13
+ property :decimal_, Decimal
14
+ property :datetime_, DateTime
15
+ property :date_, Date
16
+ property :time_, Time
17
+ end
18
+
19
+ DataMapper.finalize
20
+
21
+ @model = Author
22
+ end
23
+
24
+ supported_by :all do
25
+ before do
26
+ @values = {
27
+ :string_ => Addressable::URI.parse('http://test.example/'),
28
+ :bool_ => true,
29
+ :float_ => 2.5,
30
+ :integer_ => 10,
31
+ :decimal_ => BigDecimal.new("999.95"),
32
+ :datetime_ => DateTime.parse('2010-10-11 12:13:14+0'),
33
+ :date_ => Date.parse('2010-10-11 12:13:14+0'),
34
+ :time_ => Time.parse('2010-10-11 12:13:14+0'),
35
+ }
36
+ @string_values = {
37
+ :string_ => 'http://test.example/',
38
+ :decimal_ => '999.95',
39
+ }
40
+
41
+ @resource = @model.create(@values)
42
+ end
43
+
44
+ describe '.new' do
45
+ subject { @resource }
46
+
47
+ it { should_not be_dirty }
48
+ end
49
+
50
+ [:string_, :bool_, :float_, :integer_, :decimal_, :datetime_, :date_, :time_].each do |property|
51
+ describe "#{property.to_s[0...-1]} property mutator" do
52
+ before do
53
+ @resource.send("#{property}=", @string_values[property] || @values[property].to_s)
54
+ end
55
+
56
+ it 'type casts given equal value so resource remains clean' do
57
+ @resource.should_not be_dirty
58
+ end
59
+ end
60
+
61
+ describe "#attribute_set for #{property.to_s[0...-1]} property" do
62
+ before do
63
+ @resource.attribute_set(property, @string_values[property] || @values[property].to_s)
64
+ end
65
+
66
+ it 'type casts given equal value so resource remains clean' do
67
+ @resource.should_not be_dirty
68
+ end
69
+ end
70
+ end
71
+ end
72
+ end
@@ -72,7 +72,7 @@ describe DataMapper::Resource do
72
72
  before :all do
73
73
  user = @user_model.create(:name => 'dbussink', :age => 25, :description => 'Test')
74
74
 
75
- @user = @user_model.get(*user.key)
75
+ @user = @user_model.get!(*user.key)
76
76
  end
77
77
 
78
78
  it_should_behave_like 'A public Resource'
@@ -187,7 +187,7 @@ describe DataMapper::Resource do
187
187
  rescue_if @skip do
188
188
  @dkubb = @user.referrer = @user_model.create(:name => 'dkubb', :age => 33)
189
189
  @user.save
190
- @user = @user_model.get(*@user.key)
190
+ @user = @user_model.get!(*@user.key)
191
191
  @user.referrer.should == @dkubb
192
192
 
193
193
  @solnic = @user_model.create(:name => 'solnic', :age => 28)
@@ -196,7 +196,7 @@ describe DataMapper::Resource do
196
196
 
197
197
  relationship = @user_model.relationships[:referrer]
198
198
  relationship.child_key.to_a.each_with_index do |k, i|
199
- @attributes[k.name] = relationship.parent_key.to_a[i].get(@solnic)
199
+ @attributes[k.name] = relationship.parent_key.to_a[i].get!(@solnic)
200
200
  end
201
201
 
202
202
  @return = @user.__send__(method, @attributes)
@@ -212,12 +212,12 @@ describe DataMapper::Resource do
212
212
  end
213
213
 
214
214
  it 'should persist the changes' do
215
- resource = @user_model.get(*@user.key)
215
+ resource = @user_model.get!(*@user.key)
216
216
  @attributes.each { |key, value| resource.__send__(key).should == value }
217
217
  end
218
218
 
219
219
  it 'should return correct parent' do
220
- resource = @user_model.get(*@user.key)
220
+ resource = @user_model.get!(*@user.key)
221
221
  resource.referrer.should == @solnic
222
222
  end
223
223
  end
@@ -458,7 +458,7 @@ share_examples_for 'A public Collection' do
458
458
  end
459
459
 
460
460
  it 'should not destroy the other Resource' do
461
- @article_model.get(*@other.key).should_not be_nil
461
+ @article_model.get!(*@other.key).should_not be_nil
462
462
  end
463
463
  end
464
464
  end
@@ -1555,7 +1555,7 @@ share_examples_for 'A public Collection' do
1555
1555
  end
1556
1556
 
1557
1557
  it 'should persist the changes' do
1558
- resource = @article_model.get(*@article.key)
1558
+ resource = @article_model.get!(*@article.key)
1559
1559
  @attributes.each { |key, value| resource.__send__(key).should == value }
1560
1560
  end
1561
1561
  end
@@ -1580,7 +1580,7 @@ share_examples_for 'A public Collection' do
1580
1580
  end
1581
1581
 
1582
1582
  it 'should persist the changes' do
1583
- resource = @article_model.get(*@article.key)
1583
+ resource = @article_model.get!(*@article.key)
1584
1584
  @attributes.each { |key, value| resource.__send__(key).should == value }
1585
1585
  end
1586
1586
  end
@@ -1625,7 +1625,7 @@ share_examples_for 'A public Collection' do
1625
1625
  end
1626
1626
 
1627
1627
  it 'should persist the changes' do
1628
- resource = @article_model.get(*@article.key)
1628
+ resource = @article_model.get!(*@article.key)
1629
1629
  @attributes.each { |key, value| resource.__send__(key).should == value }
1630
1630
  end
1631
1631
 
@@ -895,19 +895,37 @@ share_examples_for 'Finder Interface' do
895
895
  it { @articles.should respond_to(:each) }
896
896
 
897
897
  describe '#each' do
898
- subject { @articles.each(&block) }
898
+ context 'with a block' do
899
+ subject { @articles.each(&block) }
899
900
 
900
- let(:yields) { [] }
901
- let(:block) { lambda { |resource| yields << resource } }
901
+ let(:yields) { [] }
902
+ let(:block) { lambda { |resource| yields << resource } }
902
903
 
903
- before do
904
- @copy = @articles.kind_of?(Class) ? @articles : @articles.dup
905
- @copy.to_a
904
+ before do
905
+ @copy = @articles.kind_of?(Class) ? @articles : @articles.dup
906
+ @copy.to_a
907
+ end
908
+
909
+ it { should equal(@articles) }
910
+
911
+ it { method(:subject).should change { yields.dup }.from([]).to(@copy.to_a) }
906
912
  end
907
913
 
908
- it { should equal(@articles) }
914
+ context 'without a block' do
915
+ subject { @articles.each }
909
916
 
910
- it { method(:subject).should change { yields.dup }.from([]).to(@copy.to_a) }
917
+ let(:yields) { [] }
918
+ let(:block) { lambda { |resource| yields << resource } }
919
+
920
+ before do
921
+ @copy = @articles.kind_of?(Class) ? @articles : @articles.dup
922
+ @copy.to_a
923
+ end
924
+
925
+ it { should be_instance_of(to_enum.class) }
926
+
927
+ it { expect { subject.each(&block) }.to change { yields.dup }.from([]).to(@copy.to_a) }
928
+ end
911
929
  end
912
930
 
913
931
  it { @articles.should respond_to(:fetch) }
@@ -1,5 +1,3 @@
1
1
  --colour
2
2
  --loadby random
3
- --require ./spec/lib/rspec_immediate_feedback_formatter.rb
4
- --format Spec::Runner::Formatter::ImmediateFeedbackFormatter
5
- --backtrace
3
+ --format profile
metadata CHANGED
@@ -1,98 +1,70 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: dm-core
3
- version: !ruby/object:Gem::Version
4
- hash: 31
5
- prerelease:
6
- segments:
7
- - 1
8
- - 2
9
- - 0
10
- version: 1.2.0
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.2.1
11
5
  platform: ruby
12
- authors:
6
+ authors:
13
7
  - Dan Kubb
14
8
  autorequire:
15
9
  bindir: bin
16
10
  cert_chain: []
17
-
18
- date: 2011-10-09 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
11
+ date: 2013-06-10 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
21
14
  name: addressable
22
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
24
- none: false
25
- requirements:
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
26
17
  - - ~>
27
- - !ruby/object:Gem::Version
28
- hash: 11
29
- segments:
30
- - 2
31
- - 2
32
- - 6
33
- version: 2.2.6
18
+ - !ruby/object:Gem::Version
19
+ version: '2.3'
34
20
  type: :runtime
35
- version_requirements: *id001
36
- - !ruby/object:Gem::Dependency
37
- name: jeweler
38
21
  prerelease: false
39
- requirement: &id002 !ruby/object:Gem::Requirement
40
- none: false
41
- requirements:
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
42
24
  - - ~>
43
- - !ruby/object:Gem::Version
44
- hash: 7
45
- segments:
46
- - 1
47
- - 6
48
- - 4
49
- version: 1.6.4
50
- type: :development
51
- version_requirements: *id002
52
- - !ruby/object:Gem::Dependency
25
+ - !ruby/object:Gem::Version
26
+ version: '2.3'
27
+ - !ruby/object:Gem::Dependency
53
28
  name: rake
54
- prerelease: false
55
- requirement: &id003 !ruby/object:Gem::Requirement
56
- none: false
57
- requirements:
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
58
31
  - - ~>
59
- - !ruby/object:Gem::Version
60
- hash: 63
61
- segments:
62
- - 0
63
- - 9
64
- - 2
65
- version: 0.9.2
32
+ - !ruby/object:Gem::Version
33
+ version: 10.0.3
66
34
  type: :development
67
- version_requirements: *id003
68
- - !ruby/object:Gem::Dependency
69
- name: rspec
70
35
  prerelease: false
71
- requirement: &id004 !ruby/object:Gem::Requirement
72
- none: false
73
- requirements:
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ version: 10.0.3
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
74
45
  - - ~>
75
- - !ruby/object:Gem::Version
76
- hash: 31
77
- segments:
78
- - 1
79
- - 3
80
- - 2
46
+ - !ruby/object:Gem::Version
81
47
  version: 1.3.2
82
48
  type: :development
83
- version_requirements: *id004
84
- description: Faster, Better, Simpler.
85
- email: dan.kubb@gmail.com
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: 1.3.2
55
+ description: DataMapper core library
56
+ email:
57
+ - dan.kubb@gmail.com
86
58
  executables: []
87
-
88
59
  extensions: []
89
-
90
- extra_rdoc_files:
60
+ extra_rdoc_files:
91
61
  - LICENSE
92
62
  - README.rdoc
93
- files:
63
+ files:
94
64
  - .autotest
95
65
  - .document
66
+ - .gitignore
67
+ - .travis.yml
96
68
  - .yardopts
97
69
  - Gemfile
98
70
  - LICENSE
@@ -227,6 +199,7 @@ files:
227
199
  - spec/public/property/text_spec.rb
228
200
  - spec/public/property/time_spec.rb
229
201
  - spec/public/property_spec.rb
202
+ - spec/public/resource/state_spec.rb
230
203
  - spec/public/resource_spec.rb
231
204
  - spec/public/sel_spec.rb
232
205
  - spec/public/setup_spec.rb
@@ -344,38 +317,171 @@ files:
344
317
  - tasks/spec.rake
345
318
  - tasks/yard.rake
346
319
  - tasks/yardstick.rake
347
- homepage: http://github.com/datamapper/dm-core
320
+ homepage: https://github.com/datamapper/dm-core
348
321
  licenses: []
349
-
322
+ metadata: {}
350
323
  post_install_message:
351
324
  rdoc_options: []
352
-
353
- require_paths:
325
+ require_paths:
354
326
  - lib
355
- required_ruby_version: !ruby/object:Gem::Requirement
356
- none: false
357
- requirements:
358
- - - ">="
359
- - !ruby/object:Gem::Version
360
- hash: 3
361
- segments:
362
- - 0
363
- version: "0"
364
- required_rubygems_version: !ruby/object:Gem::Requirement
365
- none: false
366
- requirements:
367
- - - ">="
368
- - !ruby/object:Gem::Version
369
- hash: 3
370
- segments:
371
- - 0
372
- version: "0"
327
+ required_ruby_version: !ruby/object:Gem::Requirement
328
+ requirements:
329
+ - - '>='
330
+ - !ruby/object:Gem::Version
331
+ version: '0'
332
+ required_rubygems_version: !ruby/object:Gem::Requirement
333
+ requirements:
334
+ - - '>='
335
+ - !ruby/object:Gem::Version
336
+ version: '0'
373
337
  requirements: []
374
-
375
- rubyforge_project: datamapper
376
- rubygems_version: 1.8.11
338
+ rubyforge_project:
339
+ rubygems_version: 2.0.2
377
340
  signing_key:
378
- specification_version: 3
379
- summary: An Object/Relational Mapper for Ruby
380
- test_files: []
381
-
341
+ specification_version: 4
342
+ summary: DataMapper core library
343
+ test_files:
344
+ - spec/lib/rspec_immediate_feedback_formatter.rb
345
+ - spec/public/associations/many_to_many/read_multiple_join_spec.rb
346
+ - spec/public/associations/many_to_many_spec.rb
347
+ - spec/public/associations/many_to_one_spec.rb
348
+ - spec/public/associations/many_to_one_with_boolean_cpk_spec.rb
349
+ - spec/public/associations/many_to_one_with_custom_fk_spec.rb
350
+ - spec/public/associations/one_to_many_spec.rb
351
+ - spec/public/associations/one_to_one_spec.rb
352
+ - spec/public/associations/one_to_one_with_boolean_cpk_spec.rb
353
+ - spec/public/collection_spec.rb
354
+ - spec/public/finalize_spec.rb
355
+ - spec/public/model/hook_spec.rb
356
+ - spec/public/model/property_spec.rb
357
+ - spec/public/model/relationship_spec.rb
358
+ - spec/public/model_spec.rb
359
+ - spec/public/property/binary_spec.rb
360
+ - spec/public/property/boolean_spec.rb
361
+ - spec/public/property/class_spec.rb
362
+ - spec/public/property/date_spec.rb
363
+ - spec/public/property/date_time_spec.rb
364
+ - spec/public/property/decimal_spec.rb
365
+ - spec/public/property/discriminator_spec.rb
366
+ - spec/public/property/float_spec.rb
367
+ - spec/public/property/integer_spec.rb
368
+ - spec/public/property/object_spec.rb
369
+ - spec/public/property/serial_spec.rb
370
+ - spec/public/property/string_spec.rb
371
+ - spec/public/property/text_spec.rb
372
+ - spec/public/property/time_spec.rb
373
+ - spec/public/property_spec.rb
374
+ - spec/public/resource/state_spec.rb
375
+ - spec/public/resource_spec.rb
376
+ - spec/public/sel_spec.rb
377
+ - spec/public/setup_spec.rb
378
+ - spec/public/shared/association_collection_shared_spec.rb
379
+ - spec/public/shared/collection_finder_shared_spec.rb
380
+ - spec/public/shared/collection_shared_spec.rb
381
+ - spec/public/shared/finder_shared_spec.rb
382
+ - spec/rcov.opts
383
+ - spec/semipublic/adapters/abstract_adapter_spec.rb
384
+ - spec/semipublic/adapters/in_memory_adapter_spec.rb
385
+ - spec/semipublic/associations/many_to_many_spec.rb
386
+ - spec/semipublic/associations/many_to_one_spec.rb
387
+ - spec/semipublic/associations/one_to_many_spec.rb
388
+ - spec/semipublic/associations/one_to_one_spec.rb
389
+ - spec/semipublic/associations/relationship_spec.rb
390
+ - spec/semipublic/associations_spec.rb
391
+ - spec/semipublic/collection_spec.rb
392
+ - spec/semipublic/model_spec.rb
393
+ - spec/semipublic/property/binary_spec.rb
394
+ - spec/semipublic/property/boolean_spec.rb
395
+ - spec/semipublic/property/class_spec.rb
396
+ - spec/semipublic/property/date_spec.rb
397
+ - spec/semipublic/property/date_time_spec.rb
398
+ - spec/semipublic/property/decimal_spec.rb
399
+ - spec/semipublic/property/discriminator_spec.rb
400
+ - spec/semipublic/property/float_spec.rb
401
+ - spec/semipublic/property/integer_spec.rb
402
+ - spec/semipublic/property/lookup_spec.rb
403
+ - spec/semipublic/property/serial_spec.rb
404
+ - spec/semipublic/property/string_spec.rb
405
+ - spec/semipublic/property/text_spec.rb
406
+ - spec/semipublic/property/time_spec.rb
407
+ - spec/semipublic/property_spec.rb
408
+ - spec/semipublic/query/conditions/comparison_spec.rb
409
+ - spec/semipublic/query/conditions/operation_spec.rb
410
+ - spec/semipublic/query/path_spec.rb
411
+ - spec/semipublic/query_spec.rb
412
+ - spec/semipublic/resource/state/clean_spec.rb
413
+ - spec/semipublic/resource/state/deleted_spec.rb
414
+ - spec/semipublic/resource/state/dirty_spec.rb
415
+ - spec/semipublic/resource/state/immutable_spec.rb
416
+ - spec/semipublic/resource/state/transient_spec.rb
417
+ - spec/semipublic/resource/state_spec.rb
418
+ - spec/semipublic/resource_spec.rb
419
+ - spec/semipublic/shared/condition_shared_spec.rb
420
+ - spec/semipublic/shared/resource_shared_spec.rb
421
+ - spec/semipublic/shared/resource_state_shared_spec.rb
422
+ - spec/semipublic/shared/subject_shared_spec.rb
423
+ - spec/spec.opts
424
+ - spec/spec_helper.rb
425
+ - spec/support/core_ext/hash.rb
426
+ - spec/support/core_ext/inheritable_attributes.rb
427
+ - spec/support/properties/huge_integer.rb
428
+ - spec/unit/array_spec.rb
429
+ - spec/unit/blank_spec.rb
430
+ - spec/unit/data_mapper/ordered_set/append_spec.rb
431
+ - spec/unit/data_mapper/ordered_set/clear_spec.rb
432
+ - spec/unit/data_mapper/ordered_set/delete_spec.rb
433
+ - spec/unit/data_mapper/ordered_set/each_spec.rb
434
+ - spec/unit/data_mapper/ordered_set/empty_spec.rb
435
+ - spec/unit/data_mapper/ordered_set/entries_spec.rb
436
+ - spec/unit/data_mapper/ordered_set/eql_spec.rb
437
+ - spec/unit/data_mapper/ordered_set/equal_value_spec.rb
438
+ - spec/unit/data_mapper/ordered_set/hash_spec.rb
439
+ - spec/unit/data_mapper/ordered_set/include_spec.rb
440
+ - spec/unit/data_mapper/ordered_set/index_spec.rb
441
+ - spec/unit/data_mapper/ordered_set/initialize_spec.rb
442
+ - spec/unit/data_mapper/ordered_set/merge_spec.rb
443
+ - spec/unit/data_mapper/ordered_set/shared/append_spec.rb
444
+ - spec/unit/data_mapper/ordered_set/shared/clear_spec.rb
445
+ - spec/unit/data_mapper/ordered_set/shared/delete_spec.rb
446
+ - spec/unit/data_mapper/ordered_set/shared/each_spec.rb
447
+ - spec/unit/data_mapper/ordered_set/shared/empty_spec.rb
448
+ - spec/unit/data_mapper/ordered_set/shared/entries_spec.rb
449
+ - spec/unit/data_mapper/ordered_set/shared/include_spec.rb
450
+ - spec/unit/data_mapper/ordered_set/shared/index_spec.rb
451
+ - spec/unit/data_mapper/ordered_set/shared/initialize_spec.rb
452
+ - spec/unit/data_mapper/ordered_set/shared/merge_spec.rb
453
+ - spec/unit/data_mapper/ordered_set/shared/size_spec.rb
454
+ - spec/unit/data_mapper/ordered_set/shared/to_ary_spec.rb
455
+ - spec/unit/data_mapper/ordered_set/size_spec.rb
456
+ - spec/unit/data_mapper/ordered_set/to_ary_spec.rb
457
+ - spec/unit/data_mapper/subject_set/append_spec.rb
458
+ - spec/unit/data_mapper/subject_set/clear_spec.rb
459
+ - spec/unit/data_mapper/subject_set/delete_spec.rb
460
+ - spec/unit/data_mapper/subject_set/each_spec.rb
461
+ - spec/unit/data_mapper/subject_set/empty_spec.rb
462
+ - spec/unit/data_mapper/subject_set/entries_spec.rb
463
+ - spec/unit/data_mapper/subject_set/get_spec.rb
464
+ - spec/unit/data_mapper/subject_set/include_spec.rb
465
+ - spec/unit/data_mapper/subject_set/named_spec.rb
466
+ - spec/unit/data_mapper/subject_set/shared/append_spec.rb
467
+ - spec/unit/data_mapper/subject_set/shared/clear_spec.rb
468
+ - spec/unit/data_mapper/subject_set/shared/delete_spec.rb
469
+ - spec/unit/data_mapper/subject_set/shared/each_spec.rb
470
+ - spec/unit/data_mapper/subject_set/shared/empty_spec.rb
471
+ - spec/unit/data_mapper/subject_set/shared/entries_spec.rb
472
+ - spec/unit/data_mapper/subject_set/shared/get_spec.rb
473
+ - spec/unit/data_mapper/subject_set/shared/include_spec.rb
474
+ - spec/unit/data_mapper/subject_set/shared/named_spec.rb
475
+ - spec/unit/data_mapper/subject_set/shared/size_spec.rb
476
+ - spec/unit/data_mapper/subject_set/shared/to_ary_spec.rb
477
+ - spec/unit/data_mapper/subject_set/shared/values_at_spec.rb
478
+ - spec/unit/data_mapper/subject_set/size_spec.rb
479
+ - spec/unit/data_mapper/subject_set/to_ary_spec.rb
480
+ - spec/unit/data_mapper/subject_set/values_at_spec.rb
481
+ - spec/unit/hash_spec.rb
482
+ - spec/unit/hook_spec.rb
483
+ - spec/unit/lazy_array_spec.rb
484
+ - spec/unit/mash_spec.rb
485
+ - spec/unit/module_spec.rb
486
+ - spec/unit/object_spec.rb
487
+ - spec/unit/try_dup_spec.rb