rails_settlement 1.4.2 → 1.5.0

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: e5babe02d110a7be58276f8db43f444866c28348919e0395a95b18a42400f4c8
4
- data.tar.gz: 072ba56c5d56d4ac8114c73e31e3ef4674ae9ceca1412d7841dd1461788ed664
3
+ metadata.gz: 964bf8e0f084d6dfe8f471895e49f0d812fa6c0138ed771f5c4d9ee0bc617f73
4
+ data.tar.gz: ed7be25b7bc3ae6544cbe6aab452135a6e71d68d82553e18910554060ec45ac5
5
5
  SHA512:
6
- metadata.gz: 83560391ae6716aef1cf12455dac296600b6a3b295a72a63cf276dca52ea119d6cda3e384cf427da9650d016bd4416dcc40f3181a7ed252837d08bc92f541704
7
- data.tar.gz: 132e33a061a3b536c63f56ea391d9ba85465336561145ff18cc2cb1cb4b0a685ad6b1690529e4785af255b9f9354c19c2d845632cf14b5d5de0b48db87d09799
6
+ metadata.gz: fe3fcefecdeb8b2ae1af0b3136bf4a1d10622c702e3e8cd4f2a9dc4a54b7782b8b080318ea979a1bcccba6ff9275b651ce1702f8f5a6e1ad9af1f2a8e74d4068
7
+ data.tar.gz: 1bfbce931bbc5536c2b70ed17cb9f2679ffaf34c6133682082fdb4e138062185c3939ce1efa67507f4c33b0b3ca0eb2695202cb08781dbe80d570979b380dfc7
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RailsSettlement
4
- VERSION = "1.4.2"
4
+ VERSION = "1.5.0"
5
5
  end
@@ -15,7 +15,7 @@ module RailsSettlement
15
15
  super unless (matches = method.to_s.match(SETTABLE_REGEX))
16
16
 
17
17
  variable, raisable = _rs_handle_match_data(matches)
18
- klass = _rs_klass(variable, **options.extract!(:namespace))
18
+ klass = _rs_klass(variable, **options.slice(:namespace))
19
19
  param_options = _rs_param_options(klass: klass, options: options)
20
20
  scoped_klass = _rs_handle_scopes(klass: klass, scopes: param_options[:scope_to])
21
21
  associated_to = _rs_handle_associated_to(options: options)
@@ -24,7 +24,7 @@ module RailsSettlement
24
24
  query = _rs_associated_scope(scoped_relation: scoped_klass, associated_to: associated_to)
25
25
 
26
26
  instance_variable_set("@#{variable}", query.find_by(param_options[:model_key] => params[param_options[:params_key]]))
27
- raise ActiveRecord::RecordNotFound if raisable && instance_variable_get("@#{variable}").nil?
27
+ _rs_raise_record_not_found!(klass: klass, key: param_options[:model_key], id: params[param_options[:params_key]]) if raisable && instance_variable_get("@#{variable}").nil?
28
28
  end
29
29
 
30
30
  attr_reader variable
@@ -47,7 +47,7 @@ module RailsSettlement
47
47
  end
48
48
 
49
49
  def _rs_param_options(klass:, options:)
50
- (klass.try(:settable_params) || {}).merge(options.extract!(:model_key, :params_key, :scope_to))
50
+ (klass.try(:settable_params) || {}).merge(options.slice(:model_key, :params_key, :scope_to))
51
51
  end
52
52
 
53
53
  def _rs_handle_scopes(klass:, scopes:)
@@ -71,6 +71,10 @@ module RailsSettlement
71
71
 
72
72
  scoped_relation.joins(associated_to).where(associated_to => public_send(associated_to))
73
73
  end
74
+
75
+ def _rs_raise_record_not_found!(klass:, key:, id:)
76
+ raise ActiveRecord::RecordNotFound.new("Couldn't find #{klass} with '#{key}'='#{id}'", klass.name, key, Array.wrap(id))
77
+ end
74
78
  end
75
79
 
76
80
  ActiveSupport.on_load(:action_controller) do
@@ -31,8 +31,8 @@ Gem::Specification.new do |spec|
31
31
  spec.require_paths = ["lib"]
32
32
 
33
33
  # Uncomment to register a new dependency of your gem
34
- spec.add_dependency "activerecord", ">= 5.0"
35
- spec.add_dependency "activesupport", ">= 5.0"
34
+ spec.add_dependency "activerecord", ">= 6.0"
35
+ spec.add_dependency "activesupport", ">= 6.0"
36
36
 
37
37
  # For more information and examples about making a new gem, check out our
38
38
  # guide at: https://bundler.io/guides/creating_gem.html
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails_settlement
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.2
4
+ version: 1.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tejas
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-03-23 00:00:00.000000000 Z
11
+ date: 2024-05-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '5.0'
19
+ version: '6.0'
20
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: '5.0'
26
+ version: '6.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: activesupport
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '5.0'
33
+ version: '6.0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: '5.0'
40
+ version: '6.0'
41
41
  description: A simple way to initialize objects in rails controllers using callbacks
42
42
  and ruby magic!
43
43
  email: