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(deprecation, _location = nil) ⇒ Object
Log a deprecation warning 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
- #is_structured_deprecation?(deprecation) ⇒ 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, recipe) ⇒ Object
Delegates to #file_load_failed.
-
#recipe_file_loaded(path, recipe) ⇒ 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
#action_collection_registration, #attribute_changed, #attribute_load_complete, #attribute_load_start, #compliance_input_enabled, #compliance_input_loaded, #compliance_load_complete, #compliance_load_start, #compliance_profile_enabled, #compliance_profile_loaded, #compliance_waiver_enabled, #compliance_waiver_loaded, #converge_complete, #converge_failed, #converge_start, #cookbook_clean_complete, #cookbook_clean_start, #cookbook_compilation_complete, #cookbook_compilation_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, #inputs_load_complete, #inputs_load_start, #key_migration_status, #library_load_complete, #library_load_start, #lwrp_load_complete, #lwrp_load_start, #msg, #node_load_completed, #node_load_start, #node_load_success, #ohai_completed, #ohai_plugin_file_load_failed, #ohai_plugin_file_loaded, #ohai_plugin_load_complete, #ohai_plugin_load_start, #policyfile_loaded, #profiles_load_complete, #profiles_load_start, #provider_requirement_failed, #recipe_load_complete, #recipe_load_start, #registration_completed, #registration_start, #removed_cookbook_file, #resource_action_start, #resource_after_state_loaded, #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, #waivers_load_complete, #waivers_load_start, #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
190 191 192 |
# File 'lib/chef/formatters/base.rb', line 190 def attribute_file_load_failed(path, exception) file_load_failed(path, exception) end |
#attribute_file_loaded(path) ⇒ Object
Delegates to #file_loaded
185 186 187 |
# File 'lib/chef/formatters/base.rb', line 185 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
200 201 202 |
# File 'lib/chef/formatters/base.rb', line 200 def definition_file_load_failed(path, exception) file_load_failed(path, exception) end |
#definition_file_loaded(path) ⇒ Object
Delegates to #file_loaded
195 196 197 |
# File 'lib/chef/formatters/base.rb', line 195 def definition_file_loaded(path) file_loaded(path) end |
#deprecation(deprecation, _location = nil) ⇒ Object
Log a deprecation warning object.
219 220 221 |
# File 'lib/chef/formatters/base.rb', line 219 def deprecation(deprecation, _location = nil) Chef::Log.deprecation(deprecation.to_s) unless deprecation.silenced? 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.
154 155 156 157 |
# File 'lib/chef/formatters/base.rb', line 154 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 overridden 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 |
# 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
227 228 229 |
# File 'lib/chef/formatters/base.rb', line 227 def is_formatter? true end |
#is_structured_deprecation?(deprecation) ⇒ Boolean
223 224 225 |
# File 'lib/chef/formatters/base.rb', line 223 def is_structured_deprecation?(deprecation) deprecation.is_a?(Chef::Deprecated::Base) end |
#library_file_load_failed(path, exception) ⇒ Object
Delegates to #file_load_failed
170 171 172 |
# File 'lib/chef/formatters/base.rb', line 170 def library_file_load_failed(path, exception) file_load_failed(path, exception) end |
#library_file_loaded(path) ⇒ Object
Delegates to #file_loaded
165 166 167 |
# File 'lib/chef/formatters/base.rb', line 165 def library_file_loaded(path) file_loaded(path) end |
#lwrp_file_load_failed(path, exception) ⇒ Object
Delegates to #file_load_failed
180 181 182 |
# File 'lib/chef/formatters/base.rb', line 180 def lwrp_file_load_failed(path, exception) file_load_failed(path, exception) end |
#lwrp_file_loaded(path) ⇒ Object
Delegates to #file_loaded
175 176 177 |
# File 'lib/chef/formatters/base.rb', line 175 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, recipe) ⇒ Object
Delegates to #file_load_failed
210 211 212 |
# File 'lib/chef/formatters/base.rb', line 210 def recipe_file_load_failed(path, exception, recipe) file_load_failed(path, exception) end |
#recipe_file_loaded(path, recipe) ⇒ Object
Delegates to #file_loaded
205 206 207 |
# File 'lib/chef/formatters/base.rb', line 205 def recipe_file_loaded(path, recipe) file_loaded(path) end |
#recipe_not_found(exception) ⇒ Object
159 160 161 162 |
# File 'lib/chef/formatters/base.rb', line 159 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) unless resource.ignore_failure && resource.ignore_failure.to_s == "quiet" 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 |