cfa_grub2 0.5.4 → 0.6.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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/cfa/grub2/default.rb +20 -14
  3. metadata +6 -5
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 742ec03eb883061f44bf8ec4e239d02bb066bc59
4
- data.tar.gz: 16c6d6a421cf3dd6394dde66033f4dd51573245e
3
+ metadata.gz: af13a6ea41486f646e9debfb46c3a809e4a97391
4
+ data.tar.gz: afb3f9b421872d38c9ec9604ac687d1490c4edcf
5
5
  SHA512:
6
- metadata.gz: 27bac49cf26b7edacfd9172121f37d407846e368bee860bd1aa73c689467f59d3619aab786013595dcd05d754677eee0aee9ce29a8a7c81d20318bfde5c55a26
7
- data.tar.gz: 504b1a9a1fb9027a25161dddd22e159760b2b738c951ce2863c50690d84bfb66c4e0ecf521e64750a834243c2c919fb78108645028454716547bef8acc9b93f2
6
+ metadata.gz: e0c0df8ced8a6302c4bfef86296e839f3c81275d52470eda36faa9be5739dd37ca7fe99c46616d93cdf8f0b7b04cdf8cc0267984e99a4beefbf9236081fb911a
7
+ data.tar.gz: 733243ede8cf8c5f866487d6999249c31d903ec7ab6e41de0232586c9d199ba48854f3d91f22962ad15ed973f961b7059f2062e00aa5a71d5e88204d262e06aa
@@ -70,15 +70,14 @@ module CFA
70
70
 
71
71
  def xen_hypervisor_params
72
72
  @xen_hypervisor_params ||= KernelParams.new(
73
- data["GRUB_CMDLINE_XEN_DEFAULT"],
74
- "GRUB_CMDLINE_XEN_DEFAULT"
73
+ data["GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT"],
74
+ "GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT"
75
75
  )
76
76
  end
77
77
 
78
78
  def xen_kernel_params
79
79
  @xen_kernel_params ||= KernelParams.new(
80
- data["GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT"],
81
- "GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT"
80
+ data["GRUB_CMDLINE_XEN_DEFAULT"], "GRUB_CMDLINE_XEN_DEFAULT"
82
81
  )
83
82
  end
84
83
 
@@ -186,6 +185,7 @@ module CFA
186
185
  def add_parameter(key, value, placer = AppendPlacer.new)
187
186
  element = placer.new_element(@tree)
188
187
 
188
+ element[:operation] = :add
189
189
  element[:key] = key
190
190
  element[:value] = value
191
191
  end
@@ -193,31 +193,29 @@ module CFA
193
193
  # Removes parameter from kernel command line.
194
194
  # @param matcher [Matcher] to find entry to remove
195
195
  def remove_parameter(matcher)
196
- @tree.data.reject!(&matcher)
196
+ @tree.data.select(&matcher).each { |e| e[:operation] = :remove }
197
197
  end
198
198
 
199
199
  # Represents parsed kernel parameters tree. Parses in initialization
200
200
  # and backserilized by `to_string`.
201
201
  # TODO: replace it via augeas parser when someone write lense
202
202
  class ParamTree
203
- attr_reader :data
204
-
205
203
  def initialize(line)
206
- line ||= ""
207
- pairs = line.split(/\s/)
208
- .reject(&:empty?)
209
- .map { |e| e.split("=", 2) }
204
+ pairs = (line || "").split(/\s/)
205
+ .reject(&:empty?)
206
+ .map { |e| e.split("=", 2) }
210
207
 
211
208
  @data = pairs.map do |k, v|
212
209
  {
213
- key: k,
214
- value: v || true, # kernel param without value have true
210
+ key: k,
211
+ value: v || true, # kernel param without value have true
212
+ operation: :keep
215
213
  }
216
214
  end
217
215
  end
218
216
 
219
217
  def to_string
220
- snippets = @data.map do |e|
218
+ snippets = data.map do |e|
221
219
  if e[:value] == true
222
220
  e[:key]
223
221
  else
@@ -227,6 +225,14 @@ module CFA
227
225
 
228
226
  snippets.join(" ")
229
227
  end
228
+
229
+ def data
230
+ @data.select { |e| e[:operation] != :remove }.freeze
231
+ end
232
+
233
+ def all_data
234
+ @data
235
+ end
230
236
  end
231
237
  end
232
238
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cfa_grub2
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.4
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josef Reidinger
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-03-29 00:00:00.000000000 Z
11
+ date: 2017-03-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cfa
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.4.3
19
+ version: '0.5'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 0.4.3
26
+ version: '0.5'
27
27
  description: Models allowing easy read and modification of GRUB2 configuration files.
28
28
  It is a plugin for cfa framework.
29
29
  email:
@@ -56,8 +56,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
56
56
  version: 1.3.6
57
57
  requirements: []
58
58
  rubyforge_project:
59
- rubygems_version: 2.4.5.2
59
+ rubygems_version: 2.2.2
60
60
  signing_key:
61
61
  specification_version: 4
62
62
  summary: Models for GRUB2 configuration files.
63
63
  test_files: []
64
+ has_rdoc: