jm81-dm-address 0.3.0 → 0.4.0
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/.gitignore +3 -0
- data/Rakefile +10 -7
- data/VERSION +1 -1
- data/{dm-address.gemspec → jm81-dm-address.gemspec} +32 -23
- data/lib/dm-address.rb +6 -4
- data/lib/dm-address/preferred.rb +53 -0
- data/lib/dm-address/us.rb +1 -1
- data/spec/dm-address/phone_number_spec.rb +1 -1
- data/spec/dm-address/polymorphic_spec.rb +2 -28
- data/spec/dm-address/preferred_spec.rb +47 -0
- data/spec/dm-address/samples.rb +33 -0
- data/spec/dm-address/us_spec.rb +20 -32
- data/spec/dm-address/zip_code_spec.rb +1 -1
- data/spec/dm-address_spec.rb +1 -1
- data/spec/dm-types/phone_number_spec.rb +1 -1
- data/spec/dm-types/zip_code_spec.rb +1 -1
- data/spec/spec_helper.rb +1 -3
- metadata +24 -25
data/.gitignore
CHANGED
data/Rakefile
CHANGED
@@ -4,18 +4,21 @@ require 'rake'
|
|
4
4
|
begin
|
5
5
|
require 'jeweler'
|
6
6
|
Jeweler::Tasks.new do |gem|
|
7
|
-
gem.name = "dm-address"
|
8
|
-
gem.summary = %Q{
|
7
|
+
gem.name = "jm81-dm-address"
|
8
|
+
gem.summary = %Q{Add address related fields to a DataMapper model}
|
9
|
+
gem.description = <<EOF
|
10
|
+
Add address fields to a DataMapper model. This includes optional validations,
|
11
|
+
and additional DM types for ZipCode and PhoneNumber.
|
12
|
+
EOF
|
9
13
|
gem.email = "jmorgan@morgancreative.net"
|
10
14
|
gem.homepage = "http://github.com/jm81/dm-address"
|
11
15
|
gem.authors = ["Jared Morgan"]
|
12
|
-
gem.add_dependency('
|
13
|
-
gem.add_dependency('dm-
|
14
|
-
gem.add_dependency('dm-
|
15
|
-
gem.add_dependency('dm-validations')
|
16
|
+
gem.add_dependency('dm-core', '>= 0.10.0')
|
17
|
+
gem.add_dependency('dm-types', '>= 0.10.0')
|
18
|
+
gem.add_dependency('dm-validations', '>= 0.10.0')
|
16
19
|
# gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
|
17
20
|
end
|
18
|
-
|
21
|
+
Jeweler::GemcutterTasks.new
|
19
22
|
rescue LoadError
|
20
23
|
puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
|
21
24
|
end
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.4.0
|
@@ -1,12 +1,18 @@
|
|
1
|
+
# Generated by jeweler
|
2
|
+
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
|
1
4
|
# -*- encoding: utf-8 -*-
|
2
5
|
|
3
6
|
Gem::Specification.new do |s|
|
4
|
-
s.name = %q{dm-address}
|
5
|
-
s.version = "0.
|
7
|
+
s.name = %q{jm81-dm-address}
|
8
|
+
s.version = "0.4.0"
|
6
9
|
|
7
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
11
|
s.authors = ["Jared Morgan"]
|
9
|
-
s.date = %q{2009-
|
12
|
+
s.date = %q{2009-11-29}
|
13
|
+
s.description = %q{Add address fields to a DataMapper model. This includes optional validations,
|
14
|
+
and additional DM types for ZipCode and PhoneNumber.
|
15
|
+
}
|
10
16
|
s.email = %q{jmorgan@morgancreative.net}
|
11
17
|
s.extra_rdoc_files = [
|
12
18
|
"LICENSE",
|
@@ -19,10 +25,11 @@ Gem::Specification.new do |s|
|
|
19
25
|
"README.rdoc",
|
20
26
|
"Rakefile",
|
21
27
|
"VERSION",
|
22
|
-
"dm-address.gemspec",
|
28
|
+
"jm81-dm-address.gemspec",
|
23
29
|
"lib/dm-address.rb",
|
24
30
|
"lib/dm-address/phone_number.rb",
|
25
31
|
"lib/dm-address/polymorphic.rb",
|
32
|
+
"lib/dm-address/preferred.rb",
|
26
33
|
"lib/dm-address/us.rb",
|
27
34
|
"lib/dm-address/zip_code.rb",
|
28
35
|
"lib/dm-types/phone_number.rb",
|
@@ -31,6 +38,8 @@ Gem::Specification.new do |s|
|
|
31
38
|
"lib/dm-validations/formats/zip_code.rb",
|
32
39
|
"spec/dm-address/phone_number_spec.rb",
|
33
40
|
"spec/dm-address/polymorphic_spec.rb",
|
41
|
+
"spec/dm-address/preferred_spec.rb",
|
42
|
+
"spec/dm-address/samples.rb",
|
34
43
|
"spec/dm-address/us_spec.rb",
|
35
44
|
"spec/dm-address/zip_code_spec.rb",
|
36
45
|
"spec/dm-address_spec.rb",
|
@@ -41,17 +50,19 @@ Gem::Specification.new do |s|
|
|
41
50
|
s.homepage = %q{http://github.com/jm81/dm-address}
|
42
51
|
s.rdoc_options = ["--charset=UTF-8"]
|
43
52
|
s.require_paths = ["lib"]
|
44
|
-
s.rubygems_version = %q{1.3.
|
45
|
-
s.summary = %q{
|
53
|
+
s.rubygems_version = %q{1.3.5}
|
54
|
+
s.summary = %q{Add address related fields to a DataMapper model}
|
46
55
|
s.test_files = [
|
47
|
-
"spec/
|
48
|
-
"spec/dm-address/polymorphic_spec.rb",
|
49
|
-
"spec/dm-address/us_spec.rb",
|
50
|
-
"spec/dm-address/zip_code_spec.rb",
|
56
|
+
"spec/spec_helper.rb",
|
51
57
|
"spec/dm-address_spec.rb",
|
52
58
|
"spec/dm-types/phone_number_spec.rb",
|
53
59
|
"spec/dm-types/zip_code_spec.rb",
|
54
|
-
"spec/
|
60
|
+
"spec/dm-address/us_spec.rb",
|
61
|
+
"spec/dm-address/preferred_spec.rb",
|
62
|
+
"spec/dm-address/polymorphic_spec.rb",
|
63
|
+
"spec/dm-address/samples.rb",
|
64
|
+
"spec/dm-address/phone_number_spec.rb",
|
65
|
+
"spec/dm-address/zip_code_spec.rb"
|
55
66
|
]
|
56
67
|
|
57
68
|
if s.respond_to? :specification_version then
|
@@ -59,20 +70,18 @@ Gem::Specification.new do |s|
|
|
59
70
|
s.specification_version = 3
|
60
71
|
|
61
72
|
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
62
|
-
s.add_runtime_dependency(%q<
|
63
|
-
s.add_runtime_dependency(%q<dm-
|
64
|
-
s.add_runtime_dependency(%q<dm-
|
65
|
-
s.add_runtime_dependency(%q<dm-validations>, [">= 0"])
|
73
|
+
s.add_runtime_dependency(%q<dm-core>, [">= 0.10.0"])
|
74
|
+
s.add_runtime_dependency(%q<dm-types>, [">= 0.10.0"])
|
75
|
+
s.add_runtime_dependency(%q<dm-validations>, [">= 0.10.0"])
|
66
76
|
else
|
67
|
-
s.add_dependency(%q<
|
68
|
-
s.add_dependency(%q<dm-
|
69
|
-
s.add_dependency(%q<dm-
|
70
|
-
s.add_dependency(%q<dm-validations>, [">= 0"])
|
77
|
+
s.add_dependency(%q<dm-core>, [">= 0.10.0"])
|
78
|
+
s.add_dependency(%q<dm-types>, [">= 0.10.0"])
|
79
|
+
s.add_dependency(%q<dm-validations>, [">= 0.10.0"])
|
71
80
|
end
|
72
81
|
else
|
73
|
-
s.add_dependency(%q<
|
74
|
-
s.add_dependency(%q<dm-
|
75
|
-
s.add_dependency(%q<dm-
|
76
|
-
s.add_dependency(%q<dm-validations>, [">= 0"])
|
82
|
+
s.add_dependency(%q<dm-core>, [">= 0.10.0"])
|
83
|
+
s.add_dependency(%q<dm-types>, [">= 0.10.0"])
|
84
|
+
s.add_dependency(%q<dm-validations>, [">= 0.10.0"])
|
77
85
|
end
|
78
86
|
end
|
87
|
+
|
data/lib/dm-address.rb
CHANGED
@@ -3,12 +3,14 @@ require 'dm-types'
|
|
3
3
|
require 'dm-validations'
|
4
4
|
|
5
5
|
# Require dm-address files
|
6
|
-
%w{ phone_number zip_code polymorphic us }.each do |file|
|
7
|
-
require
|
6
|
+
%w{ phone_number zip_code polymorphic preferred us }.each do |file|
|
7
|
+
require 'dm-address/' + file
|
8
8
|
end
|
9
9
|
|
10
10
|
module DataMapper
|
11
11
|
module Address
|
12
|
+
VERSION = '0.4.0'
|
13
|
+
|
12
14
|
DEFAULTS = {
|
13
15
|
:phone_format => PhoneNumber::DEFAULT_FORMAT.dup,
|
14
16
|
:include_country => false,
|
@@ -32,10 +34,10 @@ end
|
|
32
34
|
|
33
35
|
# Require dm-types files
|
34
36
|
%w{ phone_number zip_code }.each do |file|
|
35
|
-
require
|
37
|
+
require 'dm-types/' + file
|
36
38
|
end
|
37
39
|
|
38
40
|
# Require dm-validations/formats files
|
39
41
|
%w{ phone_number zip_code }.each do |file|
|
40
|
-
require
|
42
|
+
require 'dm-validations/formats/' + file
|
41
43
|
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
module DataMapper
|
2
|
+
module Address
|
3
|
+
# Helper for determining a Preferred (or default address) for something, for
|
4
|
+
# example a billing address, where multiple addresses belong to record.
|
5
|
+
#
|
6
|
+
# Adds the following Class method when included:
|
7
|
+
#
|
8
|
+
# preferred_address(+method_name+)
|
9
|
+
#
|
10
|
+
# This will create an Integer property: +{method_name}_id+ and add an
|
11
|
+
# instance method +method_name+.
|
12
|
+
#
|
13
|
+
# For example:
|
14
|
+
#
|
15
|
+
# class Person
|
16
|
+
# include DataMapper::Resource
|
17
|
+
# include DataMapper::Address::Preferred
|
18
|
+
# has n, :addresses
|
19
|
+
# preferred_address :default_billing
|
20
|
+
# end
|
21
|
+
#
|
22
|
+
# p = Person.new
|
23
|
+
# p.default_billing_id = Address.last.id
|
24
|
+
# p.default_billing # => Address.last
|
25
|
+
#
|
26
|
+
# If +{method_name}_id+ is not set, the self.addresses.first is returned.
|
27
|
+
module Preferred
|
28
|
+
class << self
|
29
|
+
def included(klass)
|
30
|
+
klass.extend(ClassMethods)
|
31
|
+
end
|
32
|
+
end # class << self
|
33
|
+
|
34
|
+
module ClassMethods
|
35
|
+
|
36
|
+
# Setup a preferred address, including +{method_name}_id property
|
37
|
+
#
|
38
|
+
# ==== Parameters
|
39
|
+
# method_name<~to_s>::
|
40
|
+
# Name of method used to access the preferred address.
|
41
|
+
def preferred_address(method_name)
|
42
|
+
property("#{method_name}_id".to_sym, Integer)
|
43
|
+
|
44
|
+
define_method(method_name) do
|
45
|
+
self.addresses.get(attribute_get("#{method_name}_id")) ||
|
46
|
+
self.addresses.first
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end # module ClassMethods
|
50
|
+
|
51
|
+
end # module Preferred
|
52
|
+
end # module Address
|
53
|
+
end # module DataMapper
|
data/lib/dm-address/us.rb
CHANGED
@@ -38,7 +38,7 @@ module DataMapper
|
|
38
38
|
[:created_at, DateTime],
|
39
39
|
[:updated_at, DateTime]
|
40
40
|
].each do |args|
|
41
|
-
unless self.properties.
|
41
|
+
unless self.properties.named?(args[0])
|
42
42
|
args[0] = "#{options[:prefix]}#{args[0]}" if options[:prefix]
|
43
43
|
args[2] ||= {}
|
44
44
|
args[2][:nullable] = !reqs.include?(args[0])
|
@@ -1,31 +1,5 @@
|
|
1
|
-
require
|
2
|
-
|
3
|
-
DataMapper.setup(:default, 'sqlite3::memory:')
|
4
|
-
require 'dm-timestamps' # Only needed to make #created_at and #updated_at auto-update
|
5
|
-
|
6
|
-
module DataMapper::Address::Spec
|
7
|
-
class Polymorphed
|
8
|
-
include DataMapper::Resource
|
9
|
-
include DataMapper::Address::Polymorphic
|
10
|
-
property :id, Serial
|
11
|
-
property :street, String
|
12
|
-
end
|
13
|
-
|
14
|
-
class Person
|
15
|
-
include DataMapper::Resource
|
16
|
-
|
17
|
-
property :id, Serial
|
18
|
-
has n, :addresses, :class_name => 'DataMapper::Address::Spec::Polymorphed',
|
19
|
-
:child_key => [:addressable_id],
|
20
|
-
DataMapper::Address::Spec::Polymorphed.addressable_class =>
|
21
|
-
'DataMapper::Address::Spec::Person'
|
22
|
-
|
23
|
-
property :name, String
|
24
|
-
end
|
25
|
-
|
26
|
-
Polymorphed.auto_migrate!
|
27
|
-
Person.auto_migrate!
|
28
|
-
end
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'dm-address/samples'
|
29
3
|
|
30
4
|
describe DataMapper::Address::Polymorphic do
|
31
5
|
before(:each) do
|
@@ -0,0 +1,47 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'dm-address/samples'
|
3
|
+
|
4
|
+
describe DataMapper::Address::Preferred do
|
5
|
+
before(:each) do
|
6
|
+
@parent_class = DataMapper::Address::Spec::Person
|
7
|
+
@parent_class.all.destroy!
|
8
|
+
@parent = @parent_class.create(:name => 'Jane Doe')
|
9
|
+
|
10
|
+
@klass = DataMapper::Address::Spec::Polymorphed
|
11
|
+
@klass.all.destroy!
|
12
|
+
|
13
|
+
@address1 = @klass.create(:street => '123 Lane Ave.',
|
14
|
+
:addressable_class => @parent_class.name,
|
15
|
+
:addressable_id => @parent.id
|
16
|
+
)
|
17
|
+
|
18
|
+
@address2 = @klass.create(:street => '123 Lane Ave.',
|
19
|
+
:addressable_class => @parent_class.name,
|
20
|
+
:addressable_id => @parent.id
|
21
|
+
)
|
22
|
+
|
23
|
+
@parent.update("shipping_id" => @address2.id)
|
24
|
+
end
|
25
|
+
|
26
|
+
it 'should be based on #{@preferred_name}_id' do
|
27
|
+
address = @parent.shipping
|
28
|
+
address.should_not be_nil
|
29
|
+
address.id.should == @parent.shipping_id
|
30
|
+
end
|
31
|
+
|
32
|
+
it 'must belong to the parent record' do
|
33
|
+
@parent.should_not be_nil # Sanity check
|
34
|
+
@parent.shipping.addressable.should == @parent
|
35
|
+
end
|
36
|
+
|
37
|
+
it 'should default to first available' do
|
38
|
+
@parent.update(:shipping_id => nil)
|
39
|
+
@parent.shipping.should == @address1
|
40
|
+
end
|
41
|
+
|
42
|
+
it 'should be nil if none available' do
|
43
|
+
@address1.update(:addressable_id => (@parent.id + 1))
|
44
|
+
@address2.update(:addressable_class => "#{@parent_class.name}Other")
|
45
|
+
@parent.shipping.should be_nil
|
46
|
+
end
|
47
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
DataMapper.setup(:default, 'sqlite3::memory:')
|
2
|
+
require 'dm-timestamps' # Only needed to make #created_at and #updated_at auto-update
|
3
|
+
|
4
|
+
module DataMapper::Address::Spec
|
5
|
+
class US
|
6
|
+
include DataMapper::Resource
|
7
|
+
include DataMapper::Address::US
|
8
|
+
address_properties
|
9
|
+
end
|
10
|
+
|
11
|
+
class Polymorphed
|
12
|
+
include DataMapper::Resource
|
13
|
+
include DataMapper::Address::Polymorphic
|
14
|
+
property :id, Serial
|
15
|
+
property :street, String
|
16
|
+
end
|
17
|
+
|
18
|
+
class Person
|
19
|
+
include DataMapper::Resource
|
20
|
+
include DataMapper::Address::Preferred
|
21
|
+
|
22
|
+
property :id, Serial
|
23
|
+
has n, :addresses, :model => 'DataMapper::Address::Spec::Polymorphed',
|
24
|
+
:child_key => [:addressable_id],
|
25
|
+
DataMapper::Address::Spec::Polymorphed.addressable_class =>
|
26
|
+
'DataMapper::Address::Spec::Person'
|
27
|
+
|
28
|
+
property :name, String
|
29
|
+
preferred_address :shipping
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
DataMapper.auto_migrate!
|
data/spec/dm-address/us_spec.rb
CHANGED
@@ -1,17 +1,5 @@
|
|
1
|
-
require
|
2
|
-
|
3
|
-
DataMapper.setup(:default, 'sqlite3::memory:')
|
4
|
-
require 'dm-timestamps' # Only needed to make #created_at and #updated_at auto-update
|
5
|
-
|
6
|
-
module DataMapper::Address::Spec
|
7
|
-
class US
|
8
|
-
include DataMapper::Resource
|
9
|
-
include DataMapper::Address::US
|
10
|
-
address_properties
|
11
|
-
end
|
12
|
-
|
13
|
-
US.auto_migrate!
|
14
|
-
end
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'dm-address/samples'
|
15
3
|
|
16
4
|
describe DataMapper::Address::US do
|
17
5
|
before(:each) do
|
@@ -32,14 +20,14 @@ describe DataMapper::Address::US do
|
|
32
20
|
@address = @klass.new(@attrs)
|
33
21
|
end
|
34
22
|
|
35
|
-
def
|
23
|
+
def assert_validate(field, *values)
|
36
24
|
values.each do |v|
|
37
25
|
@address.__send__("#{field}=", v)
|
38
26
|
@address.should be_valid
|
39
27
|
end
|
40
28
|
end
|
41
29
|
|
42
|
-
def
|
30
|
+
def assert_not_validate(field, *values)
|
43
31
|
values.each do |v|
|
44
32
|
@address.__send__("#{field}=", v)
|
45
33
|
@address.should_not be_valid
|
@@ -51,38 +39,38 @@ describe DataMapper::Address::US do
|
|
51
39
|
end
|
52
40
|
|
53
41
|
describe '#name' do
|
54
|
-
it 'should
|
55
|
-
|
42
|
+
it 'should not be required' do
|
43
|
+
assert_validate(:name, '', nil)
|
56
44
|
end
|
57
45
|
end
|
58
46
|
|
59
47
|
describe '#street' do
|
60
48
|
it 'should be required' do
|
61
|
-
|
49
|
+
assert_not_validate(:street, '', nil)
|
62
50
|
end
|
63
51
|
end
|
64
52
|
|
65
53
|
describe '#city' do
|
66
54
|
it 'should be required' do
|
67
|
-
|
55
|
+
assert_not_validate(:city, '', nil)
|
68
56
|
end
|
69
57
|
end
|
70
58
|
|
71
59
|
describe '#state' do
|
72
60
|
it 'should be required' do
|
73
|
-
|
61
|
+
assert_not_validate(:state, '', nil)
|
74
62
|
end
|
75
63
|
end
|
76
64
|
|
77
65
|
describe '#postal_code' do
|
78
66
|
it 'should be required' do
|
79
|
-
|
67
|
+
assert_not_validate(:postal_code, '', nil)
|
80
68
|
end
|
81
69
|
|
82
70
|
it 'should be 5 or 9 characters' do
|
83
|
-
|
84
|
-
|
85
|
-
|
71
|
+
assert_not_validate(:postal_code, '1234', '123456', '12345678', '1234567890')
|
72
|
+
assert_not_validate(:postal_code, '12345-678') # would be valid if dashes weren't stripped
|
73
|
+
assert_validate(:postal_code, '12345', '123456789', '12345-6789')
|
86
74
|
end
|
87
75
|
end
|
88
76
|
|
@@ -114,7 +102,7 @@ describe DataMapper::Address::US do
|
|
114
102
|
|
115
103
|
describe '#country' do
|
116
104
|
it 'should be required' do
|
117
|
-
|
105
|
+
assert_not_validate(:country, '', nil)
|
118
106
|
end
|
119
107
|
|
120
108
|
it 'should default to USA' do
|
@@ -124,13 +112,13 @@ describe DataMapper::Address::US do
|
|
124
112
|
|
125
113
|
describe '#phone' do
|
126
114
|
it 'should not be required' do
|
127
|
-
|
115
|
+
assert_validate(:phone, '', nil)
|
128
116
|
end
|
129
117
|
|
130
118
|
it 'should be 10 characters' do
|
131
|
-
|
132
|
-
|
133
|
-
|
119
|
+
assert_not_validate(:phone, '123456789', '12345678900')
|
120
|
+
assert_not_validate(:phone, '123-456-89')
|
121
|
+
assert_validate(:phone, '1234567890')
|
134
122
|
end
|
135
123
|
end
|
136
124
|
|
@@ -229,7 +217,7 @@ describe DataMapper::Address::US do
|
|
229
217
|
klass.__send__(:include, DataMapper::Resource)
|
230
218
|
klass.__send__(:include, DataMapper::Address::US)
|
231
219
|
klass.address_properties(:polymorphic => true)
|
232
|
-
klass.properties.
|
220
|
+
klass.properties.named?(:addressable_class).should be_true
|
233
221
|
end
|
234
222
|
|
235
223
|
it 'should not include Polymorphic module if nil' do
|
@@ -237,7 +225,7 @@ describe DataMapper::Address::US do
|
|
237
225
|
klass.__send__(:include, DataMapper::Resource)
|
238
226
|
klass.__send__(:include, DataMapper::Address::US)
|
239
227
|
klass.address_properties
|
240
|
-
klass.properties.
|
228
|
+
klass.properties.named?(:addressable_class).should be_false
|
241
229
|
end
|
242
230
|
end
|
243
231
|
end
|
data/spec/dm-address_spec.rb
CHANGED
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jm81-dm-address
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jared Morgan
|
@@ -9,19 +9,9 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-
|
12
|
+
date: 2009-11-29 00:00:00 -06:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
|
-
- !ruby/object:Gem::Dependency
|
16
|
-
name: extlib
|
17
|
-
type: :runtime
|
18
|
-
version_requirement:
|
19
|
-
version_requirements: !ruby/object:Gem::Requirement
|
20
|
-
requirements:
|
21
|
-
- - ">="
|
22
|
-
- !ruby/object:Gem::Version
|
23
|
-
version: "0"
|
24
|
-
version:
|
25
15
|
- !ruby/object:Gem::Dependency
|
26
16
|
name: dm-core
|
27
17
|
type: :runtime
|
@@ -30,7 +20,7 @@ dependencies:
|
|
30
20
|
requirements:
|
31
21
|
- - ">="
|
32
22
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
23
|
+
version: 0.10.0
|
34
24
|
version:
|
35
25
|
- !ruby/object:Gem::Dependency
|
36
26
|
name: dm-types
|
@@ -40,7 +30,7 @@ dependencies:
|
|
40
30
|
requirements:
|
41
31
|
- - ">="
|
42
32
|
- !ruby/object:Gem::Version
|
43
|
-
version:
|
33
|
+
version: 0.10.0
|
44
34
|
version:
|
45
35
|
- !ruby/object:Gem::Dependency
|
46
36
|
name: dm-validations
|
@@ -50,9 +40,12 @@ dependencies:
|
|
50
40
|
requirements:
|
51
41
|
- - ">="
|
52
42
|
- !ruby/object:Gem::Version
|
53
|
-
version:
|
43
|
+
version: 0.10.0
|
54
44
|
version:
|
55
|
-
description:
|
45
|
+
description: |
|
46
|
+
Add address fields to a DataMapper model. This includes optional validations,
|
47
|
+
and additional DM types for ZipCode and PhoneNumber.
|
48
|
+
|
56
49
|
email: jmorgan@morgancreative.net
|
57
50
|
executables: []
|
58
51
|
|
@@ -68,10 +61,11 @@ files:
|
|
68
61
|
- README.rdoc
|
69
62
|
- Rakefile
|
70
63
|
- VERSION
|
71
|
-
- dm-address.gemspec
|
64
|
+
- jm81-dm-address.gemspec
|
72
65
|
- lib/dm-address.rb
|
73
66
|
- lib/dm-address/phone_number.rb
|
74
67
|
- lib/dm-address/polymorphic.rb
|
68
|
+
- lib/dm-address/preferred.rb
|
75
69
|
- lib/dm-address/us.rb
|
76
70
|
- lib/dm-address/zip_code.rb
|
77
71
|
- lib/dm-types/phone_number.rb
|
@@ -80,15 +74,18 @@ files:
|
|
80
74
|
- lib/dm-validations/formats/zip_code.rb
|
81
75
|
- spec/dm-address/phone_number_spec.rb
|
82
76
|
- spec/dm-address/polymorphic_spec.rb
|
77
|
+
- spec/dm-address/preferred_spec.rb
|
78
|
+
- spec/dm-address/samples.rb
|
83
79
|
- spec/dm-address/us_spec.rb
|
84
80
|
- spec/dm-address/zip_code_spec.rb
|
85
81
|
- spec/dm-address_spec.rb
|
86
82
|
- spec/dm-types/phone_number_spec.rb
|
87
83
|
- spec/dm-types/zip_code_spec.rb
|
88
84
|
- spec/spec_helper.rb
|
89
|
-
has_rdoc:
|
85
|
+
has_rdoc: true
|
90
86
|
homepage: http://github.com/jm81/dm-address
|
91
|
-
licenses:
|
87
|
+
licenses: []
|
88
|
+
|
92
89
|
post_install_message:
|
93
90
|
rdoc_options:
|
94
91
|
- --charset=UTF-8
|
@@ -112,13 +109,15 @@ rubyforge_project:
|
|
112
109
|
rubygems_version: 1.3.5
|
113
110
|
signing_key:
|
114
111
|
specification_version: 3
|
115
|
-
summary:
|
112
|
+
summary: Add address related fields to a DataMapper model
|
116
113
|
test_files:
|
117
|
-
- spec/
|
118
|
-
- spec/dm-address/polymorphic_spec.rb
|
119
|
-
- spec/dm-address/us_spec.rb
|
120
|
-
- spec/dm-address/zip_code_spec.rb
|
114
|
+
- spec/spec_helper.rb
|
121
115
|
- spec/dm-address_spec.rb
|
122
116
|
- spec/dm-types/phone_number_spec.rb
|
123
117
|
- spec/dm-types/zip_code_spec.rb
|
124
|
-
- spec/
|
118
|
+
- spec/dm-address/us_spec.rb
|
119
|
+
- spec/dm-address/preferred_spec.rb
|
120
|
+
- spec/dm-address/polymorphic_spec.rb
|
121
|
+
- spec/dm-address/samples.rb
|
122
|
+
- spec/dm-address/phone_number_spec.rb
|
123
|
+
- spec/dm-address/zip_code_spec.rb
|