gdatastore_mapper 0.1.5 → 0.1.6
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.
- checksums.yaml +4 -4
- data/README.md +11 -0
- data/gdatastore_mapper.gemspec +1 -1
- data/lib/gdatastore_mapper/base.rb +2 -6
- data/lib/gdatastore_mapper/persistence.rb +1 -0
- data/lib/gdatastore_mapper/persistence/class_methods.rb +20 -0
- data/lib/gdatastore_mapper/scoping.rb +12 -9
- data/lib/gdatastore_mapper/version.rb +1 -1
- metadata +5 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e6ba358c0a8c21946a0c0c38cb4449b26cc9705c
|
4
|
+
data.tar.gz: f8cad2beee638c900f6418fa06a9e2b8336acc3b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 972712b50dd7ccdd03be8d5e557271e577dda9d4de3aa8dff47cab82313fbc9b2d8b74a03160f51f35d0fe0743ee59252229f35246b2d2bfb290c6abdc1aa12e
|
7
|
+
data.tar.gz: b945a9e7168001e830bed9cb08bedb23812127950e5fe55e56ff18ab908db287f9679f4a1b568056afb6ec9b7f4947683753ea0f36539bb393f9fda42396363e
|
data/README.md
CHANGED
@@ -91,6 +91,8 @@ end
|
|
91
91
|
|
92
92
|
## Persistence Methods
|
93
93
|
|
94
|
+
new record
|
95
|
+
|
94
96
|
```
|
95
97
|
book = Book.new
|
96
98
|
book.title = 'Harry Potter'
|
@@ -103,12 +105,21 @@ book.save
|
|
103
105
|
```
|
104
106
|
Book.create(title: 'Harry Potter')
|
105
107
|
```
|
108
|
+
|
109
|
+
update
|
110
|
+
|
106
111
|
```
|
107
112
|
book.update(title: 'Harry Potter 2')
|
108
113
|
```
|
114
|
+
|
115
|
+
delete
|
116
|
+
|
109
117
|
```
|
110
118
|
book.delete
|
111
119
|
```
|
120
|
+
```
|
121
|
+
Book.delete_all
|
122
|
+
```
|
112
123
|
|
113
124
|
## Scoping Methods
|
114
125
|
|
data/gdatastore_mapper.gemspec
CHANGED
@@ -2,6 +2,7 @@ require 'gdatastore_mapper/session'
|
|
2
2
|
require 'gdatastore_mapper/scoping'
|
3
3
|
require 'gdatastore_mapper/associations'
|
4
4
|
require 'gdatastore_mapper/persistence'
|
5
|
+
require 'gdatastore_mapper/persistence/class_methods'
|
5
6
|
|
6
7
|
module GdatastoreMapper
|
7
8
|
module Base
|
@@ -18,6 +19,7 @@ module GdatastoreMapper
|
|
18
19
|
extend Scoping
|
19
20
|
extend Associations
|
20
21
|
include Persistence
|
22
|
+
extend Persistence::ClassMethods
|
21
23
|
end
|
22
24
|
|
23
25
|
module ClassMethods
|
@@ -43,12 +45,6 @@ module GdatastoreMapper
|
|
43
45
|
record
|
44
46
|
end
|
45
47
|
|
46
|
-
def create params
|
47
|
-
record = self.new params
|
48
|
-
record.save
|
49
|
-
record
|
50
|
-
end
|
51
|
-
|
52
48
|
end
|
53
49
|
|
54
50
|
def attributes
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module GdatastoreMapper
|
2
|
+
module Persistence
|
3
|
+
module ClassMethods
|
4
|
+
|
5
|
+
def create params
|
6
|
+
record = self.new params
|
7
|
+
record.save
|
8
|
+
record
|
9
|
+
end
|
10
|
+
|
11
|
+
def delete_all
|
12
|
+
self.each do |resource|
|
13
|
+
resource.destroy
|
14
|
+
end
|
15
|
+
true
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -3,9 +3,9 @@ require "gdatastore_mapper/relation"
|
|
3
3
|
module GdatastoreMapper
|
4
4
|
module Scoping
|
5
5
|
|
6
|
-
def where condition
|
6
|
+
def where condition, &block
|
7
7
|
return nil unless condition.is_a?(Hash)
|
8
|
-
dataset_run(where_query
|
8
|
+
dataset_run(where_query(condition), &block)
|
9
9
|
end
|
10
10
|
|
11
11
|
def find id
|
@@ -29,15 +29,15 @@ module GdatastoreMapper
|
|
29
29
|
end
|
30
30
|
end
|
31
31
|
|
32
|
-
def order condition
|
32
|
+
def order condition, &block
|
33
33
|
return nil unless condition.is_a?(Hash)
|
34
|
-
dataset_run(order_query
|
34
|
+
dataset_run(order_query(condition), &block)
|
35
35
|
end
|
36
36
|
|
37
|
-
def all
|
38
|
-
order(created_at: :asc)
|
37
|
+
def all &block
|
38
|
+
order(created_at: :asc, &block)
|
39
39
|
end
|
40
|
-
|
40
|
+
alias_method :each, :all
|
41
41
|
|
42
42
|
def first
|
43
43
|
all.first
|
@@ -71,11 +71,14 @@ module GdatastoreMapper
|
|
71
71
|
query
|
72
72
|
end
|
73
73
|
|
74
|
-
def dataset_run query
|
74
|
+
def dataset_run query, &block
|
75
75
|
entities = GdatastoreMapper::Session.dataset.run query
|
76
76
|
result = GdatastoreMapper::Relation.new(self, nil)
|
77
77
|
entities.each do |entity|
|
78
|
-
|
78
|
+
record = from_entity(entity)
|
79
|
+
block.call(record) if block_given?
|
80
|
+
record = find(record.id)
|
81
|
+
result << record if record
|
79
82
|
end
|
80
83
|
result
|
81
84
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
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.6
|
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-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: google-cloud-datastore
|
@@ -86,14 +86,14 @@ dependencies:
|
|
86
86
|
requirements:
|
87
87
|
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: '3.
|
89
|
+
version: '3.5'
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: '3.
|
96
|
+
version: '3.5'
|
97
97
|
description: Google Cloud Datastore ORM/ODM (Mapper) in Ruby and Ruby on Rails
|
98
98
|
email:
|
99
99
|
- shinya.kitamura.14@gmail.com
|
@@ -117,6 +117,7 @@ files:
|
|
117
117
|
- lib/gdatastore_mapper/associations/has_many.rb
|
118
118
|
- lib/gdatastore_mapper/base.rb
|
119
119
|
- lib/gdatastore_mapper/persistence.rb
|
120
|
+
- lib/gdatastore_mapper/persistence/class_methods.rb
|
120
121
|
- lib/gdatastore_mapper/relation.rb
|
121
122
|
- lib/gdatastore_mapper/scoping.rb
|
122
123
|
- lib/gdatastore_mapper/session.rb
|