facter 4.0.37 → 4.0.38

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: f2ed5162fef26cfbf5bd010cf7737ac8b4856cf59f9f55745d6cfc1bec39781e
4
- data.tar.gz: 761beee20f449b3bbe1e5dc35c0bcd675e9602902804e7add3ee6c3d31a8916d
3
+ metadata.gz: 4cded925592073cd18baac69fc11f1154cbeda4370359e9d3e6655f97194d467
4
+ data.tar.gz: 16ea8f7a28b6ae86b0098a8c9412329dfa2665e1ca1a66ca3cc2d7e734452fa7
5
5
  SHA512:
6
- metadata.gz: 92751ef6452023c4e4edd9c2b7d21bd78bef74404d5550d4de353b4243f6639f29abbba1f00d6f8ba0b4bbf7afbea060f00aa34919a2d1d94459e1df5515e706
7
- data.tar.gz: b4ca79c0907439874ae638a920def98b9ed0d3e2893a77b6bc3d44dfb3cba756f88e550d55d14a8e4cdb9d2c5b58a6d0c6a6c335955ae819607021a80562cd65
6
+ metadata.gz: be78011c78dab1cdc01e44af6a2e2e053f3600c43a4c758e1edbf2b6a067052de36a8166749148fc2740694394af682c38cd7f72d516f75a323af9c69a278667
7
+ data.tar.gz: 3b614e324b33c54c571e5857ea184dcf89d0e7e1fdc9030ee57478bdc3eaa6c0511d73f8f18441e33d31258ea5be7f227b3412770a90f82ed8fe789f9f3690f8
@@ -13,6 +13,8 @@ module Facter
13
13
  Options.init
14
14
  Log.output(STDOUT)
15
15
  @already_searched = {}
16
+ @debug_once = []
17
+ @warn_once = []
16
18
 
17
19
  class << self
18
20
  def clear_messages
@@ -54,6 +56,8 @@ module Facter
54
56
  # @api public
55
57
  def clear
56
58
  @already_searched = {}
59
+ @debug_once = []
60
+ @warn_once = []
57
61
  LegacyFacter.clear
58
62
  Options[:custom_dir] = []
59
63
  LegacyFacter.collection.invalidate_custom_facts
@@ -68,16 +72,33 @@ module Facter
68
72
  fact_collection.dig(*splitted_user_query)
69
73
  end
70
74
 
71
- # Prints out a debug message when debug option is set to true
72
- # @param msg [String] Message to be printed out
75
+ # Logs debug message when debug option is set to true
76
+ # @param message [Object] Message object to be logged
73
77
  #
74
78
  # @return [nil]
75
79
  #
76
80
  # @api public
77
- def debug(msg)
81
+ def debug(message)
78
82
  return unless debugging?
79
83
 
80
- logger.debug(msg)
84
+ logger.debug(message.to_s)
85
+ nil
86
+ end
87
+
88
+ # Logs the same debug message only once when debug option is set to true
89
+ # @param message [Object] Message object to be logged
90
+ #
91
+ # @return [nil]
92
+ #
93
+ # @api public
94
+ def debugonce(message)
95
+ return unless debugging?
96
+
97
+ message_string = message.to_s
98
+ return if @debug_once.include? message_string
99
+
100
+ @debug_once << message_string
101
+ logger.debug(message_string)
81
102
  nil
82
103
  end
83
104
 
@@ -85,7 +106,7 @@ module Facter
85
106
  Facter::Log.on_message(&block)
86
107
  end
87
108
 
88
- # Check whether debuging is enabled
109
+ # Check whether debugging is enabled
89
110
  #
90
111
  # @return [bool]
91
112
  #
@@ -108,7 +129,7 @@ module Facter
108
129
  # call {Facter::Util::Fact#value `value`} on it to retrieve the actual
109
130
  # value.
110
131
  #
111
- # @param name [String] the name of the fact
132
+ # @param user_query [String] the name of the fact
112
133
  #
113
134
  # @return [Facter::Util::Fact, nil] The fact object, or nil if no fact
114
135
  # is found.
@@ -199,7 +220,7 @@ module Facter
199
220
  end
200
221
 
201
222
  # Enable or disable trace
202
- # @param debug_bool [bool] Set trace on debug state
223
+ # @param bool [bool] Set trace on debug state
203
224
  #
204
225
  # @return [type] [description]
205
226
  #
@@ -210,7 +231,7 @@ module Facter
210
231
 
211
232
  # Gets the value for a fact. Returns `nil` if no such fact exists.
212
233
  #
213
- # @param name [String] the fact name
234
+ # @param user_query [String] the fact name
214
235
  # @return [String] the value of the fact, or nil if no fact is found
215
236
  #
216
237
  # @api public
@@ -262,6 +283,43 @@ module Facter
262
283
  logger.error(arr.flatten.join("\n"))
263
284
  end
264
285
 
286
+ # Returns a list with the names of all solved facts
287
+ #
288
+ # @return [Array] the list with all the fact names
289
+ #
290
+ # @api public
291
+ def list
292
+ to_hash.keys.sort
293
+ end
294
+
295
+ # Logs the message parameter as a warning.
296
+ #
297
+ # @param message [Object] the warning object to be displayed
298
+ #
299
+ # @return [nil]
300
+ #
301
+ # @api public
302
+ def warn(message)
303
+ logger.warn(message.to_s)
304
+ nil
305
+ end
306
+
307
+ # Logs only once the same warning message.
308
+ #
309
+ # @param message [Object] the warning message object
310
+ #
311
+ # @return [nil]
312
+ #
313
+ # @api public
314
+ def warnonce(message)
315
+ message_string = message.to_s
316
+ return if @warn_once.include? message_string
317
+
318
+ @warn_once << message_string
319
+ logger.warn(message_string)
320
+ nil
321
+ end
322
+
265
323
  private
266
324
 
267
325
  def logger
@@ -303,10 +361,9 @@ module Facter
303
361
  # Returns exit status when user query contains facts that do
304
362
  # not exist
305
363
  #
306
- # @param dirs [Array] Arguments sent to CLI
307
- # @param dirs [Array] List of resolved facts
364
+ # @param resolved_facts [Array] List of resolved facts
308
365
  #
309
- # @return [Integer, nil] Will return status 1 if user query contains
366
+ # @return [1/nil] Will return status 1 if user query contains
310
367
  # facts that are not found or resolved, otherwise it will return nil
311
368
  #
312
369
  # @api private
@@ -18,8 +18,8 @@ module Facts
18
18
  end
19
19
 
20
20
  def determine_release_version
21
- version = Facter::Resolvers::OsRelease.resolve(:version_id)
22
- version ||= Facter::Resolvers::RedHatRelease.resolve(:version)
21
+ version = Facter::Resolvers::RedHatRelease.resolve(:version)
22
+ version ||= Facter::Resolvers::OsRelease.resolve(:version_id)
23
23
 
24
24
  return unless version
25
25
 
@@ -60,9 +60,7 @@ module Facter
60
60
  def debug(msg)
61
61
  return unless debugging_active?
62
62
 
63
- if msg.nil? || msg.empty?
64
- empty_message_error(msg)
65
- elsif @@message_callback
63
+ if @@message_callback
66
64
  @@message_callback.call(:debug, msg)
67
65
  else
68
66
  msg = colorize(msg, CYAN) if Options[:color]
@@ -82,9 +80,7 @@ module Facter
82
80
  end
83
81
 
84
82
  def warn(msg)
85
- if msg.nil? || msg.empty?
86
- empty_message_error(msg)
87
- elsif @@message_callback
83
+ if @@message_callback
88
84
  @@message_callback.call(:warn, msg)
89
85
  else
90
86
  msg = colorize(msg, YELLOW) if Options[:color]
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Facter
4
- VERSION = '4.0.37' unless defined?(VERSION)
4
+ VERSION = '4.0.38' unless defined?(VERSION)
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: facter
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.37
4
+ version: 4.0.38
5
5
  platform: ruby
6
6
  authors:
7
7
  - Puppet
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-09-09 00:00:00.000000000 Z
11
+ date: 2020-09-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler