predicateable 0.1.0 → 0.2.0

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: 941c76b3af813ee5f06646db352801907dd83a4aa5642a73ef7acfe103abac55
4
- data.tar.gz: c5294a45ff7b2e4ac9ab0067cad3849addcf2dfe72c3939042fc55888594fa15
3
+ metadata.gz: d0ef30112945b517fd75fb2f5d2f6bec2a35bf32960f66defa4f12ffd0953cf5
4
+ data.tar.gz: 67c5eb6771a81066eb7706c719c5f1308a6a4ae1e66e53fae0a67014904884c8
5
5
  SHA512:
6
- metadata.gz: 5594292717451ef97c6e4fa9492240d93ce53a99738b224ed3b077b10ec0e4dba86b6b58ed715d7bf96bb686c1da0bba292d6d9bdccfb729808be7a20c812c8a
7
- data.tar.gz: 16917996f9ba3a785bbe10fd96b02c0f0c26f8a42cfed7998567110b052f5375fb3dcb309e13cc3a867958f73166a999bbedd43a59b29bc5ffe615161f1923eb
6
+ metadata.gz: f300ffc0c50e7105e322193a1cc2d8223377c62504e257cf91c950c427190c907cc57c595049093363ddea2acfefb146befa13df24d102b80a2622e2d40cee1e
7
+ data.tar.gz: e1d47fce9ccde4f8365cdc320e98d6b99c6660374b92f6e649bf3b4703cb13e1ea0baadb5bc8a4ec1a3ed9d78b65daba4c85fba9c46342884422d14585261f21
data/Steepfile ADDED
@@ -0,0 +1,5 @@
1
+ target :lib do
2
+ signature "sig"
3
+
4
+ check "lib"
5
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Predicateable
4
- VERSION = "0.1.0"
4
+ VERSION = "0.2.0"
5
5
  end
data/lib/predicateable.rb CHANGED
@@ -13,7 +13,8 @@ module Predicateable
13
13
  method = prefix ? "#{name}_#{value}?" : "#{value}?"
14
14
 
15
15
  define_method(method) do
16
- actual = send(name)
16
+ # @type self: Object
17
+ actual = public_send(name)
17
18
 
18
19
  if strict
19
20
  actual == value
@@ -0,0 +1,3 @@
1
+ module Predicateable
2
+ VERSION: String
3
+ end
@@ -1,4 +1,12 @@
1
1
  module Predicateable
2
- VERSION: String
3
- # See the writing guide of rbs: https://github.com/ruby/rbs#guides
2
+ def self.included: (Module base) -> void
3
+
4
+ module ClassMethods : Module
5
+ def predicate: (
6
+ Symbol | String name,
7
+ Array[Symbol | String] values,
8
+ ?prefix: bool,
9
+ ?strict: bool
10
+ ) -> Array[Symbol | String]
11
+ end
4
12
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: predicateable
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Naoki Nishiguchi
@@ -37,6 +37,34 @@ dependencies:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
39
  version: '5.22'
40
+ - !ruby/object:Gem::Dependency
41
+ name: rbs
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '3.9'
47
+ type: :development
48
+ prerelease: false
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '3.9'
54
+ - !ruby/object:Gem::Dependency
55
+ name: steep
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '1.10'
61
+ type: :development
62
+ prerelease: false
63
+ version_requirements: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '1.10'
40
68
  description: Predicateable allows you to define predicate methods (like `admin?`)
41
69
  based on a method that returns a Symbol. Similar to Rails enums, with optional strict
42
70
  checking and prefix support.
@@ -47,9 +75,11 @@ files:
47
75
  - LICENSE.txt
48
76
  - README.md
49
77
  - Rakefile
78
+ - Steepfile
50
79
  - lib/predicateable.rb
51
80
  - lib/predicateable/version.rb
52
81
  - sig/predicateable.rbs
82
+ - sig/predicateable/version.rbs
53
83
  homepage: https://github.com/nsgc/predicateable
54
84
  licenses:
55
85
  - MIT
@@ -63,14 +93,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
63
93
  requirements:
64
94
  - - ">="
65
95
  - !ruby/object:Gem::Version
66
- version: 3.1.0
96
+ version: 3.2.0
67
97
  required_rubygems_version: !ruby/object:Gem::Requirement
68
98
  requirements:
69
99
  - - ">="
70
100
  - !ruby/object:Gem::Version
71
101
  version: '0'
72
102
  requirements: []
73
- rubygems_version: 3.6.7
103
+ rubygems_version: 4.0.3
74
104
  specification_version: 4
75
105
  summary: Dynamically defines predicate methods based on symbolic return values.
76
106
  test_files: []