gdatastore_mapper 0.1.3 → 0.1.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +1 -5
- data/README.md +18 -14
- data/gdatastore_mapper.gemspec +16 -13
- data/lib/gdatastore_mapper.rb +4 -3
- data/lib/gdatastore_mapper/associations.rb +11 -6
- data/lib/gdatastore_mapper/base.rb +6 -6
- data/lib/gdatastore_mapper/persistence.rb +1 -3
- data/lib/gdatastore_mapper/relation.rb +1 -0
- data/lib/gdatastore_mapper/scoping.rb +1 -1
- data/lib/gdatastore_mapper/session.rb +0 -2
- data/lib/gdatastore_mapper/version.rb +1 -1
- data/rails_example/Gemfile +1 -1
- data/rails_example/Gemfile.lock +5 -27
- data/rails_example/README.md +34 -13
- data/rails_example/app.yaml +3 -0
- data/rails_example/config/secrets.yml +1 -14
- metadata +44 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 37b4099d9d73578ac345308631870169d1e24513
|
4
|
+
data.tar.gz: 65d545b40e2b8482f7033c2e53e195a869aa88d5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d17c543ebd171c76fd20dd5aa78ba860a3765c4741762331d9fbaa22bb6207010cf2b66e2accabda4e017af4e8f7ee566f22ee46d4863ac2065bea97f162c48d
|
7
|
+
data.tar.gz: b4af8479645b8b161b2cd74d61b699b4c9361a6e3f260291a45f9838f56085b1a5e6918d7e379a0363234c841d53dce3a077e57f633dc22d2dd587f7e5f1eb5e
|
data/Gemfile
CHANGED
@@ -3,11 +3,7 @@ source 'https://rubygems.org'
|
|
3
3
|
# Specify your gem's dependencies in gdatastore_mapper.gemspec
|
4
4
|
gemspec
|
5
5
|
|
6
|
-
|
7
|
-
gem 'activesupport', '~> 5.0.1'
|
8
|
-
gem 'rake'
|
9
|
-
|
10
|
-
group :test do
|
6
|
+
group :development, :test do
|
11
7
|
gem 'byebug', platform: :mri
|
12
8
|
gem 'factory_girl_rails', require: false
|
13
9
|
gem 'pry-rails'
|
data/README.md
CHANGED
@@ -4,6 +4,7 @@ GdatastoreMapper is a mapper framework for Google Cloud Datastore in Ruby / Ruby
|
|
4
4
|
Once you install GdatastoreMapper you can use Google Cloud Datastore like ActiveRecord.
|
5
5
|
|
6
6
|
## Table of Contents
|
7
|
+
- [Demo](#demo)
|
7
8
|
- [Requirements](#requirements)
|
8
9
|
- [Installation](#installation)
|
9
10
|
- [Configuration](#configuration)
|
@@ -15,11 +16,15 @@ Once you install GdatastoreMapper you can use Google Cloud Datastore like Active
|
|
15
16
|
- [One to Many](#one-to-many)
|
16
17
|
- [Development](#development)
|
17
18
|
|
18
|
-
##
|
19
|
+
## Demo
|
20
|
+
|
21
|
+
Here is [demo](https://gdatastore-mapper-sample.appspot.com/). The demo works with Google Cloud Datastore.
|
19
22
|
|
20
|
-
|
23
|
+
Source code is [here](https://github.com/shinyaK14/gdatastore_mapper/tree/master/rails_example).
|
24
|
+
|
25
|
+
## Requirements
|
21
26
|
|
22
|
-
|
27
|
+
GdatastoreMapper requires Rails version >= 5
|
23
28
|
|
24
29
|
|
25
30
|
## Installation
|
@@ -32,7 +37,6 @@ $ rails new your_project --skip-active-record
|
|
32
37
|
Add this line to your application's Gemfile:
|
33
38
|
|
34
39
|
```ruby
|
35
|
-
gem 'google-cloud'
|
36
40
|
gem 'gdatastore_mapper'
|
37
41
|
```
|
38
42
|
|
@@ -117,20 +121,20 @@ Book.find(12)
|
|
117
121
|
```
|
118
122
|
```
|
119
123
|
Book.find_by(title: 'Harry Potter')
|
120
|
-
=> #<Book:0x00 @
|
124
|
+
=> #<Book:0x00 @title="Harry Potter" ....
|
121
125
|
```
|
122
126
|
```
|
123
127
|
Book.order(title: :asc)
|
124
|
-
=> [#<Book:0x00 @
|
128
|
+
=> [#<Book:0x00 @title="Harry Potter" .... ]
|
125
129
|
```
|
126
130
|
|
127
131
|
```
|
128
132
|
Book.first
|
129
|
-
=> #<Book:0x00 @
|
133
|
+
=> #<Book:0x00 @title="Harry Potter" ....
|
130
134
|
```
|
131
135
|
```
|
132
136
|
Book.last
|
133
|
-
=> #<Book:0x00 @
|
137
|
+
=> #<Book:0x00 @title="Harry Potter" ....
|
134
138
|
```
|
135
139
|
```
|
136
140
|
Book.count
|
@@ -138,7 +142,7 @@ Book.count
|
|
138
142
|
```
|
139
143
|
```
|
140
144
|
Book.all
|
141
|
-
=> [#<Book:0x00 @
|
145
|
+
=> [#<Book:0x00 @title="Harry Potter" .... ]
|
142
146
|
```
|
143
147
|
|
144
148
|
## Timestamp
|
@@ -173,24 +177,24 @@ end
|
|
173
177
|
|
174
178
|
books.create
|
175
179
|
```
|
176
|
-
|
180
|
+
rowling = Author.create(name: 'J. K. Rowling')
|
177
181
|
harry_poter = rolling.books.create(title: 'Harry Poter')
|
178
182
|
harry_poter2 = rolling.books.create(title: 'Harry Poter 2')
|
179
183
|
```
|
180
184
|
books
|
181
185
|
```
|
182
|
-
|
183
|
-
=> [#<Book:0x00 @
|
186
|
+
rowling.books
|
187
|
+
=> [#<Book:0x00 @title="Harry Potter" .... ]
|
184
188
|
```
|
185
189
|
|
186
190
|
books.count
|
187
191
|
```
|
188
|
-
|
192
|
+
rowling.books.count
|
189
193
|
=> 2
|
190
194
|
```
|
191
195
|
```
|
192
196
|
harry_poter.author
|
193
|
-
=> [#<Author:0x00 @
|
197
|
+
=> [#<Author:0x00 @name="J. K. Rowling" .... ]
|
194
198
|
```
|
195
199
|
|
196
200
|
## Development
|
data/gdatastore_mapper.gemspec
CHANGED
@@ -4,25 +4,28 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
4
|
require 'gdatastore_mapper/version'
|
5
5
|
|
6
6
|
Gem::Specification.new do |spec|
|
7
|
-
spec.name =
|
7
|
+
spec.name = 'gdatastore_mapper'
|
8
8
|
spec.version = GdatastoreMapper::VERSION
|
9
|
-
spec.authors = [
|
10
|
-
spec.email = [
|
9
|
+
spec.authors = ['Shinya Kitamura']
|
10
|
+
spec.email = ['shinya.kitamura.14@gmail.com']
|
11
11
|
|
12
|
-
spec.summary =
|
13
|
-
spec.description =
|
14
|
-
spec.homepage =
|
15
|
-
spec.license =
|
12
|
+
spec.summary = 'Google Cloud Datastore Mapper in Ruby / Ruby on Rails'
|
13
|
+
spec.description = 'Google Cloud Datastore ORM/ODM (Mapper) in Ruby and Ruby on Rails'
|
14
|
+
spec.homepage = 'https://github.com/shinyaK14/gdatastore_mapper'
|
15
|
+
spec.license = 'MIT'
|
16
16
|
|
17
17
|
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
18
18
|
f.match(%r{^(test|spec|features)/})
|
19
19
|
end
|
20
|
-
spec.bindir =
|
20
|
+
spec.bindir = 'exe'
|
21
21
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
22
|
-
spec.require_paths = [
|
22
|
+
spec.require_paths = ['lib']
|
23
23
|
|
24
|
-
spec.
|
25
|
-
spec.
|
26
|
-
spec.
|
27
|
-
|
24
|
+
spec.add_runtime_dependency 'google-cloud-datastore', '~> 1.0'
|
25
|
+
spec.add_runtime_dependency 'activemodel', '~> 5.0'
|
26
|
+
spec.add_runtime_dependency 'activesupport', '~> 5.0'
|
27
|
+
|
28
|
+
spec.add_development_dependency 'rake', '~> 12.0'
|
29
|
+
spec.add_development_dependency 'bundler', '~> 1.14'
|
30
|
+
spec.add_development_dependency 'rspec', '~> 3.0'
|
28
31
|
end
|
data/lib/gdatastore_mapper.rb
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
require 'active_support/concern'
|
2
2
|
require 'active_model'
|
3
|
+
require 'google/cloud/datastore'
|
3
4
|
|
4
|
-
require
|
5
|
-
require
|
6
|
-
require
|
5
|
+
require 'gdatastore_mapper/version'
|
6
|
+
require 'gdatastore_mapper/session'
|
7
|
+
require 'gdatastore_mapper/base'
|
7
8
|
|
@@ -1,5 +1,4 @@
|
|
1
1
|
# encoding: utf-8
|
2
|
-
require "google/cloud"
|
3
2
|
require "gdatastore_mapper/relation"
|
4
3
|
require "gdatastore_mapper/associations/has_many"
|
5
4
|
|
@@ -27,11 +26,7 @@ module GdatastoreMapper
|
|
27
26
|
end
|
28
27
|
|
29
28
|
def belongs_to model
|
30
|
-
|
31
|
-
@belongs_to_models = [model.to_s]
|
32
|
-
else
|
33
|
-
@belongs_to_models << model.to_s
|
34
|
-
end
|
29
|
+
add_belongs_to model
|
35
30
|
self.class_eval("attr_accessor :#{model.to_s + '_id'}")
|
36
31
|
|
37
32
|
define_method model do
|
@@ -45,5 +40,15 @@ module GdatastoreMapper
|
|
45
40
|
@belongs_to_models
|
46
41
|
end
|
47
42
|
|
43
|
+
private
|
44
|
+
|
45
|
+
def add_belongs_to(model)
|
46
|
+
if @belongs_to_models.nil?
|
47
|
+
@belongs_to_models = [model.to_s]
|
48
|
+
else
|
49
|
+
@belongs_to_models << model.to_s
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
48
53
|
end
|
49
54
|
end
|
@@ -1,14 +1,14 @@
|
|
1
|
-
require
|
2
|
-
require
|
3
|
-
require
|
4
|
-
require
|
5
|
-
require "gdatastore_mapper/persistence"
|
1
|
+
require 'gdatastore_mapper/session'
|
2
|
+
require 'gdatastore_mapper/scoping'
|
3
|
+
require 'gdatastore_mapper/associations'
|
4
|
+
require 'gdatastore_mapper/persistence'
|
6
5
|
|
7
6
|
module GdatastoreMapper
|
8
7
|
module Base
|
9
8
|
extend ActiveSupport::Concern
|
10
9
|
include ActiveModel::Model
|
11
10
|
include ActiveModel::Validations
|
11
|
+
include ActiveModel::Validations::Callbacks
|
12
12
|
|
13
13
|
attr_accessor :id, :created_at, :updated_at
|
14
14
|
|
@@ -67,7 +67,7 @@ module GdatastoreMapper
|
|
67
67
|
@entity = Google::Cloud::Datastore::Entity.new
|
68
68
|
@entity.key = Google::Cloud::Datastore::Key.new self.class.to_s, id
|
69
69
|
@entity['created_at'] = id ? self.created_at : Time.zone.now
|
70
|
-
@entity[
|
70
|
+
@entity['updated_at'] = Time.zone.now
|
71
71
|
end
|
72
72
|
|
73
73
|
def id_ model
|
@@ -1,5 +1,3 @@
|
|
1
|
-
require "google/cloud"
|
2
|
-
|
3
1
|
module GdatastoreMapper
|
4
2
|
module Persistence
|
5
3
|
|
@@ -39,7 +37,7 @@ module GdatastoreMapper
|
|
39
37
|
return if self.class.belongs_to_models.nil?
|
40
38
|
belongings_id = belonging.class.to_s.pluralize.underscore + '_id'
|
41
39
|
self.class.belongs_to_models.each do |owner|
|
42
|
-
owner_record = belonging.send(owner)
|
40
|
+
return unless owner_record = belonging.send(owner)
|
43
41
|
existing_ids = owner_record.send(belongings_id) || []
|
44
42
|
owner_record.update(owner_attr(belongings_id, existing_ids, flg))
|
45
43
|
end
|
@@ -1,4 +1,3 @@
|
|
1
|
-
require "google/cloud"
|
2
1
|
require "gdatastore_mapper/relation"
|
3
2
|
|
4
3
|
module GdatastoreMapper
|
@@ -10,6 +9,7 @@ module GdatastoreMapper
|
|
10
9
|
end
|
11
10
|
|
12
11
|
def find id
|
12
|
+
return nil if id.nil?
|
13
13
|
query = Google::Cloud::Datastore::Key.new self.to_s, id.to_i
|
14
14
|
entities = GdatastoreMapper::Session.dataset.lookup query
|
15
15
|
from_entity entities.first if entities.any?
|
data/rails_example/Gemfile
CHANGED
data/rails_example/Gemfile.lock
CHANGED
@@ -1,9 +1,3 @@
|
|
1
|
-
PATH
|
2
|
-
remote: ../../gems/gdatastore_mapper
|
3
|
-
specs:
|
4
|
-
gdatastore_mapper (0.1.2bata)
|
5
|
-
google-cloud (~> 0.27)
|
6
|
-
|
7
1
|
GEM
|
8
2
|
remote: https://rubygems.org/
|
9
3
|
specs:
|
@@ -50,7 +44,6 @@ GEM
|
|
50
44
|
bindex (0.5.0)
|
51
45
|
builder (3.2.3)
|
52
46
|
byebug (9.0.6)
|
53
|
-
coderay (1.1.1)
|
54
47
|
coffee-rails (4.2.1)
|
55
48
|
coffee-script (>= 2.2.0)
|
56
49
|
railties (>= 4.0.0, < 5.2.x)
|
@@ -67,6 +60,8 @@ GEM
|
|
67
60
|
faraday (0.12.0.1)
|
68
61
|
multipart-post (>= 1.2, < 3)
|
69
62
|
ffi (1.9.18)
|
63
|
+
gdatastore_mapper (0.1.3)
|
64
|
+
google-cloud (~> 0.27)
|
70
65
|
globalid (0.3.7)
|
71
66
|
activesupport (>= 4.1.0)
|
72
67
|
google-api-client (0.11.1)
|
@@ -148,7 +143,7 @@ GEM
|
|
148
143
|
googleauth (~> 0.5.1)
|
149
144
|
grpc (~> 1.0)
|
150
145
|
rly (~> 0.2.3)
|
151
|
-
google-protobuf (3.2.0.2
|
146
|
+
google-protobuf (3.2.0.2)
|
152
147
|
googleapis-common-protos (1.3.5)
|
153
148
|
google-protobuf (~> 3.2)
|
154
149
|
grpc (~> 1.0)
|
@@ -160,7 +155,7 @@ GEM
|
|
160
155
|
multi_json (~> 1.11)
|
161
156
|
os (~> 0.9)
|
162
157
|
signet (~> 0.7)
|
163
|
-
grpc (1.2.2
|
158
|
+
grpc (1.2.2)
|
164
159
|
google-protobuf (~> 3.1)
|
165
160
|
googleauth (~> 0.5.1)
|
166
161
|
grpc-google-iam-v1 (0.6.8)
|
@@ -201,18 +196,6 @@ GEM
|
|
201
196
|
nokogiri (1.7.1)
|
202
197
|
mini_portile2 (~> 2.1.0)
|
203
198
|
os (0.9.6)
|
204
|
-
pry (0.10.4)
|
205
|
-
coderay (~> 1.1.0)
|
206
|
-
method_source (~> 0.8.1)
|
207
|
-
slop (~> 3.4)
|
208
|
-
pry-byebug (3.4.2)
|
209
|
-
byebug (~> 9.0)
|
210
|
-
pry (~> 0.10)
|
211
|
-
pry-doc (0.10.0)
|
212
|
-
pry (~> 0.9)
|
213
|
-
yard (~> 0.9)
|
214
|
-
pry-rails (0.3.6)
|
215
|
-
pry (>= 0.10.4)
|
216
199
|
public_suffix (2.0.5)
|
217
200
|
puma (3.8.2)
|
218
201
|
rack (2.0.1)
|
@@ -263,7 +246,6 @@ GEM
|
|
263
246
|
faraday (~> 0.9)
|
264
247
|
jwt (~> 1.5)
|
265
248
|
multi_json (~> 1.10)
|
266
|
-
slop (3.6.0)
|
267
249
|
spring (2.0.1)
|
268
250
|
activesupport (>= 4.2)
|
269
251
|
spring-watcher-listen (2.0.1)
|
@@ -296,7 +278,6 @@ GEM
|
|
296
278
|
websocket-driver (0.6.5)
|
297
279
|
websocket-extensions (>= 0.1.0)
|
298
280
|
websocket-extensions (0.1.2)
|
299
|
-
yard (0.9.8)
|
300
281
|
zonefile (1.04)
|
301
282
|
|
302
283
|
PLATFORMS
|
@@ -305,14 +286,11 @@ PLATFORMS
|
|
305
286
|
DEPENDENCIES
|
306
287
|
byebug
|
307
288
|
coffee-rails (~> 4.2)
|
308
|
-
gdatastore_mapper
|
289
|
+
gdatastore_mapper
|
309
290
|
google-cloud
|
310
291
|
jbuilder (~> 2.5)
|
311
292
|
jquery-rails
|
312
293
|
listen (~> 3.0.5)
|
313
|
-
pry-byebug
|
314
|
-
pry-doc
|
315
|
-
pry-rails
|
316
294
|
puma (~> 3.0)
|
317
295
|
rails (~> 5.0.2)
|
318
296
|
sass-rails (~> 5.0)
|
data/rails_example/README.md
CHANGED
@@ -1,24 +1,45 @@
|
|
1
|
-
#
|
1
|
+
# Gdatastore Mapper Rails example
|
2
2
|
|
3
|
-
|
4
|
-
application up and running.
|
3
|
+
Source code of Gdatastore Mapper Rails example.
|
5
4
|
|
6
|
-
|
5
|
+
Here is [demo](https://gdatastore-mapper-sample.appspot.com/)
|
7
6
|
|
8
|
-
|
7
|
+
## Versions
|
9
8
|
|
10
|
-
|
9
|
+
Ruby 2.3.3
|
11
10
|
|
12
|
-
|
11
|
+
Rails 5.0.2
|
13
12
|
|
14
|
-
|
13
|
+
google-cloud 0.28.0
|
15
14
|
|
16
|
-
|
15
|
+
# Model Association
|
17
16
|
|
18
|
-
|
17
|
+
In the application containing authors and books, the author model has many books. The book belongs to author.
|
19
18
|
|
20
|
-
* Services (job queues, cache servers, search engines, etc.)
|
21
19
|
|
22
|
-
|
20
|
+
```ruby
|
21
|
+
# app/models/author.rb
|
22
|
+
class Author
|
23
|
+
include GdatastoreMapper::Base
|
23
24
|
|
24
|
-
|
25
|
+
attr_accessor :name
|
26
|
+
|
27
|
+
has_many :books
|
28
|
+
|
29
|
+
validates :name, presence: true
|
30
|
+
end
|
31
|
+
```
|
32
|
+
|
33
|
+
```ruby
|
34
|
+
class Book
|
35
|
+
include GdatastoreMapper::Base
|
36
|
+
|
37
|
+
attr_accessor :title, :description
|
38
|
+
|
39
|
+
belongs_to :author
|
40
|
+
|
41
|
+
validates :title, presence: true
|
42
|
+
end
|
43
|
+
```
|
44
|
+
|
45
|
+
![has_many](https://cloud.githubusercontent.com/assets/9897663/25094991/e71472b4-2399-11e7-9b3d-d612b6f1e742.png)
|
@@ -1,14 +1,3 @@
|
|
1
|
-
# Be sure to restart your server when you modify this file.
|
2
|
-
|
3
|
-
# Your secret key is used for verifying the integrity of signed cookies.
|
4
|
-
# If you change this key, all old signed cookies will become invalid!
|
5
|
-
|
6
|
-
# Make sure the secret is at least 30 characters and all random,
|
7
|
-
# no regular words or you'll be exposed to dictionary attacks.
|
8
|
-
# You can use `rails secret` to generate a secure secret key.
|
9
|
-
|
10
|
-
# Make sure the secrets in this file are kept private
|
11
|
-
# if you're sharing your code publicly.
|
12
1
|
|
13
2
|
development:
|
14
3
|
secret_key_base: aa6a42b0d5535f02cc6e8889c5b7199ab06b9b12303f04e9815c99944e0e5618a8a22d870c6a8eee907dc365650ccc4a4a8b54666747bcc1317f389642f0213d
|
@@ -16,7 +5,5 @@ development:
|
|
16
5
|
test:
|
17
6
|
secret_key_base: fcb7e03df887de76cdce579fa0d51bc576d193d3b44aac7eabe0a5c9d3ccad3f45d40696d7264cc3866cb101ff9ad689fbc2a8a2c5a422e7075b27a289022f57
|
18
7
|
|
19
|
-
# Do not keep production secrets in the repository,
|
20
|
-
# instead read values from the environment.
|
21
8
|
production:
|
22
|
-
secret_key_base:
|
9
|
+
secret_key_base: to-input-your-secret-key-base
|
metadata
CHANGED
@@ -1,71 +1,99 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gdatastore_mapper
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Shinya Kitamura
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-04-
|
11
|
+
date: 2017-04-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: google-cloud-datastore
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '1.
|
20
|
-
type: :
|
19
|
+
version: '1.0'
|
20
|
+
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '1.
|
26
|
+
version: '1.0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: activemodel
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '5.0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '5.0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: activesupport
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '5.0'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '5.0'
|
27
55
|
- !ruby/object:Gem::Dependency
|
28
56
|
name: rake
|
29
57
|
requirement: !ruby/object:Gem::Requirement
|
30
58
|
requirements:
|
31
59
|
- - "~>"
|
32
60
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
61
|
+
version: '12.0'
|
34
62
|
type: :development
|
35
63
|
prerelease: false
|
36
64
|
version_requirements: !ruby/object:Gem::Requirement
|
37
65
|
requirements:
|
38
66
|
- - "~>"
|
39
67
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
68
|
+
version: '12.0'
|
41
69
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
70
|
+
name: bundler
|
43
71
|
requirement: !ruby/object:Gem::Requirement
|
44
72
|
requirements:
|
45
73
|
- - "~>"
|
46
74
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
75
|
+
version: '1.14'
|
48
76
|
type: :development
|
49
77
|
prerelease: false
|
50
78
|
version_requirements: !ruby/object:Gem::Requirement
|
51
79
|
requirements:
|
52
80
|
- - "~>"
|
53
81
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
82
|
+
version: '1.14'
|
55
83
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
84
|
+
name: rspec
|
57
85
|
requirement: !ruby/object:Gem::Requirement
|
58
86
|
requirements:
|
59
87
|
- - "~>"
|
60
88
|
- !ruby/object:Gem::Version
|
61
|
-
version: '0
|
62
|
-
type: :
|
89
|
+
version: '3.0'
|
90
|
+
type: :development
|
63
91
|
prerelease: false
|
64
92
|
version_requirements: !ruby/object:Gem::Requirement
|
65
93
|
requirements:
|
66
94
|
- - "~>"
|
67
95
|
- !ruby/object:Gem::Version
|
68
|
-
version: '0
|
96
|
+
version: '3.0'
|
69
97
|
description: Google Cloud Datastore ORM/ODM (Mapper) in Ruby and Ruby on Rails
|
70
98
|
email:
|
71
99
|
- shinya.kitamura.14@gmail.com
|
@@ -98,6 +126,7 @@ files:
|
|
98
126
|
- rails_example/Gemfile.lock
|
99
127
|
- rails_example/README.md
|
100
128
|
- rails_example/Rakefile
|
129
|
+
- rails_example/app.yaml
|
101
130
|
- rails_example/app/assets/config/manifest.js
|
102
131
|
- rails_example/app/assets/images/.keep
|
103
132
|
- rails_example/app/assets/javascripts/application.js
|