omg-attrs 0.1.8 → 0.1.9

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: 2c90ddc4a5b434973f0022023cd4b3a2376001809b3b4f11767d3273850d3fa0
4
- data.tar.gz: 8628c81c89ba6f5b9039ac9a06e4b1df1d5895f3eb29f13c60e42218c7673273
3
+ metadata.gz: ec527b64263c0a759018dd471902ee81df3686c3fda6da3c5769554ea39eeaf3
4
+ data.tar.gz: d4750f055ad115c992e3541fc04d71d6e8ef53b9ad1a6c1e77ff36827fe60cfd
5
5
  SHA512:
6
- metadata.gz: 9df6d5c9410005f4e2bb7b30cdcbc2f4fef6ab1c3a35f868edf93d35bbe6c7dd49997d30c36c2c2d065b3e8c9bcdd5a13de63b44d35ea3d27a9700b307f2e7cb
7
- data.tar.gz: 75f3679a4bde73b52b41ab327808c3e0f544d0189de5a816ed1ece3c24b07d48834b3c8bcc0041d959c5ed047dbf399f7a3a90da29125e9433fb49ff83733d21
6
+ metadata.gz: b6fc0c96b11706b00995549d5b09382b367fccce32f238a2205783688f35d852e7d7288a572877dc6f2feeb60a66f8341f4b2797433025ef9f3aa240f60e5337
7
+ data.tar.gz: a7b6a90bb6f9e55894ec84c55d5aa190c74c716c12e1882e5c482b2f1305bbaf2a6f4c8feb76d2ae19807af3d15fa40444a4110d1a091035a2445a96874d4583
data/lib/ext/array.rb CHANGED
@@ -8,13 +8,13 @@ module Ext
8
8
  # @example
9
9
  # [{ a: 1 }, { b: 2 }].find_by(a: 1) => { a: 1 }
10
10
  def find_by(**attrs)
11
- find { |item| item.matches?(**attrs) }
11
+ find { |item| item.attrs_match?(**attrs) }
12
12
  end
13
13
 
14
14
  ##
15
15
  # @return [Array<Object>] all items that match all key/value pairs
16
16
  def where(**attrs)
17
- filter { |item| item.matches?(**attrs) }
17
+ filter { |item| item.attrs_match?(**attrs) }
18
18
  end
19
19
  end
20
20
  end
data/lib/ext/object.rb CHANGED
@@ -2,7 +2,7 @@ module Ext
2
2
  module Object
3
3
  ##
4
4
  # @return [Boolean] whether all key/value pairs match
5
- def matches?(**args)
5
+ def attrs_match?(**args)
6
6
  args.all? do |key, value|
7
7
  key_value_match?(key, value)
8
8
  end
data/lib/omg-attrs.rb CHANGED
@@ -9,6 +9,20 @@ module Attrs
9
9
  base.include(InstanceMethods)
10
10
  end
11
11
 
12
+ class << self
13
+ def included(base)
14
+ base.include(InstanceMethods)
15
+ end
16
+
17
+ def version
18
+ config[:version]
19
+ end
20
+
21
+ def config
22
+ YAML.load_file(File.join(__dir__, '..', 'config.yml'))
23
+ end
24
+ end
25
+
12
26
  module InstanceMethods
13
27
  def attrs(*attrs)
14
28
  return list_attrs(attrs) if is_list?
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: omg-attrs
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.8
4
+ version: 0.1.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matthew Greenfield
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-11-22 00:00:00.000000000 Z
11
+ date: 2025-05-06 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: |
14
14
  - Adds `Object#attrs` method for querying nested attributes
@@ -32,7 +32,7 @@ licenses:
32
32
  metadata:
33
33
  homepage_uri: https://github.com/omgreenfield/attrs
34
34
  rubygems_mfa_required: 'true'
35
- post_install_message:
35
+ post_install_message:
36
36
  rdoc_options: []
37
37
  require_paths:
38
38
  - lib
@@ -47,8 +47,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
47
47
  - !ruby/object:Gem::Version
48
48
  version: '0'
49
49
  requirements: []
50
- rubygems_version: 3.5.23
51
- signing_key:
50
+ rubygems_version: 3.4.10
51
+ signing_key:
52
52
  specification_version: 4
53
53
  summary: Gives objects methods to query nested attributes
54
54
  test_files: []