missile_emitter 0.3.9 → 0.3.10

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: 129d7457b5fdb1100a8d931d8f30452f9f7085137955b505c84ec6ee04cd0d6d
4
- data.tar.gz: c4a6e393a1ae9e0bcd98106cb70426a4a993a824b79c3b424d6a8d4b63678875
3
+ metadata.gz: dd0227814823c25214faacb834eda176b0e6109c722d60002fc97aaec77b1260
4
+ data.tar.gz: 764b2d98231e59abd9ebd819d23bf585c665d49977065c48de4b4cef4a42d86b
5
5
  SHA512:
6
- metadata.gz: 5e4510a9fe3ec575512bdfa202bb5e35b8f6e3bfcb4a2702a49d51d2ac75c61c0ae996fd9399ca4a38f173b959843d131f113194139148174863faceaafd8edf
7
- data.tar.gz: a8fd67a5e5e39b7d3a2bb2c835eb79c3bc9572420903bc02d6a0fd42bb0ba6ff9be474449fb97130f5a2503fdd443b295db0c4ddff9c634df29810682c6ece8a
6
+ metadata.gz: 3d2aa7e2e8b6a97af8066a372ced947949ebcf8de31dea1fa8810db3680075d6f9f4320a9a089a0cce745895bcbc0cbdf60b819e39f4f35f6b849501ed9b6fe0
7
+ data.tar.gz: c6b0f541524eacf29030b95900dbf50ab07ecd68d1e1298cc393e05a1e9507c980a69e710030b5e6f30a41fee198fab45d50930ad1020a1e7bcdc37e41532c11
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- missile_emitter (0.3.9)
4
+ missile_emitter (0.3.10)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -3,10 +3,10 @@ module MissileEmitter
3
3
 
4
4
  # 配置项列表(klass => [key1, key2, ...])
5
5
  # eg. {Setting => [:logo, :copyright, ...]}
6
- option_names = {}
6
+ mapping = {}
7
7
 
8
8
  MissileEmitter do |klass, key_field = :key, value_field = :value, key, &default|
9
- (option_names[klass] ||= [].to_set) << key
9
+ (mapping[klass] ||= [].to_set) << key
10
10
 
11
11
  klass.define_singleton_method key do |&writer|
12
12
  setting = find_or_initialize_by key_field => key
@@ -30,9 +30,14 @@ module MissileEmitter
30
30
  extend ActiveSupport::Concern
31
31
 
32
32
  included do
33
+ # 获取所有配置项名称:Klass.option_names ---> [:logo, copyright, ...]
34
+ define_singleton_method :option_names do
35
+ mapping.fetch self, []
36
+ end
37
+
33
38
  # 获取所有配置:Klass.options ---> {logo: '', copyright: '', ...}
34
39
  define_singleton_method :options do
35
- option_names.fetch(self, []).each_with_object({}) do |key, result|
40
+ option_names.each_with_object({}) do |key, result|
36
41
  result[key] = send key
37
42
  end
38
43
  end
@@ -1,3 +1,3 @@
1
1
  module MissileEmitter
2
- VERSION = "0.3.9"
2
+ VERSION = "0.3.10"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: missile_emitter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.9
4
+ version: 0.3.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jerry Chen