Class: Chef::Formatters::Base

Inherits:
EventDispatch::Base show all
Includes:
ErrorMapper
Defined in:
lib/chef/formatters/base.rb

Overview

Formatters::Base

Base class that all formatters should inherit from.

Direct Known Subclasses

Doc, Minimal, NullFormatter

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

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, #converge_complete, #converge_start, #cookbook_clean_complete, #cookbook_clean_start, #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, #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_updated, #run_completed, #run_failed, #run_start, #skipping_registration, #synchronized_cookbook, #updated_cookbook_file, #whyrun_assumption

Constructor Details

#initialize(out, err) ⇒ Base

Returns a new instance of Base.



111
112
113
# File 'lib/chef/formatters/base.rb', line 111

def initialize(out, err)
  @output = Outputter.new(out, err)
end

Instance Attribute Details

#errObject (readonly)

Returns the value of attribute err.



108
109
110
# File 'lib/chef/formatters/base.rb', line 108

def err
  @err
end

#outObject (readonly)

Returns the value of attribute out.



107
108
109
# File 'lib/chef/formatters/base.rb', line 107

def out
  @out
end

#outputObject (readonly)

Returns the value of attribute output.



109
110
111
# File 'lib/chef/formatters/base.rb', line 109

def output
  @output
end

Class Method Details

.cli_name(name) ⇒ Object



103
104
105
# File 'lib/chef/formatters/base.rb', line 103

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



209
210
211
# File 'lib/chef/formatters/base.rb', line 209

def attribute_file_load_failed(path, exception)
  file_load_failed(path, exception)
end

#attribute_file_loaded(path) ⇒ Object

Delegates to #file_loaded



204
205
206
# File 'lib/chef/formatters/base.rb', line 204

def attribute_file_loaded(path)
  file_loaded(path)
end

#cookbook_resolution_failed(expanded_run_list, exception) ⇒ Object



146
147
148
149
# File 'lib/chef/formatters/base.rb', line 146

def cookbook_resolution_failed(expanded_run_list, exception)
  description = ErrorMapper.cookbook_resolution_failed(expanded_run_list, exception)
  display_error(description)
end

#cookbook_sync_failed(cookbooks, exception) ⇒ Object



151
152
153
154
# File 'lib/chef/formatters/base.rb', line 151

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



219
220
221
# File 'lib/chef/formatters/base.rb', line 219

def definition_file_load_failed(path, exception)
  file_load_failed(path, exception)
end

#definition_file_loaded(path) ⇒ Object

Delegates to #file_loaded



214
215
216
# File 'lib/chef/formatters/base.rb', line 214

def definition_file_loaded(path)
  file_loaded(path)
end

#display_error(description) ⇒ Object

Input: a Formatters::ErrorDescription object. Outputs error to SDOUT.



125
126
127
128
# File 'lib/chef/formatters/base.rb', line 125

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.



173
174
175
176
# File 'lib/chef/formatters/base.rb', line 173

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.



167
168
# File 'lib/chef/formatters/base.rb', line 167

def file_loaded(path)
end

#library_file_load_failed(path, exception) ⇒ Object

Delegates to #file_load_failed



189
190
191
# File 'lib/chef/formatters/base.rb', line 189

def library_file_load_failed(path, exception)
  file_load_failed(path, exception)
end

#library_file_loaded(path) ⇒ Object

Delegates to #file_loaded



184
185
186
# File 'lib/chef/formatters/base.rb', line 184

def library_file_loaded(path)
  file_loaded(path)
end

#lwrp_file_load_failed(path, exception) ⇒ Object

Delegates to #file_load_failed



199
200
201
# File 'lib/chef/formatters/base.rb', line 199

def lwrp_file_load_failed(path, exception)
  file_load_failed(path, exception)
end

#lwrp_file_loaded(path) ⇒ Object

Delegates to #file_loaded



194
195
196
# File 'lib/chef/formatters/base.rb', line 194

def lwrp_file_loaded(path)
  file_loaded(path)
end

#node_load_failed(node_name, exception, config) ⇒ Object



136
137
138
139
# File 'lib/chef/formatters/base.rb', line 136

def node_load_failed(node_name, exception, config)
  description = ErrorMapper.node_load_failed(node_name, exception, config)
  display_error(description)
end


119
120
121
# File 'lib/chef/formatters/base.rb', line 119

def print(*args)
  @output.print(*args)
end

#puts(*args) ⇒ Object



115
116
117
# File 'lib/chef/formatters/base.rb', line 115

def puts(*args)
  @output.puts(*args)
end

#recipe_file_load_failed(path, exception) ⇒ Object

Delegates to #file_load_failed



229
230
231
# File 'lib/chef/formatters/base.rb', line 229

def recipe_file_load_failed(path, exception)
  file_load_failed(path, exception)
end

#recipe_file_loaded(path) ⇒ Object

Delegates to #file_loaded



224
225
226
# File 'lib/chef/formatters/base.rb', line 224

def recipe_file_loaded(path)
  file_loaded(path)
end

#recipe_not_found(exception) ⇒ Object



178
179
180
181
# File 'lib/chef/formatters/base.rb', line 178

def recipe_not_found(exception)
  description = ErrorMapper.file_load_failed(nil, exception)
  display_error(description)
end

#registration_failed(node_name, exception, config) ⇒ Object



130
131
132
133
134
# File 'lib/chef/formatters/base.rb', line 130

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



156
157
158
159
# File 'lib/chef/formatters/base.rb', line 156

def resource_failed(resource, action, exception)
  description = ErrorMapper.resource_failed(resource, action, exception)
  display_error(description)
end

#run_list_expand_failed(node, exception) ⇒ Object



141
142
143
144
# File 'lib/chef/formatters/base.rb', line 141

def run_list_expand_failed(node, exception)
  description = ErrorMapper.run_list_expand_failed(node, exception)
  display_error(description)
end