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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4144a3816cf763ce987183621ede47966d88ba236e519c9c21feb69ab1e66b6c
4
- data.tar.gz: 6884a42346219860868406a4cff6723624032935bfd19a8145dd053d62d0c375
3
+ metadata.gz: 523aa04d7ad7bfd8f9bda248743b1f41a36800e46b26a3b2ffdd79fc51b11682
4
+ data.tar.gz: dcb8a4c23a3b647d2f2c349e25b6ad2864560249a09366ff9072bd762fabdbad
5
5
  SHA512:
6
- metadata.gz: 11f92aeee695fe7b85147b8e8ec91ecdd30a5167de3b003ad93f384247288212cb0d776a285790ce3cc4769444287ad53abdf93bb794a926f8fbd8588f3e36f5
7
- data.tar.gz: f0da0c2e1bbaa7a0c5ab5b7f8289b6725d481d8c4b02b7cddf17aa6e0119d422b78108c37bc4d2b8c9c83b82cce3145d9deae35cadf31a98e650696750466f11
6
+ metadata.gz: 7fef3772aa9e001de2b6e6ed6fab79f0e2762ca636081ca562719fc6f740457eafccc3e524c574b42fc85efb1818aa23968489f483ed1c090ac2afb2c861c780
7
+ data.tar.gz: b966df0930e9739cf0c220d1b5e33122670122143384dcc1e2fc3f37c08d3a8fcd279ebba611cc6e61a5945a248c20d4d2b91b055f5907517685518aecfe87f3
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- just_enum (0.1.1)
4
+ just_enum (0.1.4)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -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.snakecase}_#{key.to_s}?") { field_value == value }
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.snakecase}_#{opt.to_s}?") { field_value == index }
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 }
@@ -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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module JustEnum
4
- VERSION = "0.1.3"
4
+ VERSION = "0.1.4"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: just_enum
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rafal Piekara