just_enum 0.1.3 → 0.1.4
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/just_enum/enum.rb +2 -2
- data/lib/just_enum/string.rb +2 -10
- data/lib/just_enum/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 523aa04d7ad7bfd8f9bda248743b1f41a36800e46b26a3b2ffdd79fc51b11682
|
4
|
+
data.tar.gz: dcb8a4c23a3b647d2f2c349e25b6ad2864560249a09366ff9072bd762fabdbad
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7fef3772aa9e001de2b6e6ed6fab79f0e2762ca636081ca562719fc6f740457eafccc3e524c574b42fc85efb1818aa23968489f483ed1c090ac2afb2c861c780
|
7
|
+
data.tar.gz: b966df0930e9739cf0c220d1b5e33122670122143384dcc1e2fc3f37c08d3a8fcd279ebba611cc6e61a5945a248c20d4d2b91b055f5907517685518aecfe87f3
|
data/Gemfile.lock
CHANGED
data/lib/just_enum/enum.rb
CHANGED
@@ -9,12 +9,12 @@ module JustEnum::Enum
|
|
9
9
|
define_method("str_#{field_key.to_s}") { enum_class.options.find { |k, v| v.to_s == field_value.to_s }[1] }
|
10
10
|
end
|
11
11
|
enum_class.options.each_pair do |key, value|
|
12
|
-
define_method("#{enum_class.name
|
12
|
+
define_method("#{snakecase(enum_class.name)}_#{key.to_s}?") { field_value == value }
|
13
13
|
end
|
14
14
|
else
|
15
15
|
define_method("str_#{field_key.to_s}") { enum_class.options[field_value].to_s }
|
16
16
|
enum_class.options.each_with_index do |opt, index|
|
17
|
-
define_method("#{enum_class.name
|
17
|
+
define_method("#{snakecase(enum_class.name)}_#{opt.to_s}?") { field_value == index }
|
18
18
|
end
|
19
19
|
end
|
20
20
|
define_method("_#{field_key.to_s}") { field_value }
|
data/lib/just_enum/string.rb
CHANGED
@@ -1,5 +1,4 @@
|
|
1
1
|
|
2
|
-
class String
|
3
2
|
|
4
3
|
# Underscore a string such that camelcase, dashes and spaces are
|
5
4
|
# replaced by underscores. This is the reverse of {#camelcase},
|
@@ -13,19 +12,12 @@ class String
|
|
13
12
|
# Note, this method no longer converts `::` to `/`, in that case
|
14
13
|
# use the {#pathize} method instead.
|
15
14
|
|
16
|
-
def snakecase
|
15
|
+
def snakecase(str)
|
17
16
|
#gsub(/::/, '/').
|
18
|
-
gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2').
|
17
|
+
str.gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2').
|
19
18
|
gsub(/([a-z\d])([A-Z])/,'\1_\2').
|
20
19
|
tr('-', '_').
|
21
20
|
gsub(/\s/, '_').
|
22
21
|
gsub(/__+/, '_').
|
23
22
|
downcase
|
24
23
|
end
|
25
|
-
|
26
|
-
#
|
27
|
-
alias_method :underscore, :snakecase
|
28
|
-
|
29
|
-
# TODO: Add *separators to #snakecase, like camelcase.
|
30
|
-
|
31
|
-
end
|
data/lib/just_enum/version.rb
CHANGED