foobara 0.0.56 → 0.0.57

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: fc60d4f3abb03f4cb398aca513da228aaaf2359941a9d6873d970004b8faf1a8
4
- data.tar.gz: d94f3b0f676dcf2a69ae1acdbad58efa0dc0ff8626f77de6219ca55b23ac7e41
3
+ metadata.gz: 63e9a6f8fe233be5b149ccd3f7d0fec23f4525f833ab887470251f041bbe63d8
4
+ data.tar.gz: 43b48d0b6b364b60db43aa9123b0929cd59c95871e83af894f8a35d2eadaac4d
5
5
  SHA512:
6
- metadata.gz: 6348c488613dfb77695af95e1951a0e373787a8277bcee39e26495ee5b1c66f46e8f30a46c24ae7db4050bade755a0fbf181a2618de0f149308c752660fe7352
7
- data.tar.gz: 6fe896d06734768e017dfc21753d7de90da00fdde88a5822900876f2030e84c04539fddc0ecc9bf7eb638b4ef9e745c9aafd8afa0826c97dc115ce9029cce46b
6
+ metadata.gz: 39607e1c26837a96c621c20af465e37e1190f715edf5b2d21d029519794cdc396d9376fc91babf4869e577f01895e6bcb3fab5a744497d296f816a75d4053f82
7
+ data.tar.gz: d6c28e37b91842740c465e35d3c974066f7e2b0e25b30e11573d52e90faddfe52c1edfd4fb7c17eba4eb18a657a3f33bf6b958c71ae6ce1c824068e21802baeb
data/CHANGELOG.md CHANGED
@@ -1,7 +1,11 @@
1
+ ## [0.0.57] - 2025-02-18
2
+
3
+ - Add Enumerated.make_module helper
4
+
1
5
  ## [0.0.56] - 2025-02-16
2
6
 
3
7
  - Bump Ruby to 3.4.2
4
- - Add a ignore_unexpected_attributes option to Model#initialize
8
+ - Add an ignore_unexpected_attributes option to Model#initialize
5
9
 
6
10
  ## [0.0.55] - 2025-02-01
7
11
 
@@ -0,0 +1,9 @@
1
+ module Foobara
2
+ module Enumerated
3
+ class << self
4
+ def make_module(...)
5
+ Values.new(...).make_module
6
+ end
7
+ end
8
+ end
9
+ end
@@ -116,6 +116,23 @@ module Foobara
116
116
  def respond_to_missing?(name, _include_private = false)
117
117
  @symbol_map.key?(name)
118
118
  end
119
+
120
+ def make_module
121
+ mod = Module.new
122
+ enumerated = self
123
+
124
+ %i[all all_names all_values].each do |method_name|
125
+ mod.singleton_class.define_method method_name do |*args, **opts, &block|
126
+ enumerated.send(method_name, *args, **opts, &block)
127
+ end
128
+ end
129
+
130
+ @symbol_map.each_pair do |name, value|
131
+ mod.const_set(name, value)
132
+ end
133
+
134
+ mod
135
+ end
119
136
  end
120
137
  end
121
138
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: foobara
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.56
4
+ version: 0.0.57
5
5
  platform: ruby
6
6
  authors:
7
7
  - Miles Georgi
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2025-02-17 00:00:00.000000000 Z
10
+ date: 2025-02-18 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: bigdecimal
@@ -249,6 +249,7 @@ files:
249
249
  - projects/entity/src/not_found_error.rb
250
250
  - projects/enumerated/lib/foobara/enumerated.rb
251
251
  - projects/enumerated/src/accessors.rb
252
+ - projects/enumerated/src/enumerated.rb
252
253
  - projects/enumerated/src/values.rb
253
254
  - projects/foobara/lib/foobara.rb
254
255
  - projects/foobara/lib/foobara/all.rb