act_as_fire_record_beta 0.0.5 → 0.0.6

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: de1266b473f1bb73b649e6c322746a7cef196cd54fde1ec2d252cdeaee76aa82
4
- data.tar.gz: 61f295287959e20d7eb99ca40a748a514ed1fd061715706e52c61ad10a2e7802
3
+ metadata.gz: 49ce18fcdd813103bc337ff059cb557688c2b9c56bd968154ca01f97faac94ae
4
+ data.tar.gz: e0f2da2255f16d8da1c66309a89da90952541a80eb6e91375b047e912d944a5d
5
5
  SHA512:
6
- metadata.gz: 735b6a55698f6c535fce4bb0be7da9bfd5a973d35f840971398bbf5557b1f7f746799a6e5d397e1c0ab22e46a97d6716e25c479e58cb6355dbe68c1dc074039d
7
- data.tar.gz: 506fd516a0bf5420334078715979b9063af08b7deb47bc672d5c0a22635e3c613159da4a77f6a7d72c5927188af544baaeaf1da62a99029a0bf76fcd60d5a489
6
+ metadata.gz: ba5bdc2b1ee0022524f463901a9505bee0bca3657a56ea9a2624f059e763e4307ffd72a0232346a54610cba674e19f95bf8c4b3dd3b68b653aed0f46ffaad0bf
7
+ data.tar.gz: c96ee66f64cfa75506b18ca919332daf6df378dd19f7c0795b0c5c477a6c76d19b23d76fddddfc0e71570f1692e0429715f2bbbdd62d0645327c23c68c2433dc
@@ -0,0 +1,9 @@
1
+ module ActAsFireRecordBeta
2
+ class FireRecordError < StandardError; end
3
+
4
+ class RecordNotFound < FireRecordError; end
5
+
6
+ class RecordNotSaved < FireRecordError; end
7
+
8
+ class OperationNotSupported < FireRecordError; end
9
+ end
@@ -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,3 +1,3 @@
1
1
  module ActAsFireRecordBeta
2
- VERSION = "0.0.5"
2
+ VERSION = "0.0.6"
3
3
  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 ActiveRecord::RecordNotFound if data.missing?
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(ActiveRecord::RecordNotFound)
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(ActiveRecord::RecordNotSaved.new("Failed to save the record", self))
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(ActiveRecord::RecordNotSaved.new("Failed to save the record", self))
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.5
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-23 00:00:00.000000000 Z
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