act_as_fire_record_beta 0.0.5 → 0.0.7
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: edeacaf31ef73ecb88185915a483712a188f66fc05c7ecdd54432ed4ceb2cfda
|
4
|
+
data.tar.gz: 54937813b56125aa196af5c9b8abba535ba0abf95cc3eb2ee32ad677fe8b8d12
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d1b0f6e6bc7bdc58db9488d273634e8a6f417c3222d3a1c900ffb4caedbe690b7f41907e7487a581d4ec9087da2c787ceb9b08a9f12fa90928763de06ab72174
|
7
|
+
data.tar.gz: 29be871e1061cc0e426fbd54877c640db94e549577f7f2a281c48b9315a321fa6f62f20dec1116c97dd651386e121ce0dd0a79901881300fbd1544a940575d57
|
@@ -2,6 +2,27 @@ module ActAsFireRecordBeta
|
|
2
2
|
class Railtie < ::Rails::Railtie
|
3
3
|
initializer "act_as_fire_record_beta" do
|
4
4
|
require "act_as_fire_record_beta/google/cloud/firestore/query"
|
5
|
+
|
6
|
+
ActionDispatch::ExceptionWrapper.rescue_responses["ActAsFireRecordBeta::RecordNotFound"] = :not_found
|
7
|
+
|
8
|
+
if Google::Cloud.configure.firestore.emulator_host
|
9
|
+
Google::Cloud::Firestore::V1::Firestore::Client.configure do |config|
|
10
|
+
config.rpcs.list_documents.metadata ||= {}
|
11
|
+
config.rpcs.list_documents.metadata['authorization'] = 'Bearer owner'
|
12
|
+
end
|
13
|
+
|
14
|
+
Google::Cloud::Firestore::Service.prepend(
|
15
|
+
Module.new do
|
16
|
+
protected
|
17
|
+
|
18
|
+
def default_headers parent = nil
|
19
|
+
headers = super
|
20
|
+
headers['authorization'] = 'Bearer owner'
|
21
|
+
headers
|
22
|
+
end
|
23
|
+
end
|
24
|
+
)
|
25
|
+
end
|
5
26
|
end
|
6
27
|
end
|
7
28
|
end
|
@@ -1,6 +1,7 @@
|
|
1
1
|
require "google/cloud/firestore"
|
2
2
|
require "act_as_fire_record_beta/version"
|
3
3
|
require "act_as_fire_record_beta/railtie"
|
4
|
+
require "act_as_fire_record_beta/errors"
|
4
5
|
|
5
6
|
module ActAsFireRecordBeta
|
6
7
|
extend ActiveSupport::Concern
|
@@ -58,20 +59,20 @@ module ActAsFireRecordBeta
|
|
58
59
|
|
59
60
|
def find(id)
|
60
61
|
data = doc(id).get
|
61
|
-
raise
|
62
|
+
raise ActAsFireRecordBeta::RecordNotFound, "Couldn't find record with #{self} with 'id'='#{id}'" if data.missing?
|
62
63
|
|
63
64
|
to_instance(data)
|
64
65
|
end
|
65
66
|
|
66
67
|
def find_by(param)
|
67
|
-
raise ArgumentError, "param size should be 1: #{param}" unless param.size == 1
|
68
|
+
raise ::ArgumentError, "param size should be 1: #{param}" unless param.size == 1
|
68
69
|
field, value = param.to_a.flatten
|
69
70
|
|
70
71
|
where(field, :==, value).first
|
71
72
|
end
|
72
73
|
|
73
74
|
def find_by!(param)
|
74
|
-
find_by(param) || raise(
|
75
|
+
find_by(param) || raise(ActAsFireRecordBeta::RecordNotFound, "Couldn't find #{self} with '#{param.to_a[0][0]}'=#{param.to_a[0][1].inspect}")
|
75
76
|
end
|
76
77
|
|
77
78
|
def where(field, operator, value)
|
@@ -156,7 +157,7 @@ module ActAsFireRecordBeta
|
|
156
157
|
end
|
157
158
|
|
158
159
|
def save
|
159
|
-
raise "insert only." unless new_record?
|
160
|
+
raise ActAsFireRecordBeta::OperationNotSupported, "insert only." unless new_record?
|
160
161
|
return false if invalid?
|
161
162
|
|
162
163
|
ref = col.add(save_params)
|
@@ -166,7 +167,7 @@ module ActAsFireRecordBeta
|
|
166
167
|
end
|
167
168
|
|
168
169
|
def save!
|
169
|
-
save || raise(
|
170
|
+
save || raise(ActAsFireRecordBeta::RecordNotSaved, "Failed to save the record")
|
170
171
|
end
|
171
172
|
|
172
173
|
def update(params)
|
@@ -179,7 +180,7 @@ module ActAsFireRecordBeta
|
|
179
180
|
end
|
180
181
|
|
181
182
|
def update!(params)
|
182
|
-
update(params) || raise(
|
183
|
+
update(params) || raise(ActAsFireRecordBeta::RecordNotSaved, "Failed to save the record")
|
183
184
|
end
|
184
185
|
|
185
186
|
def destroy
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: act_as_fire_record_beta
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Junichi Ito
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-11-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -49,6 +49,7 @@ files:
|
|
49
49
|
- README.md
|
50
50
|
- Rakefile
|
51
51
|
- lib/act_as_fire_record_beta.rb
|
52
|
+
- lib/act_as_fire_record_beta/errors.rb
|
52
53
|
- lib/act_as_fire_record_beta/google/cloud/firestore/query.rb
|
53
54
|
- lib/act_as_fire_record_beta/railtie.rb
|
54
55
|
- lib/act_as_fire_record_beta/version.rb
|
@@ -76,7 +77,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
76
77
|
- !ruby/object:Gem::Version
|
77
78
|
version: '0'
|
78
79
|
requirements: []
|
79
|
-
rubygems_version: 3.
|
80
|
+
rubygems_version: 3.3.7
|
80
81
|
signing_key:
|
81
82
|
specification_version: 4
|
82
83
|
summary: ActiveRecord like interface for Firestore
|