Exception: Conject::CompositionError
- Defined in:
- lib/conject/composition_error.rb
Instance Method Summary collapse
-
#initialize(opts = nil) ⇒ CompositionError
constructor
A new instance of CompositionError.
Constructor Details
#initialize(opts = nil) ⇒ CompositionError
Returns a new instance of CompositionError.
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/conject/composition_error.rb', line 5 def initialize(opts=nil) opts ||= {} object_def = opts[:object_definition] required = nil required = object_def.component_names if object_def provided = opts[:provided] || [] msg = "Unexpected CompositionError" if object_def.nil? msg = "Failed to construct... something." if provided and !provided.empty? msg << " Provided objects were: #{provided.inspect}" end elsif object_def and required and provided owner = object_def.owner || "object" msg = "Wrong components when building new #{owner}." missing = required - provided msg << " Missing required object(s) #{missing.to_a.inspect}." unless missing.empty? unexpected = provided - required msg << " Unexpected object(s) provided #{unexpected.to_a.inspect}." unless unexpected.empty? end super msg end |