orm_adapter-simple_record 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,18 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ Gemfile.lock
7
+ InstalledFiles
8
+ _yardoc
9
+ coverage
10
+ doc/
11
+ lib/bundler/man
12
+ pkg
13
+ rdoc
14
+ spec/reports
15
+ test/tmp
16
+ test/version_tmp
17
+ tmp
18
+ vendor
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in orm_adapter-simple_record.gemspec
4
+ gemspec
data/LICENSE ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2012 arukoh
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,29 @@
1
+ # OrmAdapter::SimpleRecord
2
+
3
+ Adds Amazon SimpleDB adapter to [orm_adapter](https://github.com/ianwhite/orm_adapter/) which provides a single point of entry for using basic features of popular ruby ORMs.
4
+
5
+ ## Installation
6
+
7
+ Add this line to your application's Gemfile:
8
+
9
+ gem 'orm_adapter-simple_record'
10
+
11
+ And then execute:
12
+
13
+ $ bundle
14
+
15
+ Or install it yourself as:
16
+
17
+ $ gem install orm_adapter-simple_record
18
+
19
+ ## Usage
20
+
21
+ TODO: Write usage instructions here
22
+
23
+ ## Contributing
24
+
25
+ 1. Fork it
26
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
27
+ 3. Commit your changes (`git commit -am 'Added some feature'`)
28
+ 4. Push to the branch (`git push origin my-new-feature`)
29
+ 5. Create new Pull Request
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env rake
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+
4
+ require "bundler/gem_tasks"
5
+ require 'rspec/core/rake_task'
6
+ require "orm_adapter/version"
7
+
8
+ task :default => :spec
9
+
10
+ RSpec::Core::RakeTask.new(:spec)
@@ -0,0 +1,9 @@
1
+ require 'orm_adapter'
2
+ require "orm_adapter-simple_record/version"
3
+ require 'orm_adapter-simple_record/simple_record' if defined?(SimpleRecord::Base)
4
+
5
+ module OrmAdapter
6
+ module SimpleRecord
7
+ # Your code goes here...
8
+ end
9
+ end
@@ -0,0 +1,98 @@
1
+ module SimpleRecord
2
+ class ResultsArray
3
+ def ==(other)
4
+ case other
5
+ when nil then false
6
+ when Array then self.to_a == other
7
+ else self == other
8
+ end
9
+ end
10
+ end
11
+ end
12
+
13
+ module SimpleRecord
14
+ class Base
15
+ extend OrmAdapter::ToAdapter
16
+
17
+ def ==(other)
18
+ return false if other.nil?
19
+ attributes == other.attributes
20
+ end
21
+
22
+ def to_key
23
+ key = self.id
24
+ [key] if key
25
+ end
26
+
27
+ class OrmAdapter < ::OrmAdapter::Base
28
+ # get a list of column names for a given class
29
+ def column_names
30
+ klass.defined_attributes.keys
31
+ end
32
+
33
+ # @see OrmAdapter::Base#get!
34
+ def get!(id)
35
+ klass.find(wrap_key(id))
36
+ end
37
+
38
+ # @see OrmAdapter::Base#get
39
+ def get(id)
40
+ klass.find(:first, :id => wrap_key(id))
41
+ end
42
+
43
+ # @see OrmAdapter::Base#find_first
44
+ def find_first(options = {})
45
+ conditions, order = extract_conditions!(options)
46
+ params = { :conditions => conditions_to_array(conditions_to_fields(conditions)) }
47
+ params[:order] = order_clause(order) unless order && order.empty?
48
+ klass.find(:first, params)
49
+ end
50
+
51
+ # @see OrmAdapter::Base#find_all
52
+ def find_all(options = {})
53
+ conditions, order, limit, offset = extract_conditions!(options)
54
+ params = { :conditions => conditions_to_array(conditions_to_fields(conditions)) }
55
+ params[:order] = order_clause(order) unless order && order.empty?
56
+ params[:limit] = limit unless limit.nil?
57
+ klass.find(:all, params)
58
+ end
59
+
60
+ # @see OrmAdapter::Base#create!
61
+ def create!(attributes = {})
62
+ raise SimpleRecordError.new if attributes.keys.find{|k| !self.column_names.include?(k) }
63
+ klass.create! attributes
64
+ end
65
+
66
+ # @see OrmAdapter::Base#destroy
67
+ def destroy(object)
68
+ object.destroy && object if valid_object?(object)
69
+ end
70
+
71
+ protected
72
+
73
+ def conditions_to_array(conditions)
74
+ case conditions
75
+ when Hash
76
+ values = []
77
+ [ conditions.map{|k,v| values << v; "#{k} = ?"}.join(" AND ") ] + values
78
+ else
79
+ conditions
80
+ end
81
+ end
82
+
83
+ def conditions_to_fields(conditions)
84
+ conditions.inject({}) do |fields, (key, value)|
85
+ if value.is_a?(SimpleRecord::Base) && klass.defined_attributes.keys.include?(key)
86
+ fields.merge("#{key}_id" => value.id)
87
+ else
88
+ fields.merge(key => value)
89
+ end
90
+ end
91
+ end
92
+
93
+ def order_clause(order)
94
+ order.map {|pair| "#{pair[0]} #{pair[1]}"}.join(",")
95
+ end
96
+ end
97
+ end
98
+ end
@@ -0,0 +1,5 @@
1
+ module OrmAdapter
2
+ module SimpleRecord
3
+ VERSION = "0.0.1"
4
+ end
5
+ end
@@ -0,0 +1,25 @@
1
+ # -*- encoding: utf-8 -*-
2
+ require File.expand_path('../lib/orm_adapter-simple_record/version', __FILE__)
3
+
4
+ Gem::Specification.new do |gem|
5
+ gem.authors = ["arukoh"]
6
+ gem.email = ["arukoh10@gmail.com"]
7
+ gem.description = %q{"Adds Amazon SimpleDB adapter to orm_adapter (https://github.com/ianwhite/orm_adapter/) which provides a single point of entry for using basic features of popular ruby ORMs."}
8
+ gem.summary = %q{Adds Amazon SimpleDB ORM adapter to the orm_adapter project}
9
+ gem.homepage = "https://github.com/arukoh/orm_adapter-simple_record"
10
+
11
+ gem.files = `git ls-files`.split($\)
12
+ gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
13
+ gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
14
+ gem.name = "orm_adapter-simple_record"
15
+ gem.require_paths = ["lib"]
16
+ gem.version = OrmAdapter::SimpleRecord::VERSION
17
+
18
+ gem.add_dependency "orm_adapter"
19
+ gem.add_dependency "simple_record", ">= 2.2.0"
20
+
21
+ gem.add_development_dependency "rake", ">= 0.8.7"
22
+ gem.add_development_dependency "rspec", ">= 2.4.0"
23
+ gem.add_development_dependency "active_support"
24
+ gem.add_development_dependency "i18n"
25
+ end
@@ -0,0 +1,241 @@
1
+ # to test your new orm_adapter, make an example app that matches the functionality
2
+ # found in the existing specs for example, look at spec/orm_adapter/adapters/active_record_spec.rb
3
+ #
4
+ # Then you can execute this shared spec as follows:
5
+ #
6
+ # it_should_behave_like "execute app with orm_adapter" do
7
+ # let(:user_class) { User }
8
+ # let(:note_class) { Note }
9
+ #
10
+ # # optionaly define the following functions if the ORM does not support
11
+ # # this syntax - this should NOT use the orm_adapter, because we're testing that
12
+ # def create_model(klass, attrs = {})
13
+ # klass.create!(attrs)
14
+ # end
15
+ #
16
+ # def reload_model(model)
17
+ # model.class.find(model.id)
18
+ # end
19
+ # end
20
+ #
21
+ shared_examples_for "example app with orm_adapter" do
22
+
23
+ def create_model(klass, attrs = {})
24
+ klass.create!(attrs)
25
+ end
26
+
27
+ def reload_model(model)
28
+ model.class.find(model.id)
29
+ end
30
+
31
+ describe "an ORM class" do
32
+ subject { note_class }
33
+
34
+ it "#to_adapter should return an adapter instance" do
35
+ subject.to_adapter.should be_a(OrmAdapter::Base)
36
+ end
37
+
38
+ it "#to_adapter should return an adapter for the receiver" do
39
+ subject.to_adapter.klass.should == subject
40
+ end
41
+
42
+ it "#to_adapter should be cached" do
43
+ subject.to_adapter.object_id.should == subject.to_adapter.object_id
44
+ end
45
+ end
46
+
47
+ describe "adapter instance" do
48
+ let(:note_adapter) { note_class.to_adapter }
49
+ let(:user_adapter) { user_class.to_adapter }
50
+
51
+ describe "#get!(id)" do
52
+ it "should return the instance with id if it exists" do
53
+ user = create_model(user_class)
54
+ user_adapter.get!(user.id).should == user
55
+ end
56
+
57
+ it "should allow to_key like arguments" do
58
+ user = create_model(user_class)
59
+ user_adapter.get!(user.to_key).should == user
60
+ end
61
+
62
+ it "should raise an error if there is no instance with that id" do
63
+ lambda { user_adapter.get!("nonexistent id") }.should raise_error
64
+ end
65
+ end
66
+
67
+ describe "#get(id)" do
68
+ it "should return the instance with id if it exists" do
69
+ user = create_model(user_class)
70
+ user_adapter.get(user.id).should == user
71
+ end
72
+
73
+ it "should allow to_key like arguments" do
74
+ user = create_model(user_class)
75
+ user_adapter.get(user.to_key).should == user
76
+ end
77
+
78
+ it "should return nil if there is no instance with that id" do
79
+ user_adapter.get("nonexistent id").should be_nil
80
+ end
81
+ end
82
+
83
+ describe "#find_first" do
84
+ describe "(conditions)" do
85
+ it "should return first model matching conditions, if it exists" do
86
+ user = create_model(user_class, :name => "Fred")
87
+ user_adapter.find_first(:name => "Fred").should == user
88
+ end
89
+
90
+ it "should return nil if no conditions match" do
91
+ user_adapter.find_first(:name => "Betty").should == nil
92
+ end
93
+
94
+ it 'should return the first model if no conditions passed' do
95
+ user = create_model(user_class)
96
+ create_model(user_class)
97
+ user_adapter.find_first.should == user
98
+ end
99
+
100
+ it "when conditions contain associated object, should return first model if it exists" do
101
+ user = create_model(user_class)
102
+ note = create_model(note_class, :owner => user)
103
+ note_adapter.find_first(:owner => user).should == note
104
+ end
105
+
106
+ it "understands :id as a primary key condition (allowing scoped finding)" do
107
+ create_model(user_class, :name => "Fred")
108
+ user = create_model(user_class, :name => "Fred")
109
+ user_adapter.find_first(:id => user.id, :name => "Fred").should == user
110
+ user_adapter.find_first(:id => user.id, :name => "Not Fred").should be_nil
111
+ end
112
+ end
113
+
114
+ describe "(:order => <order array>)" do
115
+ it "should return first model in specified order" do
116
+ user1 = create_model(user_class, :name => "Fred", :rating => 1)
117
+ user2 = create_model(user_class, :name => "Fred", :rating => 2)
118
+ # user_adapter.find_first(:order => [:name, [:rating, :desc]]).should == user2
119
+ user_adapter.find_first(:order => [:rating, :desc]).should == user2
120
+ end
121
+ end
122
+
123
+ describe "(:conditions => <conditions hash>, :order => <order array>)" do
124
+ it "should return first model matching conditions, in specified order" do
125
+ user1 = create_model(user_class, :name => "Fred", :rating => 1)
126
+ user2 = create_model(user_class, :name => "Fred", :rating => 2)
127
+ user_adapter.find_first(:conditions => {:name => "Fred"}, :order => [:rating, :desc]).should == user2
128
+ end
129
+ end
130
+ end
131
+
132
+ describe "#find_all" do
133
+ describe "(conditions)" do
134
+ it "should return only models matching conditions" do
135
+ user1 = create_model(user_class, :name => "Fred")
136
+ user2 = create_model(user_class, :name => "Fred")
137
+ user3 = create_model(user_class, :name => "Betty")
138
+ user_adapter.find_all(:name => "Fred").should == [user1, user2]
139
+ end
140
+
141
+ it "should return all models if no conditions passed" do
142
+ user1 = create_model(user_class, :name => "Fred")
143
+ user2 = create_model(user_class, :name => "Fred")
144
+ user3 = create_model(user_class, :name => "Betty")
145
+ user_adapter.find_all.should == [user1, user2, user3]
146
+ end
147
+
148
+ it "should return empty array if no conditions match" do
149
+ user_adapter.find_all(:name => "Fred").should == []
150
+ end
151
+
152
+ it "when conditions contain associated object, should return first model if it exists" do
153
+ user1, user2 = create_model(user_class), create_model(user_class)
154
+ note1 = create_model(note_class, :owner => user1)
155
+ note2 = create_model(note_class, :owner => user2)
156
+ note_adapter.find_all(:owner => user2).should == [note2]
157
+ end
158
+ end
159
+
160
+ # describe "(:order => <order array>)" do
161
+ # it "should return all models in specified order" do
162
+ # user1 = create_model(user_class, :name => "Fred", :rating => 1)
163
+ # user2 = create_model(user_class, :name => "Fred", :rating => 2)
164
+ # user3 = create_model(user_class, :name => "Betty", :rating => 1)
165
+ # user_adapter.find_all(:order => [:name, [:rating, :desc]]).should == [user3, user2, user1]
166
+ # end
167
+ # end
168
+
169
+ describe "(:conditions => <conditions hash>, :order => <order array>)" do
170
+ it "should return only models matching conditions, in specified order" do
171
+ user1 = create_model(user_class, :name => "Fred", :rating => 1)
172
+ user2 = create_model(user_class, :name => "Fred", :rating => 2)
173
+ user3 = create_model(user_class, :name => "Betty", :rating => 1)
174
+ user_adapter.find_all(:conditions => {:name => "Fred"}, :order => [:rating, :desc]).should == [user2, user1]
175
+ end
176
+ end
177
+
178
+ describe "(:limit => <number of items>)" do
179
+ it "should return a limited set of matching models" do
180
+ user1 = create_model(user_class, :name => "Fred", :rating => 1)
181
+ user2 = create_model(user_class, :name => "Fred", :rating => 2)
182
+ user3 = create_model(user_class, :name => "Betty", :rating => 1)
183
+ user_adapter.find_all(:limit => 1).should == [user1]
184
+ user_adapter.find_all(:limit => 2).should == [user1, user2]
185
+ end
186
+ end
187
+
188
+ # describe "(:offset => <offset number>) with limit (as DataMapper doesn't allow offset on its own)" do
189
+ # it "should return an offset set of matching models" do
190
+ # user1 = create_model(user_class, :name => "Fred", :rating => 1)
191
+ # user2 = create_model(user_class, :name => "Fred", :rating => 2)
192
+ # user3 = create_model(user_class, :name => "Betty", :rating => 1)
193
+ # user_adapter.find_all(:limit => 3, :offset => 0).should == [user1, user2, user3]
194
+ # user_adapter.find_all(:limit => 3, :offset => 1).should == [user2, user3]
195
+ # user_adapter.find_all(:limit => 1, :offset => 1).should == [user2]
196
+ # end
197
+ # end
198
+ end
199
+
200
+ describe "#create!(attributes)" do
201
+ it "should create a model with the passed attributes" do
202
+ user = user_adapter.create!(:name => "Fred")
203
+ reload_model(user).name.should == "Fred"
204
+ end
205
+
206
+ it "should raise error when create fails" do
207
+ lambda { user_adapter.create!(:user => create_model(note_class)) }.should raise_error
208
+ end
209
+
210
+ it "when attributes contain an associated object, should create a model with the attributes" do
211
+ user = create_model(user_class)
212
+ note = note_adapter.create!(:owner => user)
213
+ reload_model(note).owner.should == user
214
+ end
215
+
216
+ # it "when attributes contain an has_many assoc, should create a model with the attributes" do
217
+ # notes = [create_model(note_class), create_model(note_class)]
218
+ # user = user_adapter.create!(:notes => notes)
219
+ # reload_model(user).notes.should == notes
220
+ # end
221
+ end
222
+
223
+ describe "#destroy(instance)" do
224
+ it "should destroy the instance if it exists" do
225
+ user = create_model(user_class)
226
+ user_adapter.destroy(user).should == user
227
+ user_adapter.get(user.id).should be_nil
228
+ end
229
+
230
+ it "should return nil if passed with an invalid instance" do
231
+ user_adapter.destroy("nonexistent instance").should be_nil
232
+ end
233
+
234
+ it "should not destroy the instance if it doesn't match the model class" do
235
+ user = create_model(user_class)
236
+ note_adapter.destroy(user).should be_nil
237
+ user_adapter.get(user.id).should == user
238
+ end
239
+ end
240
+ end
241
+ end
@@ -0,0 +1,9 @@
1
+ class User < SimpleRecord::Base
2
+ has_strings :name
3
+ has_strings :rating
4
+ end
5
+
6
+ class Note < SimpleRecord::Base
7
+ has_strings :body
8
+ belongs_to :owner, :class_name => "User"
9
+ end
@@ -0,0 +1,27 @@
1
+ require 'spec_helper'
2
+ require 'example_app_shared'
3
+ require 'models'
4
+
5
+ if !defined?(SimpleRecord::Base)
6
+ puts "** require 'simple_record' to run the specs in #{__FILE__}"
7
+ exit 1
8
+ end
9
+
10
+ logger = Logger.new($stdout)
11
+ logger.level = Logger::ERROR
12
+ SimpleRecord.establish_connection( ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY'], :logger => logger)
13
+
14
+ module SimpleRecordOrmSpec
15
+ # here be the specs!
16
+ describe SimpleRecord::Base::OrmAdapter do
17
+ before do
18
+ User.destroy_all
19
+ Note.destroy_all
20
+ end
21
+
22
+ it_should_behave_like "example app with orm_adapter" do
23
+ let(:user_class) { User }
24
+ let(:note_class) { Note }
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,8 @@
1
+ # encoding: utf-8
2
+ $:.unshift(File.dirname(__FILE__) + '/../lib')
3
+
4
+ require 'rubygems'
5
+ require 'rspec'
6
+ require 'simple_record'
7
+ require 'orm_adapter'
8
+ require 'orm_adapter-simple_record'
metadata ADDED
@@ -0,0 +1,166 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: orm_adapter-simple_record
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - arukoh
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-08-05 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: orm_adapter
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
30
+ - !ruby/object:Gem::Dependency
31
+ name: simple_record
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: 2.2.0
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: 2.2.0
46
+ - !ruby/object:Gem::Dependency
47
+ name: rake
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: 0.8.7
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: 0.8.7
62
+ - !ruby/object:Gem::Dependency
63
+ name: rspec
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: 2.4.0
70
+ type: :development
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: 2.4.0
78
+ - !ruby/object:Gem::Dependency
79
+ name: active_support
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ! '>='
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
86
+ type: :development
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
94
+ - !ruby/object:Gem::Dependency
95
+ name: i18n
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ! '>='
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
102
+ type: :development
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ description: ! '"Adds Amazon SimpleDB adapter to orm_adapter (https://github.com/ianwhite/orm_adapter/)
111
+ which provides a single point of entry for using basic features of popular ruby
112
+ ORMs."'
113
+ email:
114
+ - arukoh10@gmail.com
115
+ executables: []
116
+ extensions: []
117
+ extra_rdoc_files: []
118
+ files:
119
+ - .gitignore
120
+ - Gemfile
121
+ - LICENSE
122
+ - README.md
123
+ - Rakefile
124
+ - lib/orm_adapter-simple_record.rb
125
+ - lib/orm_adapter-simple_record/simple_record.rb
126
+ - lib/orm_adapter-simple_record/version.rb
127
+ - orm_adapter-simple_record.gemspec
128
+ - spec/example_app_shared.rb
129
+ - spec/models.rb
130
+ - spec/simple_record_spec.rb
131
+ - spec/spec_helper.rb
132
+ homepage: https://github.com/arukoh/orm_adapter-simple_record
133
+ licenses: []
134
+ post_install_message:
135
+ rdoc_options: []
136
+ require_paths:
137
+ - lib
138
+ required_ruby_version: !ruby/object:Gem::Requirement
139
+ none: false
140
+ requirements:
141
+ - - ! '>='
142
+ - !ruby/object:Gem::Version
143
+ version: '0'
144
+ segments:
145
+ - 0
146
+ hash: -821565037
147
+ required_rubygems_version: !ruby/object:Gem::Requirement
148
+ none: false
149
+ requirements:
150
+ - - ! '>='
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ segments:
154
+ - 0
155
+ hash: -821565037
156
+ requirements: []
157
+ rubyforge_project:
158
+ rubygems_version: 1.8.24
159
+ signing_key:
160
+ specification_version: 3
161
+ summary: Adds Amazon SimpleDB ORM adapter to the orm_adapter project
162
+ test_files:
163
+ - spec/example_app_shared.rb
164
+ - spec/models.rb
165
+ - spec/simple_record_spec.rb
166
+ - spec/spec_helper.rb