hubbado-policy 1.2.0 → 1.2.1

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: 10ac3df17852150db0027d21e4fda49038083e6d825e41227a225864322df576
4
- data.tar.gz: 0d303a7756e82512635a6a323939df1f794766cef2182cf405f07e72b96ad4d9
3
+ metadata.gz: fb076b8106150620c0cbe71b07bf2cf8f3c83234d6269fdb01395726fe83833f
4
+ data.tar.gz: e40f7c0787d5aafb14a41f889093fb488d0ed0c9faaaf4dcb81cc839c6d15f96
5
5
  SHA512:
6
- metadata.gz: 83232ddd7a934bf3a3381dccfe785be182ef6d03e2fd519bc006f1a17a07c0006b87c1d0e4dd58d442b5739350edf0e6f0ae9153a88676da3a5fcb74f8b5e94f
7
- data.tar.gz: 8086d8d2ecbbe4df566560a0d36ebad2c1010b000d70c10bb703fc6c0b0d6c1ea5fd7a8017c70dd940951676090b2afa5ab10b80e02274e109e1152a5c4da231
6
+ metadata.gz: c79b6a45e34b558a77e3aaaba9caa6e6963cab5e97f7ceff932fdf1150a75c7d94386baf173508923c6e87bcc0b7e5e5f1e69325cc64ba5d878b1c052980b835
7
+ data.tar.gz: e5f01ac761f171f755196057dbfe667171bccc5165c5ebd2cef1fa73df490f3ef6a5a50aa0065d343b1440ec2e1e076911c3b0f95953d6868d2ddcbd2b8631cc
data/CHANGELOG.md CHANGED
@@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [1.2.1] - 2025-06-02
9
+
10
+ ### Fixed
11
+
12
+ - Policies class instance variable is correctly copied from parent policy
13
+
8
14
  ## [1.2.0] - 2025-05-27
9
15
 
10
16
  ### Added
@@ -1,11 +1,11 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "hubbado-policy"
3
- s.version = "1.2.0"
3
+ s.version = "1.2.1"
4
4
  s.summary = "A lightweight, flexible policy framework for Ruby applications"
5
5
 
6
6
  s.authors = ["Hubbado Devs"]
7
7
  s.email = ["devs@hubbado.com"]
8
- s.homepage = 'https://github.com/hubbado/hubbado-policy'
8
+ s.homepage = "https://github.com/hubbado/hubbado-policy"
9
9
  s.license = "MIT"
10
10
 
11
11
  s.metadata["homepage_uri"] = s.homepage
@@ -24,10 +24,10 @@ Gem::Specification.new do |s|
24
24
  s.platform = Gem::Platform::RUBY
25
25
  s.required_ruby_version = ">= 3.2"
26
26
 
27
- s.add_runtime_dependency "i18n"
28
27
  s.add_runtime_dependency "evt-casing"
29
28
  s.add_runtime_dependency "evt-record_invocation"
30
29
  s.add_runtime_dependency "evt-template_method"
30
+ s.add_runtime_dependency "i18n"
31
31
 
32
32
  s.add_development_dependency "debug"
33
33
  s.add_development_dependency "hubbado-style"
@@ -7,8 +7,14 @@ module Hubbado
7
7
  end
8
8
 
9
9
  module ClassMethods
10
+ def inherited(subclass)
11
+ super
12
+ # Copy policies from parent class to subclass
13
+ subclass.instance_variable_set(:@policies, @policies&.dup || Set.new)
14
+ end
15
+
10
16
  def define_policy(policy, *args, **kwargs, &block)
11
- @policies ||= []
17
+ @policies ||= Set.new
12
18
  @policies << policy
13
19
 
14
20
  # NOTE: This uses the technique described here so that the block given to
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hubbado-policy
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hubbado Devs
@@ -10,7 +10,7 @@ cert_chain: []
10
10
  date: 1980-01-02 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
- name: i18n
13
+ name: evt-casing
14
14
  requirement: !ruby/object:Gem::Requirement
15
15
  requirements:
16
16
  - - ">="
@@ -24,7 +24,7 @@ dependencies:
24
24
  - !ruby/object:Gem::Version
25
25
  version: '0'
26
26
  - !ruby/object:Gem::Dependency
27
- name: evt-casing
27
+ name: evt-record_invocation
28
28
  requirement: !ruby/object:Gem::Requirement
29
29
  requirements:
30
30
  - - ">="
@@ -38,7 +38,7 @@ dependencies:
38
38
  - !ruby/object:Gem::Version
39
39
  version: '0'
40
40
  - !ruby/object:Gem::Dependency
41
- name: evt-record_invocation
41
+ name: evt-template_method
42
42
  requirement: !ruby/object:Gem::Requirement
43
43
  requirements:
44
44
  - - ">="
@@ -52,7 +52,7 @@ dependencies:
52
52
  - !ruby/object:Gem::Version
53
53
  version: '0'
54
54
  - !ruby/object:Gem::Dependency
55
- name: evt-template_method
55
+ name: i18n
56
56
  requirement: !ruby/object:Gem::Requirement
57
57
  requirements:
58
58
  - - ">="