Class: Chef::Formatters::Base
- Inherits:
-
EventDispatch::Base
- Object
- EventDispatch::Base
- Chef::Formatters::Base
- Includes:
- ErrorMapper
- Defined in:
- lib/chef/formatters/base.rb
Overview
Formatters::Base
Base class that all formatters should inherit from.
Direct Known Subclasses
Instance Attribute Summary collapse
-
#err ⇒ Object
readonly
Returns the value of attribute err.
-
#out ⇒ Object
readonly
Returns the value of attribute out.
-
#output ⇒ Object
readonly
Returns the value of attribute output.
Class Method Summary collapse
Instance Method Summary collapse
-
#attribute_file_load_failed(path, exception) ⇒ Object
Delegates to #file_load_failed.
-
#attribute_file_loaded(path) ⇒ Object
Delegates to #file_loaded.
- #cookbook_resolution_failed(expanded_run_list, exception) ⇒ Object
- #cookbook_sync_failed(cookbooks, exception) ⇒ Object
-
#definition_file_load_failed(path, exception) ⇒ Object
Delegates to #file_load_failed.
-
#definition_file_loaded(path) ⇒ Object
Delegates to #file_loaded.
- #deprecation(message, location = ) ⇒ Object
-
#display_error(description) ⇒ Object
Input: a Formatters::ErrorDescription object.
-
#file_load_failed(path, exception) ⇒ Object
Generic callback for any attribute/library/lwrp/recipe file throwing an exception when loaded.
-
#file_loaded(path) ⇒ Object
Generic callback for any attribute/library/lwrp/recipe file in a cookbook getting loaded.
- #indent_by(amount) ⇒ Object
-
#initialize(out, err) ⇒ Base
constructor
A new instance of Base.
- #is_formatter? ⇒ Boolean
-
#library_file_load_failed(path, exception) ⇒ Object
Delegates to #file_load_failed.
-
#library_file_loaded(path) ⇒ Object
Delegates to #file_loaded.
-
#lwrp_file_load_failed(path, exception) ⇒ Object
Delegates to #file_load_failed.
-
#lwrp_file_loaded(path) ⇒ Object
Delegates to #file_loaded.
- #node_load_failed(node_name, exception, config) ⇒ Object
- #print(*args) ⇒ Object
- #puts(*args) ⇒ Object
- #puts_line(*args) ⇒ Object
-
#recipe_file_load_failed(path, exception) ⇒ Object
Delegates to #file_load_failed.
-
#recipe_file_loaded(path) ⇒ Object
Delegates to #file_loaded.
- #recipe_not_found(exception) ⇒ Object
- #registration_failed(node_name, exception, config) ⇒ Object
- #resource_failed(resource, action, exception) ⇒ Object
- #run_list_expand_failed(node, exception) ⇒ Object
- #start_line(*args) ⇒ Object
Methods included from ErrorMapper
cookbook_resolution_failed, cookbook_sync_failed, file_load_failed, node_load_failed, registration_failed, resource_failed, run_list_expand_failed
Methods inherited from EventDispatch::Base
#attribute_load_complete, #attribute_load_start, #audit_phase_complete, #audit_phase_failed, #audit_phase_start, #control_example_failure, #control_example_success, #control_group_started, #converge_complete, #converge_failed, #converge_start, #cookbook_clean_complete, #cookbook_clean_start, #cookbook_gem_failed, #cookbook_gem_finished, #cookbook_gem_installing, #cookbook_gem_start, #cookbook_gem_using, #cookbook_resolution_complete, #cookbook_resolution_start, #cookbook_sync_complete, #cookbook_sync_start, #definition_load_complete, #definition_load_start, #handler_executed, #handlers_completed, #handlers_start, #library_load_complete, #library_load_start, #lwrp_load_complete, #lwrp_load_start, #msg, #node_load_completed, #node_load_start, #ohai_completed, #policyfile_loaded, #provider_requirement_failed, #recipe_load_complete, #recipe_load_start, #registration_completed, #registration_start, #removed_cookbook_file, #resource_action_start, #resource_bypassed, #resource_completed, #resource_current_state_load_bypassed, #resource_current_state_loaded, #resource_failed_retriable, #resource_skipped, #resource_up_to_date, #resource_update_applied, #resource_update_progress, #resource_updated, #run_completed, #run_failed, #run_list_expanded, #run_start, #run_started, #skipping_registration, #stream_closed, #stream_opened, #stream_output, #synchronized_cookbook, #updated_cookbook_file, #whyrun_assumption
Constructor Details
#initialize(out, err) ⇒ Base
Returns a new instance of Base.
74 75 76 |
# File 'lib/chef/formatters/base.rb', line 74 def initialize(out, err) @output = IndentableOutputStream.new(out, err) end |
Instance Attribute Details
#err ⇒ Object (readonly)
Returns the value of attribute err.
71 72 73 |
# File 'lib/chef/formatters/base.rb', line 71 def err @err end |
#out ⇒ Object (readonly)
Returns the value of attribute out.
70 71 72 |
# File 'lib/chef/formatters/base.rb', line 70 def out @out end |
#output ⇒ Object (readonly)
Returns the value of attribute output.
72 73 74 |
# File 'lib/chef/formatters/base.rb', line 72 def output @output end |
Class Method Details
.cli_name(name) ⇒ Object
66 67 68 |
# File 'lib/chef/formatters/base.rb', line 66 def self.cli_name(name) Chef::Formatters.register(name, self) end |
Instance Method Details
#attribute_file_load_failed(path, exception) ⇒ Object
Delegates to #file_load_failed
191 192 193 |
# File 'lib/chef/formatters/base.rb', line 191 def attribute_file_load_failed(path, exception) file_load_failed(path, exception) end |
#attribute_file_loaded(path) ⇒ Object
Delegates to #file_loaded
186 187 188 |
# File 'lib/chef/formatters/base.rb', line 186 def attribute_file_loaded(path) file_loaded(path) end |
#cookbook_resolution_failed(expanded_run_list, exception) ⇒ Object
128 129 130 131 |
# File 'lib/chef/formatters/base.rb', line 128 def cookbook_resolution_failed(, exception) description = ErrorMapper.cookbook_resolution_failed(, exception) display_error(description) end |
#cookbook_sync_failed(cookbooks, exception) ⇒ Object
133 134 135 136 |
# File 'lib/chef/formatters/base.rb', line 133 def cookbook_sync_failed(cookbooks, exception) description = ErrorMapper.cookbook_sync_failed(cookbooks, exception) display_error(description) end |
#definition_file_load_failed(path, exception) ⇒ Object
Delegates to #file_load_failed
201 202 203 |
# File 'lib/chef/formatters/base.rb', line 201 def definition_file_load_failed(path, exception) file_load_failed(path, exception) end |
#definition_file_loaded(path) ⇒ Object
Delegates to #file_loaded
196 197 198 |
# File 'lib/chef/formatters/base.rb', line 196 def definition_file_loaded(path) file_loaded(path) end |
#deprecation(message, location = ) ⇒ Object
215 216 217 |
# File 'lib/chef/formatters/base.rb', line 215 def deprecation(, location = caller(2..2)[0]) Chef::Log.deprecation("#{} at #{location}") end |
#display_error(description) ⇒ Object
Input: a Formatters::ErrorDescription object. Outputs error to STDOUT.
107 108 109 110 |
# File 'lib/chef/formatters/base.rb', line 107 def display_error(description) puts("") description.display(output) end |
#file_load_failed(path, exception) ⇒ Object
Generic callback for any attribute/library/lwrp/recipe file throwing an exception when loaded. Default behavior is to use CompileErrorInspector to print contextual info about the failure.
155 156 157 158 |
# File 'lib/chef/formatters/base.rb', line 155 def file_load_failed(path, exception) description = ErrorMapper.file_load_failed(path, exception) display_error(description) end |
#file_loaded(path) ⇒ Object
Generic callback for any attribute/library/lwrp/recipe file in a cookbook getting loaded. The per-filetype callbacks for file load are overriden so that they call this instead. This means that a subclass of Formatters::Base can implement #file_loaded to do the same thing for every kind of file that Chef loads from a recipe instead of implementing all the per-filetype callbacks.
149 150 |
# File 'lib/chef/formatters/base.rb', line 149 def file_loaded(path) end |
#indent_by(amount) ⇒ Object
94 95 96 97 98 99 100 101 102 103 |
# File 'lib/chef/formatters/base.rb', line 94 def indent_by(amount) @output.indent += amount if @output.indent < 0 # This is left commented out for now. We need to uncomment it and fix at least one bug in # the formatter, and then leave this line uncommented in the future. #Chef::Log.warn "Internal Formatter Error -- Attempt to indent by negative number of spaces" @output.indent = 0 end @output.indent end |
#is_formatter? ⇒ Boolean
219 220 221 |
# File 'lib/chef/formatters/base.rb', line 219 def is_formatter? true end |
#library_file_load_failed(path, exception) ⇒ Object
Delegates to #file_load_failed
171 172 173 |
# File 'lib/chef/formatters/base.rb', line 171 def library_file_load_failed(path, exception) file_load_failed(path, exception) end |
#library_file_loaded(path) ⇒ Object
Delegates to #file_loaded
166 167 168 |
# File 'lib/chef/formatters/base.rb', line 166 def library_file_loaded(path) file_loaded(path) end |
#lwrp_file_load_failed(path, exception) ⇒ Object
Delegates to #file_load_failed
181 182 183 |
# File 'lib/chef/formatters/base.rb', line 181 def lwrp_file_load_failed(path, exception) file_load_failed(path, exception) end |
#lwrp_file_loaded(path) ⇒ Object
Delegates to #file_loaded
176 177 178 |
# File 'lib/chef/formatters/base.rb', line 176 def lwrp_file_loaded(path) file_loaded(path) end |
#node_load_failed(node_name, exception, config) ⇒ Object
118 119 120 121 |
# File 'lib/chef/formatters/base.rb', line 118 def node_load_failed(node_name, exception, config) description = ErrorMapper.node_load_failed(node_name, exception, config) display_error(description) end |
#print(*args) ⇒ Object
82 83 84 |
# File 'lib/chef/formatters/base.rb', line 82 def print(*args) @output.print(*args) end |
#puts(*args) ⇒ Object
78 79 80 |
# File 'lib/chef/formatters/base.rb', line 78 def puts(*args) @output.puts(*args) end |
#puts_line(*args) ⇒ Object
86 87 88 |
# File 'lib/chef/formatters/base.rb', line 86 def puts_line(*args) @output.puts_line(*args) end |
#recipe_file_load_failed(path, exception) ⇒ Object
Delegates to #file_load_failed
211 212 213 |
# File 'lib/chef/formatters/base.rb', line 211 def recipe_file_load_failed(path, exception) file_load_failed(path, exception) end |
#recipe_file_loaded(path) ⇒ Object
Delegates to #file_loaded
206 207 208 |
# File 'lib/chef/formatters/base.rb', line 206 def recipe_file_loaded(path) file_loaded(path) end |
#recipe_not_found(exception) ⇒ Object
160 161 162 163 |
# File 'lib/chef/formatters/base.rb', line 160 def recipe_not_found(exception) description = ErrorMapper.file_load_failed(nil, exception) display_error(description) end |
#registration_failed(node_name, exception, config) ⇒ Object
112 113 114 115 116 |
# File 'lib/chef/formatters/base.rb', line 112 def registration_failed(node_name, exception, config) #A Formatters::ErrorDescription object description = ErrorMapper.registration_failed(node_name, exception, config) display_error(description) end |
#resource_failed(resource, action, exception) ⇒ Object
138 139 140 141 |
# File 'lib/chef/formatters/base.rb', line 138 def resource_failed(resource, action, exception) description = ErrorMapper.resource_failed(resource, action, exception) display_error(description) end |
#run_list_expand_failed(node, exception) ⇒ Object
123 124 125 126 |
# File 'lib/chef/formatters/base.rb', line 123 def (node, exception) description = ErrorMapper.(node, exception) display_error(description) end |
#start_line(*args) ⇒ Object
90 91 92 |
# File 'lib/chef/formatters/base.rb', line 90 def start_line(*args) @output.start_line(*args) end |