kbsecret 0.8.0.pre.3 → 0.8.0.pre.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 +4 -4
- data/lib/kbsecret/record.rb +1 -1
- data/lib/kbsecret/record/abstract.rb +15 -0
- data/lib/kbsecret/record/environment.rb +9 -0
- data/lib/kbsecret/record/todo.rb +5 -1
- data/lib/version.rb +1 -1
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 41fdcf73292b783109fc320d519927b865d3d699
|
4
|
+
data.tar.gz: dbfe082cfbe08760603e9f31c7e9b3c7588581f2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '090490e56abc99cb6a4f2febde1ce704b31bfa5d04d3635acd662f3609beba5fe4396f537bc397771d3426b1347d913c3f4b88b888b03da0c22eb24602ca4986'
|
7
|
+
data.tar.gz: ae5305cffa2d072c8f96d23277b0625915bf0f957bf2f9b1956e97dca56c34b28aa4de3a77de867bd010d269202f4b9573dbcc35f45e1a4cbf6f39c994481d76
|
data/lib/kbsecret/record.rb
CHANGED
@@ -46,7 +46,7 @@ module KBSecret
|
|
46
46
|
# @api private
|
47
47
|
def self.load_record!(session, path)
|
48
48
|
hsh = JSON.parse(File.read(path), symbolize_names: true)
|
49
|
-
klass =
|
49
|
+
klass = class_for hsh[:type]
|
50
50
|
klass&.load!(session, hsh)
|
51
51
|
rescue
|
52
52
|
raise Exceptions::RecordLoadError, path
|
@@ -175,6 +175,8 @@ module KBSecret
|
|
175
175
|
# @note Every sync updates the record's timestamp.
|
176
176
|
# @return [void]
|
177
177
|
def sync!
|
178
|
+
return if @defer_sync
|
179
|
+
|
178
180
|
# bump the timestamp every time we sync
|
179
181
|
@timestamp = Time.now.to_i
|
180
182
|
|
@@ -188,6 +190,19 @@ module KBSecret
|
|
188
190
|
def populate_internal_fields
|
189
191
|
nil # stub
|
190
192
|
end
|
193
|
+
|
194
|
+
# Evaluate the given block within the current instance, deferring any
|
195
|
+
# synchronizations caused by method calls (e.g., field changes).
|
196
|
+
# @param implicit [Boolean] whether or not to call {#sync!} at the end of the block
|
197
|
+
# @return [void]
|
198
|
+
# @note This is useful for decreasing the number of writes performed, especially if multiple
|
199
|
+
# fields within the record are modified simultaneously.
|
200
|
+
def defer_sync(implicit: true, &block)
|
201
|
+
@defer_sync = true
|
202
|
+
instance_eval(&block)
|
203
|
+
@defer_sync = false
|
204
|
+
sync! if implicit
|
205
|
+
end
|
191
206
|
end
|
192
207
|
end
|
193
208
|
end
|
@@ -13,6 +13,15 @@ module KBSecret
|
|
13
13
|
data_field :variable, sensitive: false
|
14
14
|
data_field :value
|
15
15
|
|
16
|
+
# @return [void]
|
17
|
+
# @see Abstract#populate_internal_fields
|
18
|
+
def populate_internal_fields
|
19
|
+
defer_sync implicit: false do
|
20
|
+
self.variable = variable.shellescape
|
21
|
+
self.value = value.shellescape
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
16
25
|
# @return [String] a sh-style environment assignment
|
17
26
|
def to_assignment
|
18
27
|
"#{variable}=#{value}"
|
data/lib/kbsecret/record/todo.rb
CHANGED
@@ -35,7 +35,11 @@ module KBSecret
|
|
35
35
|
# @return [void]
|
36
36
|
# @see Abstract#populate_internal_fields
|
37
37
|
def populate_internal_fields
|
38
|
-
|
38
|
+
defer_sync implicit: false do
|
39
|
+
self.status = "suspended"
|
40
|
+
self.start = nil
|
41
|
+
self.stop = nil
|
42
|
+
end
|
39
43
|
end
|
40
44
|
|
41
45
|
# @return [Boolean] whether or not the item is marked as started
|
data/lib/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kbsecret
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.8.0.pre.
|
4
|
+
version: 0.8.0.pre.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- William Woodruff
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-07-
|
11
|
+
date: 2017-07-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: fpm
|
@@ -52,6 +52,20 @@ dependencies:
|
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: 0.7.3
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: simplecov
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
70
|
name: yard
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|