act_as_fire_record_beta 0.0.4 → 0.0.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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 49ce18fcdd813103bc337ff059cb557688c2b9c56bd968154ca01f97faac94ae
|
4
|
+
data.tar.gz: e0f2da2255f16d8da1c66309a89da90952541a80eb6e91375b047e912d944a5d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ba5bdc2b1ee0022524f463901a9505bee0bca3657a56ea9a2624f059e763e4307ffd72a0232346a54610cba674e19f95bf8c4b3dd3b68b653aed0f46ffaad0bf
|
7
|
+
data.tar.gz: c96ee66f64cfa75506b18ca919332daf6df378dd19f7c0795b0c5c477a6c76d19b23d76fddddfc0e71570f1692e0429715f2bbbdd62d0645327c23c68c2433dc
|
@@ -2,6 +2,8 @@ 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
|
5
7
|
end
|
6
8
|
end
|
7
9
|
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
|
@@ -32,8 +33,8 @@ module ActAsFireRecordBeta
|
|
32
33
|
extend Forwardable
|
33
34
|
delegate :logger => Rails
|
34
35
|
|
35
|
-
#
|
36
|
-
NO_DEFAULT_PROVIDED =
|
36
|
+
# Get private constant
|
37
|
+
NO_DEFAULT_PROVIDED = ActiveModel::Attributes::ClassMethods.const_get(:NO_DEFAULT_PROVIDED)
|
37
38
|
|
38
39
|
def firestore_attribute(name, cast_type = nil, default: NO_DEFAULT_PROVIDED, **options)
|
39
40
|
attribute(name, cast_type, default: default, **options)
|
@@ -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.6
|
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-10-
|
11
|
+
date: 2022-10-29 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
|