dm-is-versioned 1.1.0 → 1.2.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.
data/Gemfile CHANGED
@@ -5,26 +5,26 @@ source 'http://rubygems.org'
5
5
  SOURCE = ENV.fetch('SOURCE', :git).to_sym
6
6
  REPO_POSTFIX = SOURCE == :path ? '' : '.git'
7
7
  DATAMAPPER = SOURCE == :path ? Pathname(__FILE__).dirname.parent : 'http://github.com/datamapper'
8
- DM_VERSION = '~> 1.1.0'
9
- DO_VERSION = '~> 0.10.2'
8
+ DM_VERSION = '~> 1.2.0.rc1'
9
+ DO_VERSION = '~> 0.10.6'
10
10
  DM_DO_ADAPTERS = %w[ sqlite postgres mysql oracle sqlserver ]
11
11
 
12
12
  gem 'dm-core', DM_VERSION, SOURCE => "#{DATAMAPPER}/dm-core#{REPO_POSTFIX}"
13
13
 
14
14
  group :development do
15
15
 
16
- gem 'jeweler', '~> 1.5.2'
17
- gem 'rake', '~> 0.8.7'
18
- gem 'rspec', '~> 1.3.1'
16
+ gem 'jeweler', '~> 1.6.4'
17
+ gem 'rake', '~> 0.9.2'
18
+ gem 'rspec', '~> 1.3.2'
19
19
 
20
20
  end
21
21
 
22
22
  platforms :mri_18 do
23
23
  group :quality do
24
24
 
25
- gem 'rcov', '~> 0.9.9'
26
- gem 'yard', '~> 0.6'
27
- gem 'yardstick', '~> 0.2'
25
+ gem 'rcov', '~> 0.9.10'
26
+ gem 'yard', '~> 0.7.2'
27
+ gem 'yardstick', '~> 0.4'
28
28
 
29
29
  end
30
30
  end
data/Rakefile CHANGED
@@ -2,7 +2,7 @@ require 'rubygems'
2
2
  require 'rake'
3
3
 
4
4
  begin
5
- gem 'jeweler', '~> 1.5.2'
5
+ gem 'jeweler', '~> 1.6.4'
6
6
  require 'jeweler'
7
7
 
8
8
  Jeweler::Tasks.new do |gem|
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.1.0
1
+ 1.2.0.rc1
@@ -4,14 +4,14 @@
4
4
  # -*- encoding: utf-8 -*-
5
5
 
6
6
  Gem::Specification.new do |s|
7
- s.name = %q{dm-is-versioned}
8
- s.version = "1.1.0"
7
+ s.name = "dm-is-versioned"
8
+ s.version = "1.2.0.rc1"
9
9
 
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
10
+ s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Bernerd Schaefer"]
12
- s.date = %q{2011-03-16}
13
- s.description = %q{DataMapper plugin enabling simple versioning of models}
14
- s.email = %q{bernerd [a] wieck [d] com}
12
+ s.date = "2011-09-09"
13
+ s.description = "DataMapper plugin enabling simple versioning of models"
14
+ s.email = "bernerd [a] wieck [d] com"
15
15
  s.extra_rdoc_files = [
16
16
  "LICENSE",
17
17
  "README.rdoc"
@@ -33,35 +33,31 @@ Gem::Specification.new do |s|
33
33
  "tasks/yard.rake",
34
34
  "tasks/yardstick.rake"
35
35
  ]
36
- s.homepage = %q{http://github.com/datamapper/dm-is-versioned}
36
+ s.homepage = "http://github.com/datamapper/dm-is-versioned"
37
37
  s.require_paths = ["lib"]
38
- s.rubyforge_project = %q{datamapper}
39
- s.rubygems_version = %q{1.6.2}
40
- s.summary = %q{DataMapper plugin enabling simple versioning of models}
41
- s.test_files = [
42
- "spec/spec_helper.rb",
43
- "spec/versioned_spec.rb"
44
- ]
38
+ s.rubyforge_project = "datamapper"
39
+ s.rubygems_version = "1.8.10"
40
+ s.summary = "DataMapper plugin enabling simple versioning of models"
45
41
 
46
42
  if s.respond_to? :specification_version then
47
43
  s.specification_version = 3
48
44
 
49
45
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
50
- s.add_runtime_dependency(%q<dm-core>, ["~> 1.1.0"])
51
- s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
52
- s.add_development_dependency(%q<rake>, ["~> 0.8.7"])
53
- s.add_development_dependency(%q<rspec>, ["~> 1.3.1"])
46
+ s.add_runtime_dependency(%q<dm-core>, ["~> 1.2.0.rc1"])
47
+ s.add_development_dependency(%q<jeweler>, ["~> 1.6.4"])
48
+ s.add_development_dependency(%q<rake>, ["~> 0.9.2"])
49
+ s.add_development_dependency(%q<rspec>, ["~> 1.3.2"])
54
50
  else
55
- s.add_dependency(%q<dm-core>, ["~> 1.1.0"])
56
- s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
57
- s.add_dependency(%q<rake>, ["~> 0.8.7"])
58
- s.add_dependency(%q<rspec>, ["~> 1.3.1"])
51
+ s.add_dependency(%q<dm-core>, ["~> 1.2.0.rc1"])
52
+ s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
53
+ s.add_dependency(%q<rake>, ["~> 0.9.2"])
54
+ s.add_dependency(%q<rspec>, ["~> 1.3.2"])
59
55
  end
60
56
  else
61
- s.add_dependency(%q<dm-core>, ["~> 1.1.0"])
62
- s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
63
- s.add_dependency(%q<rake>, ["~> 0.8.7"])
64
- s.add_dependency(%q<rspec>, ["~> 1.3.1"])
57
+ s.add_dependency(%q<dm-core>, ["~> 1.2.0.rc1"])
58
+ s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
59
+ s.add_dependency(%q<rake>, ["~> 0.9.2"])
60
+ s.add_dependency(%q<rspec>, ["~> 1.3.2"])
65
61
  end
66
62
  end
67
63
 
@@ -73,7 +73,7 @@ module DataMapper
73
73
  module ClassMethods
74
74
  def const_missing(name)
75
75
  if name == :Version
76
- model = DataMapper::Model.new
76
+ model = DataMapper::Model.new(name, self)
77
77
 
78
78
  properties.each do |property|
79
79
  type = case property
@@ -90,7 +90,7 @@ module DataMapper
90
90
  model.property(property.name, type, options)
91
91
  end
92
92
 
93
- const_set(name, model)
93
+ model
94
94
  else
95
95
  super
96
96
  end
@@ -118,8 +118,7 @@ module DataMapper
118
118
  # @return <Collection>
119
119
  def versions
120
120
  version_model = model.const_get(:Version)
121
- pairs = model.key.zip(key).map { |p, v| [ p.name, v ] }
122
- query = DataMapper::Ext::Array.to_hash(pairs)
121
+ query = Hash[ model.key.zip(key).map { |p, v| [ p.name, v ] } ]
123
122
  query.merge(:order => version_model.key.map { |k| k.name.desc })
124
123
  version_model.all(query)
125
124
  end
@@ -75,25 +75,33 @@ describe 'DataMapper::Is::Versioned' do
75
75
  end
76
76
  end
77
77
 
78
- describe '(with a dirty existing resource)' do
79
- before :all do
80
- @story = Story.create(:title => 'A Story')
81
- @story.title = 'An Inner Update'
82
- @story.title = 'An Updated Story'
83
- @story.save.should be(true)
84
- end
78
+ # FIXME: temporarily disable specs that fail with the current DO gem
79
+ unless defined?(DataObjects::VERSION) &&
80
+ DataObjects::VERSION <= '0.10.3' &&
81
+ RUBY_PLATFORM =~ /java/ &&
82
+ JRUBY_VERSION >= '1.6' &&
83
+ RUBY_VERSION >= '1.9.2'
84
+
85
+ describe '(with a dirty existing resource)' do
86
+ before :all do
87
+ @story = Story.create(:title => 'A Story')
88
+ @story.title = 'An Inner Update'
89
+ @story.title = 'An Updated Story'
90
+ @story.save.should be(true)
91
+ end
85
92
 
86
- it 'should create a versioned copy' do
87
- Story::Version.all.size.should == 1
88
- end
93
+ it 'should create a versioned copy' do
94
+ Story::Version.all.size.should == 1
95
+ end
89
96
 
90
- it 'should not have the same value for the versioned field' do
91
- @story.updated_at.should_not == Story::Version.first.updated_at
92
- end
97
+ it 'should not have the same value for the versioned field' do
98
+ @story.updated_at.should_not == Story::Version.first.updated_at
99
+ end
93
100
 
94
- it 'should save the original value, not the inner update' do
95
- # changes to the story between saves shouldn't be updated.
96
- @story.versions.last.title.should == 'A Story'
101
+ it 'should save the original value, not the inner update' do
102
+ # changes to the story between saves shouldn't be updated.
103
+ @story.versions.last.title.should == 'A Story'
104
+ end
97
105
  end
98
106
  end
99
107
  end
metadata CHANGED
@@ -1,8 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dm-is-versioned
3
3
  version: !ruby/object:Gem::Version
4
- prerelease:
5
- version: 1.1.0
4
+ hash: 15424023
5
+ prerelease: 6
6
+ segments:
7
+ - 1
8
+ - 2
9
+ - 0
10
+ - rc
11
+ - 1
12
+ version: 1.2.0.rc1
6
13
  platform: ruby
7
14
  authors:
8
15
  - Bernerd Schaefer
@@ -10,53 +17,74 @@ autorequire:
10
17
  bindir: bin
11
18
  cert_chain: []
12
19
 
13
- date: 2011-03-16 00:00:00 -07:00
14
- default_executable:
20
+ date: 2011-09-09 00:00:00 Z
15
21
  dependencies:
16
22
  - !ruby/object:Gem::Dependency
17
- name: dm-core
18
- requirement: &id001 !ruby/object:Gem::Requirement
23
+ type: :runtime
24
+ version_requirements: &id001 !ruby/object:Gem::Requirement
19
25
  none: false
20
26
  requirements:
21
27
  - - ~>
22
28
  - !ruby/object:Gem::Version
23
- version: 1.1.0
24
- type: :runtime
29
+ hash: 15424023
30
+ segments:
31
+ - 1
32
+ - 2
33
+ - 0
34
+ - rc
35
+ - 1
36
+ version: 1.2.0.rc1
25
37
  prerelease: false
26
- version_requirements: *id001
38
+ requirement: *id001
39
+ name: dm-core
27
40
  - !ruby/object:Gem::Dependency
28
- name: jeweler
29
- requirement: &id002 !ruby/object:Gem::Requirement
41
+ type: :development
42
+ version_requirements: &id002 !ruby/object:Gem::Requirement
30
43
  none: false
31
44
  requirements:
32
45
  - - ~>
33
46
  - !ruby/object:Gem::Version
34
- version: 1.5.2
35
- type: :development
47
+ hash: 7
48
+ segments:
49
+ - 1
50
+ - 6
51
+ - 4
52
+ version: 1.6.4
36
53
  prerelease: false
37
- version_requirements: *id002
54
+ requirement: *id002
55
+ name: jeweler
38
56
  - !ruby/object:Gem::Dependency
39
- name: rake
40
- requirement: &id003 !ruby/object:Gem::Requirement
57
+ type: :development
58
+ version_requirements: &id003 !ruby/object:Gem::Requirement
41
59
  none: false
42
60
  requirements:
43
61
  - - ~>
44
62
  - !ruby/object:Gem::Version
45
- version: 0.8.7
46
- type: :development
63
+ hash: 63
64
+ segments:
65
+ - 0
66
+ - 9
67
+ - 2
68
+ version: 0.9.2
47
69
  prerelease: false
48
- version_requirements: *id003
70
+ requirement: *id003
71
+ name: rake
49
72
  - !ruby/object:Gem::Dependency
50
- name: rspec
51
- requirement: &id004 !ruby/object:Gem::Requirement
73
+ type: :development
74
+ version_requirements: &id004 !ruby/object:Gem::Requirement
52
75
  none: false
53
76
  requirements:
54
77
  - - ~>
55
78
  - !ruby/object:Gem::Version
56
- version: 1.3.1
57
- type: :development
79
+ hash: 31
80
+ segments:
81
+ - 1
82
+ - 3
83
+ - 2
84
+ version: 1.3.2
58
85
  prerelease: false
59
- version_requirements: *id004
86
+ requirement: *id004
87
+ name: rspec
60
88
  description: DataMapper plugin enabling simple versioning of models
61
89
  email: bernerd [a] wieck [d] com
62
90
  executables: []
@@ -82,7 +110,6 @@ files:
82
110
  - tasks/spec.rake
83
111
  - tasks/yard.rake
84
112
  - tasks/yardstick.rake
85
- has_rdoc: true
86
113
  homepage: http://github.com/datamapper/dm-is-versioned
87
114
  licenses: []
88
115
 
@@ -96,20 +123,27 @@ required_ruby_version: !ruby/object:Gem::Requirement
96
123
  requirements:
97
124
  - - ">="
98
125
  - !ruby/object:Gem::Version
126
+ hash: 3
127
+ segments:
128
+ - 0
99
129
  version: "0"
100
130
  required_rubygems_version: !ruby/object:Gem::Requirement
101
131
  none: false
102
132
  requirements:
103
- - - ">="
133
+ - - ">"
104
134
  - !ruby/object:Gem::Version
105
- version: "0"
135
+ hash: 25
136
+ segments:
137
+ - 1
138
+ - 3
139
+ - 1
140
+ version: 1.3.1
106
141
  requirements: []
107
142
 
108
143
  rubyforge_project: datamapper
109
- rubygems_version: 1.6.2
144
+ rubygems_version: 1.8.10
110
145
  signing_key:
111
146
  specification_version: 3
112
147
  summary: DataMapper plugin enabling simple versioning of models
113
- test_files:
114
- - spec/spec_helper.rb
115
- - spec/versioned_spec.rb
148
+ test_files: []
149
+