yaml_enumeration 0.2.2 → 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/CHANGELOG.md +7 -4
- data/README.md +30 -0
- data/lib/yaml_enumeration/enumeration.rb +6 -1
- data/lib/yaml_enumeration/version.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: 329c035e5c90f7cd2c444c1237f2c1c5bf00b50ae6cefcf6f8658c1cdda7fe45
|
4
|
+
data.tar.gz: debf948e5a235157517ef21d67c6d498f3d2a623cfc9cbe384ae7d81dc8ed05f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 730bdbbefa4291935287eda1f56d78cf5f4e4c349426caf4fc20597fdb2cf43d1a627300031a45716dc57b7ecd60c4453de7ee9bb47f76341c19d908d4332a36
|
7
|
+
data.tar.gz: 8b75285fa43d9440d635566104d5201f8a8192d58d4754c69c134470e8e348456e1b38519aea3b74b9be33fa0a93effd5872566e0d7f2257c86bb5f15c5e16fa
|
data/CHANGELOG.md
CHANGED
@@ -1,14 +1,17 @@
|
|
1
1
|
# CHANGELOG
|
2
2
|
|
3
|
+
## 0.3.0
|
4
|
+
* enable exclusion of blocks of YAML from the enumeration (support YAML anchors) [#6](https://github.com/alto/yaml_enumeration/pull/6)
|
5
|
+
|
3
6
|
## 0.2.2
|
4
|
-
* enhance find-by methods [#4]
|
5
|
-
* add support for Ruby `2.6` and `2.7` [#3]
|
7
|
+
* enhance find-by methods [#4](https://github.com/alto/yaml_enumeration/pull/4)
|
8
|
+
* add support for Ruby `2.6` and `2.7` [#3](https://github.com/alto/yaml_enumeration/pull/3)
|
6
9
|
|
7
10
|
## 0.2.1
|
8
|
-
* add support for Ruby `2.5.3` [#2]
|
11
|
+
* add support for Ruby `2.5.3` [#2](https://github.com/alto/yaml_enumeration/pull/2)
|
9
12
|
|
10
13
|
## 0.2.0
|
11
|
-
* support _ActiveRecord_ methods `where`, `find_by` [#1]
|
14
|
+
* support _ActiveRecord_ methods `where`, `find_by` [#1](https://github.com/alto/yaml_enumeration/pull/1), thanks to [@richdrich](https://github.com/richdrich)
|
12
15
|
|
13
16
|
## 0.1.0
|
14
17
|
* initial version
|
data/README.md
CHANGED
@@ -80,6 +80,36 @@ class User < ActiveRecord::Base
|
|
80
80
|
end
|
81
81
|
```
|
82
82
|
|
83
|
+
additional `yaml` syntax such as anchors can be removed from the enumeration by including `_exclude_from_enumeration`:
|
84
|
+
|
85
|
+
```yaml
|
86
|
+
# countries.yml
|
87
|
+
---
|
88
|
+
defaults_exclude_from_enumeration: &defaults
|
89
|
+
continent: Australia
|
90
|
+
|
91
|
+
nz:
|
92
|
+
<<: *defaults
|
93
|
+
id: 1 # has to be provided
|
94
|
+
type: new_zealand # has to be provided
|
95
|
+
name: New Zealand
|
96
|
+
code: nz
|
97
|
+
au:
|
98
|
+
<<: *defaults
|
99
|
+
id: 2
|
100
|
+
type: australia
|
101
|
+
name: Australia
|
102
|
+
code: au
|
103
|
+
uk:
|
104
|
+
<<: *defaults
|
105
|
+
id: 3
|
106
|
+
type: united_kingdom
|
107
|
+
name: United Kingdom
|
108
|
+
code: uk
|
109
|
+
continent: Europe
|
110
|
+
...
|
111
|
+
```
|
112
|
+
|
83
113
|
## Accessing members
|
84
114
|
|
85
115
|
If you include a call to class method `with_named_items` you will get an item defined for each typed entry in the enumeration, e.g. `Country.NEW_ZEALAND` and `Country.AUSTRALIA`.
|
@@ -13,7 +13,7 @@ module YamlEnumeration
|
|
13
13
|
|
14
14
|
def self.load_values(filename)
|
15
15
|
file = File.join(Rails.root, 'db', 'enumerations', "#{filename}.yml")
|
16
|
-
YAML.load(ERB.new(File.read(file)).result).values.each do |data|
|
16
|
+
remove_exclusions(YAML.load(ERB.new(File.read(file)).result)).values.each do |data|
|
17
17
|
value data.symbolize_keys
|
18
18
|
end
|
19
19
|
end
|
@@ -144,5 +144,10 @@ module YamlEnumeration
|
|
144
144
|
self.id = id
|
145
145
|
end
|
146
146
|
|
147
|
+
def self.remove_exclusions(result)
|
148
|
+
keys_to_remove = result.keys.select {|key| key =~ /.*_exclude_from_enumeration$/ }
|
149
|
+
result.except(*keys_to_remove)
|
150
|
+
end
|
151
|
+
|
147
152
|
end # Enumeration
|
148
153
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: yaml_enumeration
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Thorsten Boettger
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-02-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|