missile_emitter 0.3.9 → 0.3.10

Sign up to get free protection for your applications and to get access to all the features.
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