dm-core 1.2.0 → 1.2.1

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.
@@ -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