enumbler 0.2.0 → 0.3.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 +4 -4
- data/Gemfile.lock +1 -1
- data/lib/enumbler/enabler.rb +7 -4
- data/lib/enumbler/version.rb +1 -1
- data/lib/enumbler.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dc5b55b5cdb2b6514f035a98bdc6e5959066b4ea10dbfaae62001d1c33b04e30
|
4
|
+
data.tar.gz: 807311615dc77faa62757ef3272ebb0b557962e7780af4151b841bc62db1158b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5a037f268d76bd8017788831aa300201571c6cf1246572599ae7972235f13df2b4984a9c8d4df007a7f546be34fcb645db955256a5f2255f792a560413e93f58
|
7
|
+
data.tar.gz: c39c25eea9bff43c6e75df877ce33e8b33e616e1ec0ff01f10d361c3187c7b2711e4f85e81cdf06bfc38712ced4f6c0a2cd2c5047c688742ce3d5f42eac632b6
|
data/Gemfile.lock
CHANGED
data/lib/enumbler/enabler.rb
CHANGED
@@ -1,6 +1,9 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
module Enumbler
|
4
|
+
# Extending this module bestows the power of the `enumbler` to the underlying
|
5
|
+
# model. For example, if you have a model `Color` you would include the
|
6
|
+
# `Enabler` to support the different colors your `Color` model represents.
|
4
7
|
module Enabler
|
5
8
|
extend ActiveSupport::Concern
|
6
9
|
|
@@ -73,14 +76,14 @@ module Enumbler
|
|
73
76
|
# Integer, a Symbol, or an instance of Enumbled model. This lookup is a
|
74
77
|
# databse-free lookup.
|
75
78
|
#
|
76
|
-
# Color.
|
77
|
-
# Color.
|
78
|
-
# Color.
|
79
|
+
# Color.ids_from_enumbler(1, 2) # => [1, 2]
|
80
|
+
# Color.ids_from_enumbler(:black, :white) # => [1, 2]
|
81
|
+
# Color.ids_from_enumbler(Color.black, Color.white) # => [1, 2]
|
79
82
|
#
|
80
83
|
# @raise [Error] when there is no enumble to be found
|
81
84
|
# @param *args [Integer, Symbol, Class]
|
82
85
|
# @return [Array<Integer>]
|
83
|
-
def
|
86
|
+
def ids_from_enumbler(*args)
|
84
87
|
args.flatten.compact.uniq.map do |arg|
|
85
88
|
err = "Unable to find a #{@enumbled_model}#enumble with #{arg}"
|
86
89
|
|
data/lib/enumbler/version.rb
CHANGED
data/lib/enumbler.rb
CHANGED
@@ -82,7 +82,7 @@ module Enumbler
|
|
82
82
|
|
83
83
|
cmethod = scope_prefix.blank? ? model_name : "#{scope_prefix}_#{model_name}"
|
84
84
|
define_singleton_method(cmethod) do |*args|
|
85
|
-
where(column_name => enumbled_model.
|
85
|
+
where(column_name => enumbled_model.ids_from_enumbler(args))
|
86
86
|
end
|
87
87
|
|
88
88
|
enumbled_model.enumbles.each do |enumble|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: enumbler
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Damon Timm
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-04-
|
11
|
+
date: 2020-04-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord
|