missile_emitter 0.3.5 → 0.3.6

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: 59c81979360eedad3e6c4d9bd0c168711b1ffa0df3a2ef634b21d4195b61b533
4
- data.tar.gz: f73e60bb1650426a95b4c2c2bf2ab50d77600a6499dfc0c39172d2579b6c139d
3
+ metadata.gz: 8fcb01841704c973ecadc14dd16197852ad75dd7b75f4d538d78f6f2655e1008
4
+ data.tar.gz: 5c0e1d4b2f813b98be4df8bac1f3977ed612e2726cdbfca971ed389a311fe7fd
5
5
  SHA512:
6
- metadata.gz: 4ddb9c38586d04b9d6ed4d5a2e09dd853a7723b96f420163ccbed0d6f666a59f86ff7c95cdfe9b4fd3fb431a7ac489f826eaee6d2eaa6e651b260beef09f87be
7
- data.tar.gz: 31adaf7b8cd3b21aadd89f47418e38bcdd6d9787a94e6b32f3aff8005b3161d741f940a0a370aeaa671e1843067e25c7337f44b7fd780938464bb03df52ab4ef
6
+ metadata.gz: d906b43f6bb9dbbc25d0a18093ce9ba21ca3115539252e196183b56acc8e01159686e10576da55c814748f5cf0b2d7ef47b10e815dc05695debf7222cd66283f
7
+ data.tar.gz: fc7ff709fc3ab6f8c5a3aad28c2f52255a41d9a22edfb38f5f154559bdf6321f5d25a2e0369d70dc21b92d8bcfa7a51eaa3b9f16fc92ab85315c510ab87f3c55
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- missile_emitter (0.3.5)
4
+ missile_emitter (0.3.6)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -3,13 +3,21 @@ module MissileEmitter
3
3
 
4
4
  MissileEmitter do |klass, key_field = :key, value_field = :value, key, &default|
5
5
  klass.define_singleton_method key do |&writer|
6
- setting = find_or_create_by! key_field => key
6
+ setting = find_or_initialize_by key_field => key
7
7
 
8
- value = setting.instance_exec &(writer || default || -> {})
8
+ value = setting.send value_field
9
9
 
10
- setting.update(value_field => value)
10
+ if setting.new_record? # 记录不存在
11
+ value = setting.instance_exec &(writer || default || -> { value })
12
+ else
13
+ value = setting.instance_exec &writer if writer
14
+ end
11
15
 
12
- setting.send value_field
16
+ setting.attributes = {value_field => value}
17
+
18
+ setting.save!
19
+
20
+ value
13
21
  end
14
22
  end
15
23
 
@@ -1,3 +1,3 @@
1
1
  module MissileEmitter
2
- VERSION = "0.3.5"
2
+ VERSION = "0.3.6"
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.5
4
+ version: 0.3.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jerry Chen