Class: Puppet::Settings::BaseSetting
- Inherits:
-
Object
- Object
- Puppet::Settings::BaseSetting
show all
- Defined in:
- lib/puppet/settings/base_setting.rb
Overview
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize(args = {}) ⇒ BaseSetting
Create the new element. Pretty much just sets the name.
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
# File 'lib/puppet/settings/base_setting.rb', line 57
def initialize(args = {})
unless @settings = args.delete(:settings)
raise ArgumentError.new("You must refer to a settings object")
end
@name = args[:name] if args.include? :name
@call_hook = :on_write_only if args[:hook] and not args[:call_hook]
@has_hook = false
raise ArgumentError, "Cannot reference :call_hook for :#{@name} if no :hook is defined" if args[:call_hook] and not args[:hook]
args.each do |param, value|
method = param.to_s + "="
raise ArgumentError, "#{self.class} (setting '#{args[:name]}') does not accept #{param}" unless self.respond_to? method
self.send(method, value)
end
raise ArgumentError, "You must provide a description for the #{self.name} config option" unless self.desc
end
|
Instance Attribute Details
#call_hook ⇒ Object
5
6
7
|
# File 'lib/puppet/settings/base_setting.rb', line 5
def call_hook
@call_hook
end
|
#default(check_application_defaults_first = false) ⇒ Object
5
6
7
|
# File 'lib/puppet/settings/base_setting.rb', line 5
def default
@default
end
|
#deprecated ⇒ Object
6
7
8
|
# File 'lib/puppet/settings/base_setting.rb', line 6
def deprecated
@deprecated
end
|
5
6
7
|
# File 'lib/puppet/settings/base_setting.rb', line 5
def desc
@desc
end
|
5
6
7
|
# File 'lib/puppet/settings/base_setting.rb', line 5
def name
@name
end
|
5
6
7
|
# File 'lib/puppet/settings/base_setting.rb', line 5
def section
@section
end
|
6
7
8
|
# File 'lib/puppet/settings/base_setting.rb', line 6
def short
@short
end
|
Class Method Details
.available_call_hook_values ⇒ Object
8
9
10
|
# File 'lib/puppet/settings/base_setting.rb', line 8
def self.available_call_hook_values
[:on_define_and_write, :on_initialize_and_write, :on_write_only]
end
|
Instance Method Details
#allowed_on_commandline? ⇒ Boolean
True if we should raise a deprecation_warning if the setting is found in puppet.conf, but not if the user sets it on the commandline
164
165
166
|
# File 'lib/puppet/settings/base_setting.rb', line 164
def allowed_on_commandline?
@deprecated == :allowed_on_commandline
end
|
#call_hook_on_define? ⇒ Boolean
21
22
23
|
# File 'lib/puppet/settings/base_setting.rb', line 21
def call_hook_on_define?
call_hook == :on_define_and_write
end
|
#call_hook_on_initialize? ⇒ Boolean
25
26
27
|
# File 'lib/puppet/settings/base_setting.rb', line 25
def call_hook_on_initialize?
call_hook == :on_initialize_and_write
end
|
#completely_deprecated? ⇒ Boolean
True if we should raise a deprecation_warning if the setting is submitted on the commandline or is set in puppet.conf.
158
159
160
|
# File 'lib/puppet/settings/base_setting.rb', line 158
def completely_deprecated?
@deprecated == :completely
end
|
#deprecated? ⇒ Boolean
152
153
154
|
# File 'lib/puppet/settings/base_setting.rb', line 152
def deprecated?
!!@deprecated
end
|
#getopt_args ⇒ Object
get the arguments in getopt format
30
31
32
33
34
35
36
|
# File 'lib/puppet/settings/base_setting.rb', line 30
def getopt_args
if short
[["--#{name}", "-#{short}", GetoptLong::REQUIRED_ARGUMENT]]
else
[["--#{name}", GetoptLong::REQUIRED_ARGUMENT]]
end
end
|
#has_hook? ⇒ Boolean
52
53
54
|
# File 'lib/puppet/settings/base_setting.rb', line 52
def has_hook?
@has_hook
end
|
#hook=(block) ⇒ Object
47
48
49
50
|
# File 'lib/puppet/settings/base_setting.rb', line 47
def hook=(block)
@has_hook = true
meta_def :handle, &block
end
|
168
169
170
|
# File 'lib/puppet/settings/base_setting.rb', line 168
def inspect
%Q{<#{self.class}:#{self.object_id} @name="#{@name}" @section="#{@section}" @default="#{@default}" @call_hook="#{@call_hook}">}
end
|
#iscreated ⇒ Object
82
83
84
|
# File 'lib/puppet/settings/base_setting.rb', line 82
def iscreated
@iscreated = true
end
|
#iscreated? ⇒ Boolean
86
87
88
|
# File 'lib/puppet/settings/base_setting.rb', line 86
def iscreated?
@iscreated
end
|
#munge(value) ⇒ Object
Modify the value when it is first evaluated
139
140
141
|
# File 'lib/puppet/settings/base_setting.rb', line 139
def munge(value)
value
end
|
#optparse_args ⇒ Object
get the arguments in OptionParser format
39
40
41
42
43
44
45
|
# File 'lib/puppet/settings/base_setting.rb', line 39
def optparse_args
if short
["--#{name}", "-#{short}", desc, :REQUIRED]
else
["--#{name}", desc, :REQUIRED]
end
end
|
143
144
145
|
# File 'lib/puppet/settings/base_setting.rb', line 143
def set_meta(meta)
Puppet.notice("#{name} does not support meta data. Ignoring.")
end
|
#to_config ⇒ Object
Convert the object to a config statement.
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
|
# File 'lib/puppet/settings/base_setting.rb', line 105
def to_config
require 'puppet/util/docs'
str = Puppet::Util::Docs.scrub(@desc).gsub(/^/, "# ") + "\n"
str << "# The default value is '#{default(true)}'.\n" if default(true)
value = @settings.value(self.name)
if value != @default
line = "#{@name} = #{value}"
else
line = "# #{@name} = #{@default}"
end
str << (line + "\n")
str.gsub(/^/, " ")
end
|
#value(bypass_interpolation = false) ⇒ String
Returns Retrieves the value, or if it’s not set, retrieves the default.
134
135
136
|
# File 'lib/puppet/settings/base_setting.rb', line 134
def value(bypass_interpolation = false)
@settings.value(self.name, nil, bypass_interpolation)
end
|