orm_adapter 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,4 +1,4 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 1.8.7
4
- - 1.9.3
3
+ - 1.9.3
4
+ before_install: "cp Gemfile.lock.development Gemfile.lock"
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- orm_adapter (0.1.0)
4
+ orm_adapter (0.2.0)
5
5
 
6
6
  GEM
7
7
  remote: http://rubygems.org/
@@ -1,3 +1,8 @@
1
+ == 0.2.0
2
+
3
+ * Normalise :id in find conditions [Tim Galeckas, Ian White]
4
+ * Allow find_first and find_all to take no arguments [Tim Galeckas, Ian White]
5
+
1
6
  == 0.1.0
2
7
 
3
8
  * Add #destroy(object) to the API [Fred Wu]
data/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2010 Ian White and José Valim
1
+ Copyright (c) 2010-2012 Ian White and José Valim
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
@@ -1,4 +1,4 @@
1
- = ORM Adapter
1
+ = ORM Adapter {<img src="https://secure.travis-ci.org/ianwhite/orm_adapter.png?branch=master" alt="Build Status" />}[http://travis-ci.org/ianwhite/orm_adapter]
2
2
 
3
3
  Provides a single point of entry for popular ruby ORMs. Its target audience is gem authors who want to support more than one ORM.
4
4
 
@@ -14,9 +14,14 @@ Provides a single point of entry for popular ruby ORMs. Its target audience is
14
14
  user_model = User.to_adapter
15
15
  user_model.get!(1) # find a record by id
16
16
  user_model.find_first(:name => 'fred') # find first fred
17
+ user_model.find_first(:level => 'awesome', :id => 23)
18
+ # find user 23, only if it's level is awesome
19
+ user_model.find_all # find all users
17
20
  user_model.find_all(:name => 'fred') # find all freds
18
21
  user_model.find_all(:order => :name) # find all freds, ordered by name
19
22
  user_model.create!(:name => 'fred') # create a fred
23
+ user_model.destroy(object) # destroy the user object
24
+
20
25
 
21
26
  @see OrmAdapter::Base for more details of the supported API
22
27
 
@@ -56,6 +61,7 @@ orm_adapter is an extraction from {pickle}[http://github.com/ianwhite/pickle] by
56
61
 
57
62
  {Fred Wu}[http://github.com/fredwu] contributes the #destroy methods.
58
63
 
64
+ {Tim Galeckas}[http://github.com/timgaleckas]
59
65
 
60
66
  == Development
61
67
 
@@ -70,4 +76,4 @@ To run the specs, you can start from the last known good set of gem dependencies
70
76
 
71
77
  == Copyright
72
78
 
73
- Copyright (c) 2010-2011 Ian White and José Valim. See LICENSE for details.
79
+ Copyright (c) 2010-2012 Ian White and José Valim. See LICENSE for details.
@@ -34,19 +34,19 @@ module OrmAdapter
34
34
  end
35
35
 
36
36
  # @see OrmAdapter::Base#find_first
37
- def find_first(options)
37
+ def find_first(options = {})
38
38
  conditions, order = extract_conditions_and_order!(options)
39
39
  klass.where(conditions_to_fields(conditions)).order(*order_clause(order)).first
40
40
  end
41
41
 
42
42
  # @see OrmAdapter::Base#find_all
43
- def find_all(options)
43
+ def find_all(options = {})
44
44
  conditions, order = extract_conditions_and_order!(options)
45
45
  klass.where(conditions_to_fields(conditions)).order(*order_clause(order)).all
46
46
  end
47
47
 
48
48
  # @see OrmAdapter::Base#create!
49
- def create!(attributes)
49
+ def create!(attributes = {})
50
50
  klass.create!(attributes)
51
51
  end
52
52
 
@@ -87,4 +87,4 @@ end
87
87
  ActiveSupport.on_load(:active_record) do
88
88
  extend ::OrmAdapter::ToAdapter
89
89
  self::OrmAdapter = ::OrmAdapter::ActiveRecord
90
- end
90
+ end
@@ -4,7 +4,7 @@ module DataMapper
4
4
  module Model
5
5
  include OrmAdapter::ToAdapter
6
6
  end
7
-
7
+
8
8
  module Resource
9
9
  class OrmAdapter < ::OrmAdapter::Base
10
10
 
@@ -34,29 +34,29 @@ module DataMapper
34
34
  end
35
35
 
36
36
  # @see OrmAdapter::Base#find_first
37
- def find_first(options)
37
+ def find_first(options = {})
38
38
  conditions, order = extract_conditions_and_order!(options)
39
39
  klass.first :conditions => conditions, :order => order_clause(order)
40
40
  end
41
41
 
42
42
  # @see OrmAdapter::Base#find_all
43
- def find_all(options)
43
+ def find_all(options = {})
44
44
  conditions, order = extract_conditions_and_order!(options)
45
45
  klass.all :conditions => conditions, :order => order_clause(order)
46
46
  end
47
-
47
+
48
48
  # @see OrmAdapter::Base#create!
49
- def create!(attributes)
49
+ def create!(attributes = {})
50
50
  klass.create(attributes)
51
51
  end
52
-
52
+
53
53
  # @see OrmAdapter::Base#destroy
54
54
  def destroy(object)
55
55
  object.destroy if valid_object?(object)
56
56
  end
57
57
 
58
58
  protected
59
-
59
+
60
60
  def order_clause(order)
61
61
  order.map {|pair| pair.first.send(pair.last)}
62
62
  end
@@ -5,7 +5,7 @@ module MongoMapper
5
5
  module ClassMethods
6
6
  include OrmAdapter::ToAdapter
7
7
  end
8
-
8
+
9
9
  class OrmAdapter < ::OrmAdapter::Base
10
10
  # Do not consider these to be part of the class list
11
11
  def self.except_classes
@@ -33,21 +33,21 @@ module MongoMapper
33
33
  end
34
34
 
35
35
  # @see OrmAdapter::Base#find_first
36
- def find_first(conditions)
36
+ def find_first(conditions = {})
37
37
  conditions, order = extract_conditions_and_order!(conditions)
38
38
  conditions = conditions.merge(:sort => order) unless order.nil?
39
39
  klass.first(conditions_to_fields(conditions))
40
40
  end
41
41
 
42
42
  # @see OrmAdapter::Base#find_all
43
- def find_all(conditions)
43
+ def find_all(conditions = {})
44
44
  conditions, order = extract_conditions_and_order!(conditions)
45
45
  conditions = conditions.merge(:sort => order) unless order.nil?
46
46
  klass.all(conditions_to_fields(conditions))
47
47
  end
48
48
 
49
49
  # @see OrmAdapter::Base#create!
50
- def create!(attributes)
50
+ def create!(attributes = {})
51
51
  klass.create!(attributes)
52
52
  end
53
53
 
@@ -70,4 +70,4 @@ module MongoMapper
70
70
  end
71
71
  end
72
72
  end
73
- end
73
+ end
@@ -5,7 +5,7 @@ module Mongoid
5
5
  module ClassMethods
6
6
  include OrmAdapter::ToAdapter
7
7
  end
8
-
8
+
9
9
  class OrmAdapter < ::OrmAdapter::Base
10
10
  # Do not consider these to be part of the class list
11
11
  def self.except_classes
@@ -33,22 +33,22 @@ module Mongoid
33
33
  end
34
34
 
35
35
  # @see OrmAdapter::Base#find_first
36
- def find_first(options)
36
+ def find_first(options = {})
37
37
  conditions, order = extract_conditions_and_order!(options)
38
38
  klass.limit(1).where(conditions_to_fields(conditions)).order_by(order).first
39
39
  end
40
40
 
41
41
  # @see OrmAdapter::Base#find_all
42
- def find_all(options)
42
+ def find_all(options = {})
43
43
  conditions, order = extract_conditions_and_order!(options)
44
44
  klass.where(conditions_to_fields(conditions)).order_by(order)
45
45
  end
46
46
 
47
47
  # @see OrmAdapter::Base#create!
48
- def create!(attributes)
48
+ def create!(attributes = {})
49
49
  klass.create!(attributes)
50
50
  end
51
-
51
+
52
52
  # @see OrmAdapter::Base#destroy
53
53
  def destroy(object)
54
54
  object.destroy if valid_object?(object)
@@ -61,6 +61,8 @@ module Mongoid
61
61
  conditions.inject({}) do |fields, (key, value)|
62
62
  if value.is_a?(Mongoid::Document) && klass.fields.keys.include?("#{key}_id")
63
63
  fields.merge("#{key}_id" => value.id)
64
+ elsif key.to_s == 'id'
65
+ fields.merge('_id' => value)
64
66
  else
65
67
  fields.merge(key => value)
66
68
  end
@@ -27,7 +27,7 @@ module OrmAdapter
27
27
  def column_names
28
28
  raise NotSupportedError
29
29
  end
30
-
30
+
31
31
  # Get an instance by id of the model. Raises an error if a model is not found.
32
32
  # This should comply with ActiveModel#to_key API, i.e.:
33
33
  #
@@ -49,7 +49,7 @@ module OrmAdapter
49
49
  # Find the first instance, optionally matching conditions, and specifying order
50
50
  #
51
51
  # You can call with just conditions, providing a hash
52
- #
52
+ #
53
53
  # User.to_adapter.find_first :name => "Fred", :age => 23
54
54
  #
55
55
  # Or you can specify :order, and :conditions as keys
@@ -63,18 +63,18 @@ module OrmAdapter
63
63
  # * a single pair with :asc, or :desc as last, e.g. <tt>:order => [:name, :desc]</tt>
64
64
  # * an array of single args or pairs (with :asc or :desc as last), e.g. <tt>:order => [[:name, :asc], [:age, :desc]]</tt>
65
65
  #
66
- def find_first(options)
66
+ def find_first(options = {})
67
67
  raise NotSupportedError
68
68
  end
69
69
 
70
70
  # Find all models, optionally matching conditions, and specifying order
71
71
  # @see OrmAdapter::Base#find_first for how to specify order and conditions
72
- def find_all(options)
72
+ def find_all(options = {})
73
73
  raise NotSupportedError
74
74
  end
75
75
 
76
76
  # Create a model using attributes
77
- def create!(attributes)
77
+ def create!(attributes = {})
78
78
  raise NotSupportedError
79
79
  end
80
80
 
@@ -92,29 +92,29 @@ module OrmAdapter
92
92
  def wrap_key(key)
93
93
  key.is_a?(Array) ? key.first : key
94
94
  end
95
-
95
+
96
96
  # given an options hash, with optional :conditions and :order keys, returns conditions and normalized order
97
97
  def extract_conditions_and_order!(options = {})
98
98
  order = normalize_order(options.delete(:order))
99
99
  conditions = options.delete(:conditions) || options
100
100
  [conditions, order]
101
101
  end
102
-
102
+
103
103
  # given an order argument, returns an array of pairs, with each pair containing the attribute, and :asc or :desc
104
104
  def normalize_order(order)
105
105
  order = Array(order)
106
-
106
+
107
107
  if order.length == 2 && !order[0].is_a?(Array) && [:asc, :desc].include?(order[1])
108
108
  order = [order]
109
109
  else
110
110
  order = order.map {|pair| pair.is_a?(Array) ? pair : [pair, :asc] }
111
111
  end
112
-
112
+
113
113
  order.each do |pair|
114
114
  pair.length == 2 or raise ArgumentError, "each order clause must be a pair (unknown clause #{pair.inspect})"
115
115
  [:asc, :desc].include?(pair[1]) or raise ArgumentError, "order must be specified with :asc or :desc (unknown key #{pair[1].inspect})"
116
116
  end
117
-
117
+
118
118
  order
119
119
  end
120
120
  end
@@ -124,4 +124,4 @@ module OrmAdapter
124
124
  "method not supported by this orm adapter"
125
125
  end
126
126
  end
127
- end
127
+ end
@@ -1,3 +1,3 @@
1
1
  module OrmAdapter
2
- VERSION = "0.1.0"
2
+ VERSION = "0.2.0"
3
3
  end
@@ -19,18 +19,18 @@
19
19
  # end
20
20
  #
21
21
  shared_examples_for "example app with orm_adapter" do
22
-
22
+
23
23
  def create_model(klass, attrs = {})
24
24
  klass.create!(attrs)
25
25
  end
26
-
26
+
27
27
  def reload_model(model)
28
28
  model.class.find(model.id)
29
29
  end
30
-
30
+
31
31
  describe "an ORM class" do
32
32
  subject { note_class }
33
-
33
+
34
34
  it "#to_adapter should return an adapter instance" do
35
35
  subject.to_adapter.should be_a(OrmAdapter::Base)
36
36
  end
@@ -43,11 +43,11 @@ shared_examples_for "example app with orm_adapter" do
43
43
  subject.to_adapter.object_id.should == subject.to_adapter.object_id
44
44
  end
45
45
  end
46
-
46
+
47
47
  describe "adapter instance" do
48
48
  let(:note_adapter) { note_class.to_adapter }
49
49
  let(:user_adapter) { user_class.to_adapter }
50
-
50
+
51
51
  describe "#get!(id)" do
52
52
  it "should return the instance with id if it exists" do
53
53
  user = create_model(user_class)
@@ -90,14 +90,26 @@ shared_examples_for "example app with orm_adapter" do
90
90
  it "should return nil if no conditions match" do
91
91
  user_adapter.find_first(:name => "Betty").should == nil
92
92
  end
93
-
93
+
94
+ it 'allows no conditions' do
95
+ user = create_model(user_class)
96
+ user_adapter.find_first.should == user
97
+ end
98
+
94
99
  it "when conditions contain associated object, should return first model if it exists" do
95
100
  user = create_model(user_class)
96
101
  note = create_model(note_class, :owner => user)
97
102
  note_adapter.find_first(:owner => user).should == note
98
103
  end
104
+
105
+ it "understands :id as a primary key condition (allowing scoped finding)" do
106
+ create_model(user_class, :name => "Fred")
107
+ user = create_model(user_class, :name => "Fred")
108
+ user_adapter.find_first(:id => user.id, :name => "Fred").should == user
109
+ user_adapter.find_first(:id => user.id, :name => "Not Fred").should be_nil
110
+ end
99
111
  end
100
-
112
+
101
113
  describe "(:order => <order array>)" do
102
114
  it "should return first model in specified order" do
103
115
  user1 = create_model(user_class, :name => "Fred", :rating => 1)
@@ -105,7 +117,7 @@ shared_examples_for "example app with orm_adapter" do
105
117
  user_adapter.find_first(:order => [:name, [:rating, :desc]]).should == user2
106
118
  end
107
119
  end
108
-
120
+
109
121
  describe "(:conditions => <conditions hash>, :order => <order array>)" do
110
122
  it "should return first model matching conditions, in specified order" do
111
123
  user1 = create_model(user_class, :name => "Fred", :rating => 1)
@@ -124,10 +136,24 @@ shared_examples_for "example app with orm_adapter" do
124
136
  user_adapter.find_all(:name => "Fred").should == [user1, user2]
125
137
  end
126
138
 
139
+ it "should return all models if no conditions passed" do
140
+ user1 = create_model(user_class, :name => "Fred")
141
+ user2 = create_model(user_class, :name => "Fred")
142
+ user3 = create_model(user_class, :name => "Betty")
143
+ user_adapter.find_all.should == [user1, user2, user3]
144
+ end
145
+
127
146
  it "should return empty array if no conditions match" do
128
147
  user_adapter.find_all(:name => "Fred").should == []
129
148
  end
130
-
149
+
150
+ it 'allows no conditions' do
151
+ user1 = create_model(user_class)
152
+ user2 = create_model(user_class)
153
+ user_adapter.find_all.to_set.should == [user1, user2].to_set
154
+ end
155
+
156
+
131
157
  it "when conditions contain associated object, should return first model if it exists" do
132
158
  user1, user2 = create_model(user_class), create_model(user_class)
133
159
  note1 = create_model(note_class, :owner => user1)
@@ -144,7 +170,7 @@ shared_examples_for "example app with orm_adapter" do
144
170
  user_adapter.find_all(:order => [:name, [:rating, :desc]]).should == [user3, user2, user1]
145
171
  end
146
172
  end
147
-
173
+
148
174
  describe "(:conditions => <conditions hash>, :order => <order array>)" do
149
175
  it "should return only models matching conditions, in specified order" do
150
176
  user1 = create_model(user_class, :name => "Fred", :rating => 1)
@@ -154,7 +180,7 @@ shared_examples_for "example app with orm_adapter" do
154
180
  end
155
181
  end
156
182
  end
157
-
183
+
158
184
  describe "#create!(attributes)" do
159
185
  it "should create a model with the passed attributes" do
160
186
  user = user_adapter.create!(:name => "Fred")
@@ -164,13 +190,13 @@ shared_examples_for "example app with orm_adapter" do
164
190
  it "should raise error when create fails" do
165
191
  lambda { user_adapter.create!(:user => create_model(note_class)) }.should raise_error
166
192
  end
167
-
193
+
168
194
  it "when attributes contain an associated object, should create a model with the attributes" do
169
195
  user = create_model(user_class)
170
196
  note = note_adapter.create!(:owner => user)
171
197
  reload_model(note).owner.should == user
172
198
  end
173
-
199
+
174
200
  it "when attributes contain an has_many assoc, should create a model with the attributes" do
175
201
  notes = [create_model(note_class), create_model(note_class)]
176
202
  user = user_adapter.create!(:notes => notes)
@@ -196,4 +222,4 @@ shared_examples_for "example app with orm_adapter" do
196
222
  end
197
223
  end
198
224
  end
199
- end
225
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: orm_adapter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,11 +10,11 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2012-06-12 00:00:00.000000000 Z
13
+ date: 2012-06-20 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: bundler
17
- requirement: &70097699980460 !ruby/object:Gem::Requirement
17
+ requirement: &70150855160900 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ! '>='
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: 1.0.0
23
23
  type: :development
24
24
  prerelease: false
25
- version_requirements: *70097699980460
25
+ version_requirements: *70150855160900
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: git
28
- requirement: &70097699979600 !ruby/object:Gem::Requirement
28
+ requirement: &70150855160240 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ! '>='
@@ -33,10 +33,10 @@ dependencies:
33
33
  version: 1.2.5
34
34
  type: :development
35
35
  prerelease: false
36
- version_requirements: *70097699979600
36
+ version_requirements: *70150855160240
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: yard
39
- requirement: &70097699979000 !ruby/object:Gem::Requirement
39
+ requirement: &70150855159520 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
42
42
  - - ! '>='
@@ -44,10 +44,10 @@ dependencies:
44
44
  version: 0.6.0
45
45
  type: :development
46
46
  prerelease: false
47
- version_requirements: *70097699979000
47
+ version_requirements: *70150855159520
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: rake
50
- requirement: &70097699978040 !ruby/object:Gem::Requirement
50
+ requirement: &70150855158180 !ruby/object:Gem::Requirement
51
51
  none: false
52
52
  requirements:
53
53
  - - ! '>='
@@ -55,10 +55,10 @@ dependencies:
55
55
  version: 0.8.7
56
56
  type: :development
57
57
  prerelease: false
58
- version_requirements: *70097699978040
58
+ version_requirements: *70150855158180
59
59
  - !ruby/object:Gem::Dependency
60
60
  name: activerecord
61
- requirement: &70097699977120 !ruby/object:Gem::Requirement
61
+ requirement: &70150855157580 !ruby/object:Gem::Requirement
62
62
  none: false
63
63
  requirements:
64
64
  - - ! '>='
@@ -66,10 +66,10 @@ dependencies:
66
66
  version: 3.0.0
67
67
  type: :development
68
68
  prerelease: false
69
- version_requirements: *70097699977120
69
+ version_requirements: *70150855157580
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: mongoid
72
- requirement: &70097699976120 !ruby/object:Gem::Requirement
72
+ requirement: &70150855156740 !ruby/object:Gem::Requirement
73
73
  none: false
74
74
  requirements:
75
75
  - - ! '>='
@@ -77,10 +77,10 @@ dependencies:
77
77
  version: 2.0.0.beta.20
78
78
  type: :development
79
79
  prerelease: false
80
- version_requirements: *70097699976120
80
+ version_requirements: *70150855156740
81
81
  - !ruby/object:Gem::Dependency
82
82
  name: mongo_mapper
83
- requirement: &70097699975540 !ruby/object:Gem::Requirement
83
+ requirement: &70150855141820 !ruby/object:Gem::Requirement
84
84
  none: false
85
85
  requirements:
86
86
  - - ! '>='
@@ -88,10 +88,10 @@ dependencies:
88
88
  version: 0.9.0
89
89
  type: :development
90
90
  prerelease: false
91
- version_requirements: *70097699975540
91
+ version_requirements: *70150855141820
92
92
  - !ruby/object:Gem::Dependency
93
93
  name: bson_ext
94
- requirement: &70097699960720 !ruby/object:Gem::Requirement
94
+ requirement: &70150855139580 !ruby/object:Gem::Requirement
95
95
  none: false
96
96
  requirements:
97
97
  - - ! '>='
@@ -99,10 +99,10 @@ dependencies:
99
99
  version: 1.3.0
100
100
  type: :development
101
101
  prerelease: false
102
- version_requirements: *70097699960720
102
+ version_requirements: *70150855139580
103
103
  - !ruby/object:Gem::Dependency
104
104
  name: rspec
105
- requirement: &70097699957980 !ruby/object:Gem::Requirement
105
+ requirement: &70150855138220 !ruby/object:Gem::Requirement
106
106
  none: false
107
107
  requirements:
108
108
  - - ! '>='
@@ -110,10 +110,10 @@ dependencies:
110
110
  version: 2.4.0
111
111
  type: :development
112
112
  prerelease: false
113
- version_requirements: *70097699957980
113
+ version_requirements: *70150855138220
114
114
  - !ruby/object:Gem::Dependency
115
115
  name: sqlite3
116
- requirement: &70097699956440 !ruby/object:Gem::Requirement
116
+ requirement: &70150855137100 !ruby/object:Gem::Requirement
117
117
  none: false
118
118
  requirements:
119
119
  - - ! '>='
@@ -121,10 +121,10 @@ dependencies:
121
121
  version: 1.3.2
122
122
  type: :development
123
123
  prerelease: false
124
- version_requirements: *70097699956440
124
+ version_requirements: *70150855137100
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: datamapper
127
- requirement: &70097699955740 !ruby/object:Gem::Requirement
127
+ requirement: &70150855136280 !ruby/object:Gem::Requirement
128
128
  none: false
129
129
  requirements:
130
130
  - - ! '>='
@@ -132,10 +132,10 @@ dependencies:
132
132
  version: '1.0'
133
133
  type: :development
134
134
  prerelease: false
135
- version_requirements: *70097699955740
135
+ version_requirements: *70150855136280
136
136
  - !ruby/object:Gem::Dependency
137
137
  name: dm-sqlite-adapter
138
- requirement: &70097699954920 !ruby/object:Gem::Requirement
138
+ requirement: &70150855135540 !ruby/object:Gem::Requirement
139
139
  none: false
140
140
  requirements:
141
141
  - - ! '>='
@@ -143,10 +143,10 @@ dependencies:
143
143
  version: '1.0'
144
144
  type: :development
145
145
  prerelease: false
146
- version_requirements: *70097699954920
146
+ version_requirements: *70150855135540
147
147
  - !ruby/object:Gem::Dependency
148
148
  name: dm-active_model
149
- requirement: &70097699953980 !ruby/object:Gem::Requirement
149
+ requirement: &70150855134420 !ruby/object:Gem::Requirement
150
150
  none: false
151
151
  requirements:
152
152
  - - ! '>='
@@ -154,7 +154,7 @@ dependencies:
154
154
  version: '1.0'
155
155
  type: :development
156
156
  prerelease: false
157
- version_requirements: *70097699953980
157
+ version_requirements: *70150855134420
158
158
  description: Provides a single point of entry for using basic features of ruby ORMs
159
159
  email: ian.w.white@gmail.com
160
160
  executables: []
@@ -201,7 +201,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
201
201
  version: '0'
202
202
  segments:
203
203
  - 0
204
- hash: 1483369582695834263
204
+ hash: -1006971164339010428
205
205
  required_rubygems_version: !ruby/object:Gem::Requirement
206
206
  none: false
207
207
  requirements: