dm-types 1.0.0.rc2 → 1.0.0.rc3
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 +1 -1
- data/LICENSE +1 -1
- data/Rakefile +8 -8
- data/VERSION +1 -1
- data/dm-types.gemspec +9 -9
- data/lib/dm-types/bcrypt_hash.rb +5 -0
- data/lib/dm-types/enum.rb +7 -1
- data/lib/dm-types/epoch_time.rb +8 -1
- data/lib/dm-types/file_path.rb +4 -0
- data/lib/dm-types/flag.rb +7 -1
- data/lib/dm-types/ip_address.rb +4 -0
- data/lib/dm-types/json.rb +4 -0
- data/lib/dm-types/slug.rb +1 -1
- data/spec/fixtures/ticket.rb +1 -1
- data/spec/fixtures/tshirt.rb +3 -3
- data/spec/integration/bcrypt_hash_spec.rb +4 -0
- data/spec/integration/comma_separated_list_spec.rb +4 -4
- data/spec/integration/enum_spec.rb +2 -2
- data/spec/integration/file_path_spec.rb +4 -4
- data/spec/integration/flag_spec.rb +2 -2
- data/spec/integration/ip_address_spec.rb +7 -7
- data/spec/integration/json_spec.rb +3 -3
- data/spec/integration/slug_spec.rb +11 -5
- data/spec/integration/uri_spec.rb +4 -4
- data/spec/integration/uuid_spec.rb +1 -1
- data/spec/integration/yaml_spec.rb +3 -3
- data/spec/rcov.opts +1 -1
- data/spec/unit/enum_spec.rb +1 -1
- data/spec/unit/file_path_spec.rb +12 -0
- data/spec/unit/flag_spec.rb +1 -1
- data/spec/unit/ip_address_spec.rb +12 -0
- data/spec/unit/json_spec.rb +17 -0
- data/spec/unit/paranoid_boolean_spec.rb +4 -4
- data/spec/unit/paranoid_datetime_spec.rb +4 -4
- data/tasks/spec.rake +3 -0
- metadata +11 -11
data/Gemfile
CHANGED
data/LICENSE
CHANGED
data/Rakefile
CHANGED
@@ -10,19 +10,19 @@ begin
|
|
10
10
|
gem.summary = 'DataMapper plugin providing extra data types'
|
11
11
|
gem.description = gem.summary
|
12
12
|
gem.email = 'dan.kubb [a] gmail [d] com'
|
13
|
-
gem.homepage = 'http://github.com/datamapper
|
13
|
+
gem.homepage = 'http://github.com/datamapper/%s' % gem.name
|
14
14
|
gem.authors = [ 'Dan Kubb' ]
|
15
15
|
|
16
16
|
gem.rubyforge_project = 'datamapper'
|
17
17
|
|
18
|
-
gem.add_dependency 'dm-core',
|
19
|
-
gem.add_dependency 'fastercsv',
|
20
|
-
gem.add_dependency 'json_pure',
|
21
|
-
gem.add_dependency 'uuidtools',
|
22
|
-
gem.add_dependency 'stringex',
|
18
|
+
gem.add_dependency 'dm-core', '~> 1.0.0.rc3'
|
19
|
+
gem.add_dependency 'fastercsv', '~> 1.5.3'
|
20
|
+
gem.add_dependency 'json_pure', '~> 1.4.3'
|
21
|
+
gem.add_dependency 'uuidtools', '~> 2.1.1'
|
22
|
+
gem.add_dependency 'stringex', '~> 1.1.0'
|
23
23
|
|
24
|
-
gem.add_development_dependency 'rspec',
|
25
|
-
gem.add_development_dependency 'dm-validations',
|
24
|
+
gem.add_development_dependency 'rspec', '~> 1.3'
|
25
|
+
gem.add_development_dependency 'dm-validations', '~> 1.0.0.rc3'
|
26
26
|
end
|
27
27
|
|
28
28
|
Jeweler::GemcutterTasks.new
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.0.0.
|
1
|
+
1.0.0.rc3
|
data/dm-types.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{dm-types}
|
8
|
-
s.version = "1.0.0.
|
8
|
+
s.version = "1.0.0.rc3"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Dan Kubb"]
|
12
|
-
s.date = %q{2010-05-
|
12
|
+
s.date = %q{2010-05-27}
|
13
13
|
s.description = %q{DataMapper plugin providing extra data types}
|
14
14
|
s.email = %q{dan.kubb [a] gmail [d] com}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -85,7 +85,7 @@ Gem::Specification.new do |s|
|
|
85
85
|
"tasks/yard.rake",
|
86
86
|
"tasks/yardstick.rake"
|
87
87
|
]
|
88
|
-
s.homepage = %q{http://github.com/datamapper/dm-
|
88
|
+
s.homepage = %q{http://github.com/datamapper/dm-types}
|
89
89
|
s.rdoc_options = ["--charset=UTF-8"]
|
90
90
|
s.require_paths = ["lib"]
|
91
91
|
s.rubyforge_project = %q{datamapper}
|
@@ -133,30 +133,30 @@ Gem::Specification.new do |s|
|
|
133
133
|
s.specification_version = 3
|
134
134
|
|
135
135
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
136
|
-
s.add_runtime_dependency(%q<dm-core>, ["~> 1.0.0.
|
136
|
+
s.add_runtime_dependency(%q<dm-core>, ["~> 1.0.0.rc3"])
|
137
137
|
s.add_runtime_dependency(%q<fastercsv>, ["~> 1.5.3"])
|
138
138
|
s.add_runtime_dependency(%q<json_pure>, ["~> 1.4.3"])
|
139
139
|
s.add_runtime_dependency(%q<uuidtools>, ["~> 2.1.1"])
|
140
140
|
s.add_runtime_dependency(%q<stringex>, ["~> 1.1.0"])
|
141
141
|
s.add_development_dependency(%q<rspec>, ["~> 1.3"])
|
142
|
-
s.add_development_dependency(%q<dm-validations>, ["~> 1.0.0.
|
142
|
+
s.add_development_dependency(%q<dm-validations>, ["~> 1.0.0.rc3"])
|
143
143
|
else
|
144
|
-
s.add_dependency(%q<dm-core>, ["~> 1.0.0.
|
144
|
+
s.add_dependency(%q<dm-core>, ["~> 1.0.0.rc3"])
|
145
145
|
s.add_dependency(%q<fastercsv>, ["~> 1.5.3"])
|
146
146
|
s.add_dependency(%q<json_pure>, ["~> 1.4.3"])
|
147
147
|
s.add_dependency(%q<uuidtools>, ["~> 2.1.1"])
|
148
148
|
s.add_dependency(%q<stringex>, ["~> 1.1.0"])
|
149
149
|
s.add_dependency(%q<rspec>, ["~> 1.3"])
|
150
|
-
s.add_dependency(%q<dm-validations>, ["~> 1.0.0.
|
150
|
+
s.add_dependency(%q<dm-validations>, ["~> 1.0.0.rc3"])
|
151
151
|
end
|
152
152
|
else
|
153
|
-
s.add_dependency(%q<dm-core>, ["~> 1.0.0.
|
153
|
+
s.add_dependency(%q<dm-core>, ["~> 1.0.0.rc3"])
|
154
154
|
s.add_dependency(%q<fastercsv>, ["~> 1.5.3"])
|
155
155
|
s.add_dependency(%q<json_pure>, ["~> 1.4.3"])
|
156
156
|
s.add_dependency(%q<uuidtools>, ["~> 2.1.1"])
|
157
157
|
s.add_dependency(%q<stringex>, ["~> 1.1.0"])
|
158
158
|
s.add_dependency(%q<rspec>, ["~> 1.3"])
|
159
|
-
s.add_dependency(%q<dm-validations>, ["~> 1.0.0.
|
159
|
+
s.add_dependency(%q<dm-validations>, ["~> 1.0.0.rc3"])
|
160
160
|
end
|
161
161
|
end
|
162
162
|
|
data/lib/dm-types/bcrypt_hash.rb
CHANGED
@@ -32,3 +32,8 @@ module DataMapper
|
|
32
32
|
end # class BCryptHash
|
33
33
|
end # class Property
|
34
34
|
end # module DataMapper
|
35
|
+
|
36
|
+
# The Bcrypt::Password#hash method returns a String and not an Integer,
|
37
|
+
# which is required by any ruby class that uses a Hash underneath. Removing
|
38
|
+
# this method does not cause any spec failures in Bcrypt::Password
|
39
|
+
BCrypt::Password.class_eval { remove_method :hash }
|
data/lib/dm-types/enum.rb
CHANGED
@@ -7,12 +7,18 @@ module DataMapper
|
|
7
7
|
|
8
8
|
attr_reader :flag_map
|
9
9
|
|
10
|
+
def self.[](*values)
|
11
|
+
klass = ::Class.new(self)
|
12
|
+
klass.flags(values)
|
13
|
+
klass
|
14
|
+
end
|
15
|
+
|
10
16
|
def initialize(model, name, options = {}, type = nil)
|
11
17
|
super
|
12
18
|
|
13
19
|
@flag_map = {}
|
14
20
|
|
15
|
-
flags = options.fetch(:flags)
|
21
|
+
flags = options.fetch(:flags, self.class.flags)
|
16
22
|
flags.each_with_index do |flag, i|
|
17
23
|
@flag_map[i + 1] = flag
|
18
24
|
end
|
data/lib/dm-types/epoch_time.rb
CHANGED
@@ -1,5 +1,12 @@
|
|
1
1
|
require 'dm-core'
|
2
2
|
|
3
|
+
begin
|
4
|
+
# provide Time#utc_time for DateTime#to_time in AS
|
5
|
+
require 'active_support/core_ext/time/calculations'
|
6
|
+
rescue LoadError
|
7
|
+
# do nothing, extlib is being used and does not require this method
|
8
|
+
end
|
9
|
+
|
3
10
|
module DataMapper
|
4
11
|
class Property
|
5
12
|
class EpochTime < Integer
|
@@ -14,7 +21,7 @@ module DataMapper
|
|
14
21
|
def dump(value)
|
15
22
|
case value
|
16
23
|
when ::Integer, ::Time then value.to_i
|
17
|
-
when ::DateTime
|
24
|
+
when ::DateTime then value.to_time.to_i
|
18
25
|
end
|
19
26
|
end
|
20
27
|
end # class EpochTime
|
data/lib/dm-types/file_path.rb
CHANGED
data/lib/dm-types/flag.rb
CHANGED
@@ -7,12 +7,18 @@ module DataMapper
|
|
7
7
|
|
8
8
|
attr_reader :flag_map
|
9
9
|
|
10
|
+
def self.[](*values)
|
11
|
+
klass = ::Class.new(self)
|
12
|
+
klass.flags(values)
|
13
|
+
klass
|
14
|
+
end
|
15
|
+
|
10
16
|
def initialize(model, name, options = {}, type = nil)
|
11
17
|
super
|
12
18
|
|
13
19
|
@flag_map = {}
|
14
20
|
|
15
|
-
flags = options.fetch(:flags)
|
21
|
+
flags = options.fetch(:flags, self.class.flags)
|
16
22
|
flags.each_with_index do |flag, i|
|
17
23
|
flag_map[i] = flag
|
18
24
|
end
|
data/lib/dm-types/ip_address.rb
CHANGED
data/lib/dm-types/json.rb
CHANGED
data/lib/dm-types/slug.rb
CHANGED
data/spec/fixtures/ticket.rb
CHANGED
@@ -16,7 +16,7 @@ module DataMapper
|
|
16
16
|
property :id, Serial
|
17
17
|
property :title, String, :length => 255
|
18
18
|
property :body, Text
|
19
|
-
property :status, Enum
|
19
|
+
property :status, Enum[:unconfirmed, :confirmed, :assigned, :resolved, :not_applicable]
|
20
20
|
end # Ticket
|
21
21
|
end
|
22
22
|
end
|
data/spec/fixtures/tshirt.rb
CHANGED
@@ -16,10 +16,10 @@ module DataMapper
|
|
16
16
|
property :id, Serial
|
17
17
|
property :writing, String
|
18
18
|
property :has_picture, Boolean, :default => false
|
19
|
-
property :picture, Enum
|
19
|
+
property :picture, Enum[:octocat, :fork_you, :git_down]
|
20
20
|
|
21
|
-
property :color, Enum
|
22
|
-
property :size, Flag
|
21
|
+
property :color, Enum[:white, :black, :red, :orange, :yellow, :green, :cyan, :blue, :purple]
|
22
|
+
property :size, Flag[:xs, :small, :medium, :large, :xl, :xxl]
|
23
23
|
end # Shirt
|
24
24
|
end # Fixtures
|
25
25
|
end # Types
|
@@ -38,6 +38,10 @@ try_spec do
|
|
38
38
|
it 'uses cost of BCrypt::Engine::DEFAULT_COST' do
|
39
39
|
@resource.password.cost.should == BCrypt::Engine::DEFAULT_COST
|
40
40
|
end
|
41
|
+
|
42
|
+
it 'allows Bcrypt::Password#hash to be an Integer' do
|
43
|
+
@resource.password.hash.should be_kind_of(Integer)
|
44
|
+
end
|
41
45
|
end
|
42
46
|
end
|
43
47
|
end
|
@@ -17,7 +17,7 @@ try_spec do
|
|
17
17
|
|
18
18
|
describe 'when dumped and loaded again' do
|
19
19
|
before :all do
|
20
|
-
@resource.save.should
|
20
|
+
@resource.save.should be(true)
|
21
21
|
@resource.reload
|
22
22
|
end
|
23
23
|
|
@@ -34,7 +34,7 @@ try_spec do
|
|
34
34
|
|
35
35
|
describe 'when dumped and loaded again' do
|
36
36
|
before :all do
|
37
|
-
@resource.save.should
|
37
|
+
@resource.save.should be(true)
|
38
38
|
@resource.reload
|
39
39
|
end
|
40
40
|
|
@@ -61,7 +61,7 @@ try_spec do
|
|
61
61
|
|
62
62
|
describe 'when dumped and loaded again' do
|
63
63
|
before :all do
|
64
|
-
@resource.save.should
|
64
|
+
@resource.save.should be(true)
|
65
65
|
@resource.reload
|
66
66
|
end
|
67
67
|
|
@@ -78,7 +78,7 @@ try_spec do
|
|
78
78
|
end
|
79
79
|
|
80
80
|
it 'has blank entries removed' do
|
81
|
-
@resource.interests.any? { |i| i.blank? }.should
|
81
|
+
@resource.interests.any? { |i| i.blank? }.should be(false)
|
82
82
|
end
|
83
83
|
|
84
84
|
it 'has duplicates removed' do
|
@@ -15,7 +15,7 @@ try_spec do
|
|
15
15
|
:status => 'confirmed'
|
16
16
|
)
|
17
17
|
|
18
|
-
@resource.save.should
|
18
|
+
@resource.save.should be(true)
|
19
19
|
@resource.reload
|
20
20
|
end
|
21
21
|
|
@@ -42,7 +42,7 @@ try_spec do
|
|
42
42
|
:body => "Note that at the very least, there should be a check to see whether or not the user is created before chown'ing a file to the user.",
|
43
43
|
:status => 'confirmed'
|
44
44
|
)
|
45
|
-
@resource.save.should
|
45
|
+
@resource.save.should be(true)
|
46
46
|
end
|
47
47
|
|
48
48
|
it 'supports queries with equality operator on enumeration property' do
|
@@ -54,7 +54,7 @@ try_spec do
|
|
54
54
|
|
55
55
|
describe 'when saved and reloaded' do
|
56
56
|
before :all do
|
57
|
-
@resource.save.should
|
57
|
+
@resource.save.should be(true)
|
58
58
|
@resource.reload
|
59
59
|
end
|
60
60
|
|
@@ -96,7 +96,7 @@ try_spec do
|
|
96
96
|
|
97
97
|
describe 'when saved and reloaded' do
|
98
98
|
before :all do
|
99
|
-
@resource.save.should
|
99
|
+
@resource.save.should be(true)
|
100
100
|
@resource.reload
|
101
101
|
end
|
102
102
|
|
@@ -114,7 +114,7 @@ try_spec do
|
|
114
114
|
|
115
115
|
describe 'when saved and reloaded' do
|
116
116
|
before :all do
|
117
|
-
@resource.save.should
|
117
|
+
@resource.save.should be(true)
|
118
118
|
@resource.reload
|
119
119
|
end
|
120
120
|
|
@@ -132,7 +132,7 @@ try_spec do
|
|
132
132
|
|
133
133
|
describe 'when saved and reloaded' do
|
134
134
|
before :all do
|
135
|
-
@resource.save.should
|
135
|
+
@resource.save.should be(true)
|
136
136
|
@resource.reload
|
137
137
|
end
|
138
138
|
|
@@ -19,7 +19,7 @@ try_spec do
|
|
19
19
|
describe 'with multiple sizes' do
|
20
20
|
describe 'dumped and loaded' do
|
21
21
|
before do
|
22
|
-
@resource.save.should
|
22
|
+
@resource.save.should be(true)
|
23
23
|
@resource.reload
|
24
24
|
end
|
25
25
|
|
@@ -36,7 +36,7 @@ try_spec do
|
|
36
36
|
|
37
37
|
describe 'dumped and loaded' do
|
38
38
|
before do
|
39
|
-
@resource.save.should
|
39
|
+
@resource.save.should be(true)
|
40
40
|
@resource.reload
|
41
41
|
end
|
42
42
|
|
@@ -33,7 +33,7 @@ try_spec do
|
|
33
33
|
|
34
34
|
describe 'when dumped and loaded' do
|
35
35
|
before :all do
|
36
|
-
@resource.save.should
|
36
|
+
@resource.save.should be(true)
|
37
37
|
@resource.reload
|
38
38
|
end
|
39
39
|
|
@@ -50,7 +50,7 @@ try_spec do
|
|
50
50
|
|
51
51
|
describe 'when dumped and loaded' do
|
52
52
|
before :all do
|
53
|
-
@resource.save.should
|
53
|
+
@resource.save.should be(true)
|
54
54
|
@resource.reload
|
55
55
|
end
|
56
56
|
|
@@ -67,7 +67,7 @@ try_spec do
|
|
67
67
|
|
68
68
|
describe 'when dumped and loaded' do
|
69
69
|
before :all do
|
70
|
-
@resource.save.should
|
70
|
+
@resource.save.should be(true)
|
71
71
|
@resource.reload
|
72
72
|
end
|
73
73
|
|
@@ -84,7 +84,7 @@ try_spec do
|
|
84
84
|
|
85
85
|
describe 'when dumped and loaded' do
|
86
86
|
before :all do
|
87
|
-
@resource.save.should
|
87
|
+
@resource.save.should be(true)
|
88
88
|
@resource.reload
|
89
89
|
end
|
90
90
|
|
@@ -101,7 +101,7 @@ try_spec do
|
|
101
101
|
|
102
102
|
describe 'when dumped and loaded' do
|
103
103
|
before :all do
|
104
|
-
@resource.save.should
|
104
|
+
@resource.save.should be(true)
|
105
105
|
@resource.reload
|
106
106
|
end
|
107
107
|
|
@@ -122,7 +122,7 @@ try_spec do
|
|
122
122
|
|
123
123
|
describe 'when dumped and loaded' do
|
124
124
|
before :all do
|
125
|
-
@resource.save.should
|
125
|
+
@resource.save.should be(true)
|
126
126
|
@resource.reload
|
127
127
|
end
|
128
128
|
|
@@ -143,7 +143,7 @@ try_spec do
|
|
143
143
|
|
144
144
|
describe 'when dumped and loaded' do
|
145
145
|
before :all do
|
146
|
-
@resource.save.should
|
146
|
+
@resource.save.should be(true)
|
147
147
|
@resource.reload
|
148
148
|
end
|
149
149
|
|
@@ -17,7 +17,7 @@ try_spec do
|
|
17
17
|
|
18
18
|
describe 'when dumped and loaded again' do
|
19
19
|
before :all do
|
20
|
-
@resource.save.should
|
20
|
+
@resource.save.should be(true)
|
21
21
|
@resource.reload
|
22
22
|
end
|
23
23
|
|
@@ -37,7 +37,7 @@ try_spec do
|
|
37
37
|
|
38
38
|
describe 'when dumped and loaded again' do
|
39
39
|
before :all do
|
40
|
-
@resource.save.should
|
40
|
+
@resource.save.should be(true)
|
41
41
|
@resource.reload
|
42
42
|
end
|
43
43
|
|
@@ -57,7 +57,7 @@ try_spec do
|
|
57
57
|
|
58
58
|
describe 'when dumped and loaded again' do
|
59
59
|
before :all do
|
60
|
-
@resource.save.should
|
60
|
+
@resource.save.should be(true)
|
61
61
|
@resource.reload
|
62
62
|
end
|
63
63
|
|
@@ -36,19 +36,25 @@ try_spec do
|
|
36
36
|
["La ley antipiratería reduce un 33% el tráfico online en Suecia", 'la-ley-antipirateria-reduce-un-33-percent-el-trafico-online-en-suecia'],
|
37
37
|
["L'Etat américain du Texas s'apprête à interdire Windows Vista", 'letat-americain-du-texas-sapprete-a-interdire-windows-vista']
|
38
38
|
].each do |title, slug|
|
39
|
-
describe "
|
39
|
+
describe "set with title '#{title}'" do
|
40
40
|
before :all do
|
41
41
|
@resource = DataMapper::Types::Fixtures::Article.new(:title => title)
|
42
|
-
@resource.
|
43
|
-
@resource.reload
|
42
|
+
@resource.valid?.should be(true)
|
44
43
|
end
|
45
44
|
|
46
45
|
it "has slug equal to '#{slug}'" do
|
47
46
|
@resource.slug.should == slug
|
48
47
|
end
|
49
48
|
|
50
|
-
|
51
|
-
|
49
|
+
describe "and persisted" do
|
50
|
+
before :all do
|
51
|
+
@resource.save.should be(true)
|
52
|
+
@resource.reload
|
53
|
+
end
|
54
|
+
|
55
|
+
it 'can be found by slug' do
|
56
|
+
DataMapper::Types::Fixtures::Article.first(:slug => slug).should == @resource
|
57
|
+
end
|
52
58
|
end
|
53
59
|
end
|
54
60
|
end
|
@@ -16,7 +16,7 @@ try_spec do
|
|
16
16
|
:tags => %w[ misc ]
|
17
17
|
)
|
18
18
|
|
19
|
-
@resource.save.should
|
19
|
+
@resource.save.should be(true)
|
20
20
|
end
|
21
21
|
|
22
22
|
it 'can be found by uri' do
|
@@ -45,7 +45,7 @@ try_spec do
|
|
45
45
|
:tags => %w[ misc ]
|
46
46
|
)
|
47
47
|
|
48
|
-
@resource.save.should
|
48
|
+
@resource.save.should be(true)
|
49
49
|
end
|
50
50
|
|
51
51
|
it 'can be found by uri' do
|
@@ -79,7 +79,7 @@ try_spec do
|
|
79
79
|
end
|
80
80
|
|
81
81
|
it 'is perfectly valid (URI type does not provide auto validations)' do
|
82
|
-
@resource.save.should
|
82
|
+
@resource.save.should be(true)
|
83
83
|
end
|
84
84
|
end
|
85
85
|
|
@@ -116,7 +116,7 @@ try_spec do
|
|
116
116
|
:tags => %w[ misc ]
|
117
117
|
)
|
118
118
|
|
119
|
-
@resource.save.should
|
119
|
+
@resource.save.should be(true)
|
120
120
|
end
|
121
121
|
|
122
122
|
it 'can be found by uri' do
|
@@ -18,7 +18,7 @@ try_spec do
|
|
18
18
|
|
19
19
|
describe 'when dumped and loaded again' do
|
20
20
|
before :all do
|
21
|
-
@resource.save.should
|
21
|
+
@resource.save.should be(true)
|
22
22
|
@resource.reload
|
23
23
|
end
|
24
24
|
|
@@ -38,7 +38,7 @@ try_spec do
|
|
38
38
|
|
39
39
|
describe 'when dumped and loaded again' do
|
40
40
|
before :all do
|
41
|
-
@resource.save.should
|
41
|
+
@resource.save.should be(true)
|
42
42
|
@resource.reload
|
43
43
|
end
|
44
44
|
|
@@ -55,7 +55,7 @@ try_spec do
|
|
55
55
|
|
56
56
|
describe 'when dumped and loaded again' do
|
57
57
|
before :all do
|
58
|
-
@resource.save.should
|
58
|
+
@resource.save.should be(true)
|
59
59
|
@resource.reload
|
60
60
|
end
|
61
61
|
|
data/spec/rcov.opts
CHANGED
data/spec/unit/enum_spec.rb
CHANGED
@@ -11,7 +11,7 @@ try_spec do
|
|
11
11
|
|
12
12
|
describe '.dump' do
|
13
13
|
before do
|
14
|
-
@enum = User.property(:enum, DataMapper::Property::Enum
|
14
|
+
@enum = User.property(:enum, DataMapper::Property::Enum[:first, :second, :third])
|
15
15
|
end
|
16
16
|
|
17
17
|
it 'should return the key of the value match from the flag map' do
|
data/spec/unit/file_path_spec.rb
CHANGED
@@ -12,6 +12,18 @@ try_spec do
|
|
12
12
|
@path = Pathname.new(@input)
|
13
13
|
end
|
14
14
|
|
15
|
+
describe '#valid?' do
|
16
|
+
describe "with a String" do
|
17
|
+
subject { @property.valid?(@input) }
|
18
|
+
it { subject.should be(true) }
|
19
|
+
end
|
20
|
+
|
21
|
+
describe "with a Pathname" do
|
22
|
+
subject { @property.valid?(@path) }
|
23
|
+
it { subject.should be(true) }
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
15
27
|
describe '.dump' do
|
16
28
|
describe 'when input is a string' do
|
17
29
|
it 'does not modify input' do
|
data/spec/unit/flag_spec.rb
CHANGED
@@ -7,7 +7,7 @@ try_spec do
|
|
7
7
|
describe '.dump' do
|
8
8
|
before :all do
|
9
9
|
@flag = DataMapper::Types::Fixtures::TShirt.property(
|
10
|
-
:stuff, DataMapper::Property::Flag
|
10
|
+
:stuff, DataMapper::Property::Flag[:first, :second, :third, :fourth, :fifth])
|
11
11
|
end
|
12
12
|
|
13
13
|
describe 'when argument matches a value in the flag map' do
|
@@ -10,6 +10,18 @@ try_spec do
|
|
10
10
|
@property = DataMapper::Types::Fixtures::NetworkNode.properties[:ip_address]
|
11
11
|
end
|
12
12
|
|
13
|
+
describe '#valid?' do
|
14
|
+
describe "with a String" do
|
15
|
+
subject { @property.valid?(@stored) }
|
16
|
+
it { subject.should be(true) }
|
17
|
+
end
|
18
|
+
|
19
|
+
describe "with an IPAddr" do
|
20
|
+
subject { @property.valid?(@input) }
|
21
|
+
it { subject.should be(true) }
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
13
25
|
describe '.dump' do
|
14
26
|
describe 'when argument is an IP address given as Ruby object' do
|
15
27
|
before :all do
|
data/spec/unit/json_spec.rb
CHANGED
@@ -10,6 +10,23 @@ try_spec do
|
|
10
10
|
@property = DataMapper::Types::Fixtures::Person.properties[:positions]
|
11
11
|
end
|
12
12
|
|
13
|
+
describe '#valid?' do
|
14
|
+
before :all do
|
15
|
+
@string = '{ "foo": "bar" }'
|
16
|
+
@json = JSON.load(@string)
|
17
|
+
end
|
18
|
+
|
19
|
+
describe "with a String" do
|
20
|
+
subject { @property.valid?(@input) }
|
21
|
+
it { subject.should be(true) }
|
22
|
+
end
|
23
|
+
|
24
|
+
describe "with JSON" do
|
25
|
+
subject { @property.valid?(@json) }
|
26
|
+
it { subject.should be(true) }
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
13
30
|
describe '.load' do
|
14
31
|
describe 'when nil is provided' do
|
15
32
|
it 'returns nil' do
|
@@ -28,7 +28,7 @@ describe DataMapper::Property::ParanoidBoolean do
|
|
28
28
|
@resource = @model.new
|
29
29
|
end
|
30
30
|
|
31
|
-
it { should
|
31
|
+
it { should be(false) }
|
32
32
|
|
33
33
|
it 'should not delete the resource from the datastore' do
|
34
34
|
method(:subject).should_not change { @model.with_deleted.size }.from(0)
|
@@ -49,7 +49,7 @@ describe DataMapper::Property::ParanoidBoolean do
|
|
49
49
|
@resource = @model.create
|
50
50
|
end
|
51
51
|
|
52
|
-
it { should
|
52
|
+
it { should be(true) }
|
53
53
|
|
54
54
|
it 'should not delete the resource from the datastore' do
|
55
55
|
method(:subject).should_not change { @model.with_deleted.size }.from(1)
|
@@ -74,7 +74,7 @@ describe DataMapper::Property::ParanoidBoolean do
|
|
74
74
|
@resource = @model.new
|
75
75
|
end
|
76
76
|
|
77
|
-
it { should
|
77
|
+
it { should be(false) }
|
78
78
|
|
79
79
|
it 'should not delete the resource from the datastore' do
|
80
80
|
method(:subject).should_not change { @model.with_deleted.size }.from(0)
|
@@ -95,7 +95,7 @@ describe DataMapper::Property::ParanoidBoolean do
|
|
95
95
|
@resource = @model.create
|
96
96
|
end
|
97
97
|
|
98
|
-
it { should
|
98
|
+
it { should be(true) }
|
99
99
|
|
100
100
|
it 'should delete the resource from the datastore' do
|
101
101
|
method(:subject).should change { @model.with_deleted.size }.from(1).to(0)
|
@@ -32,7 +32,7 @@ describe DataMapper::Property::ParanoidDateTime do
|
|
32
32
|
@resource = @model.new
|
33
33
|
end
|
34
34
|
|
35
|
-
it { should
|
35
|
+
it { should be(false) }
|
36
36
|
|
37
37
|
it 'should not delete the resource from the datastore' do
|
38
38
|
method(:subject).should_not change { @model.with_deleted.size }.from(0)
|
@@ -53,7 +53,7 @@ describe DataMapper::Property::ParanoidDateTime do
|
|
53
53
|
@resource = @model.create
|
54
54
|
end
|
55
55
|
|
56
|
-
it { should
|
56
|
+
it { should be(true) }
|
57
57
|
|
58
58
|
it 'should not delete the resource from the datastore' do
|
59
59
|
method(:subject).should_not change { @model.with_deleted.size }.from(1)
|
@@ -78,7 +78,7 @@ describe DataMapper::Property::ParanoidDateTime do
|
|
78
78
|
@resource = @model.new
|
79
79
|
end
|
80
80
|
|
81
|
-
it { should
|
81
|
+
it { should be(false) }
|
82
82
|
|
83
83
|
it 'should not delete the resource from the datastore' do
|
84
84
|
method(:subject).should_not change { @model.with_deleted.size }.from(0)
|
@@ -99,7 +99,7 @@ describe DataMapper::Property::ParanoidDateTime do
|
|
99
99
|
@resource = @model.create
|
100
100
|
end
|
101
101
|
|
102
|
-
it { should
|
102
|
+
it { should be(true) }
|
103
103
|
|
104
104
|
it 'should delete the resource from the datastore' do
|
105
105
|
method(:subject).should change { @model.with_deleted.size }.from(1).to(0)
|
data/tasks/spec.rake
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dm-types
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 977940572
|
5
5
|
prerelease: true
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 0
|
9
9
|
- 0
|
10
|
-
-
|
11
|
-
version: 1.0.0.
|
10
|
+
- rc3
|
11
|
+
version: 1.0.0.rc3
|
12
12
|
platform: ruby
|
13
13
|
authors:
|
14
14
|
- Dan Kubb
|
@@ -16,7 +16,7 @@ autorequire:
|
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
18
|
|
19
|
-
date: 2010-05-
|
19
|
+
date: 2010-05-27 00:00:00 -07:00
|
20
20
|
default_executable:
|
21
21
|
dependencies:
|
22
22
|
- !ruby/object:Gem::Dependency
|
@@ -27,13 +27,13 @@ dependencies:
|
|
27
27
|
requirements:
|
28
28
|
- - ~>
|
29
29
|
- !ruby/object:Gem::Version
|
30
|
-
hash:
|
30
|
+
hash: 977940572
|
31
31
|
segments:
|
32
32
|
- 1
|
33
33
|
- 0
|
34
34
|
- 0
|
35
|
-
-
|
36
|
-
version: 1.0.0.
|
35
|
+
- rc3
|
36
|
+
version: 1.0.0.rc3
|
37
37
|
type: :runtime
|
38
38
|
version_requirements: *id001
|
39
39
|
- !ruby/object:Gem::Dependency
|
@@ -123,13 +123,13 @@ dependencies:
|
|
123
123
|
requirements:
|
124
124
|
- - ~>
|
125
125
|
- !ruby/object:Gem::Version
|
126
|
-
hash:
|
126
|
+
hash: 977940572
|
127
127
|
segments:
|
128
128
|
- 1
|
129
129
|
- 0
|
130
130
|
- 0
|
131
|
-
-
|
132
|
-
version: 1.0.0.
|
131
|
+
- rc3
|
132
|
+
version: 1.0.0.rc3
|
133
133
|
type: :development
|
134
134
|
version_requirements: *id007
|
135
135
|
description: DataMapper plugin providing extra data types
|
@@ -210,7 +210,7 @@ files:
|
|
210
210
|
- tasks/yard.rake
|
211
211
|
- tasks/yardstick.rake
|
212
212
|
has_rdoc: true
|
213
|
-
homepage: http://github.com/datamapper/dm-
|
213
|
+
homepage: http://github.com/datamapper/dm-types
|
214
214
|
licenses: []
|
215
215
|
|
216
216
|
post_install_message:
|