Class: Puppet::Indirector::Face
Instance Attribute Summary collapse
Class Method Summary collapse
Instance Method Summary collapse
- #call_indirection_method(method, key, options) ⇒ Object
-
#indirection ⇒ Object
Return an indirection associated with a face, if one exists; One usually does.
- #indirection_name ⇒ Object
-
#set_indirection_name(name) ⇒ Object
Here’s your opportunity to override the indirection name.
- #set_terminus(from) ⇒ Object
Instance Attribute Details
Class Method Details
.indirections ⇒ Object
32 33 34 |
# File 'lib/puppet/indirector/face.rb', line 32 def self.indirections Puppet::Indirector::Indirection.instances.collect { |t| t.to_s }.sort end |
.terminus_classes(indirection) ⇒ Object
36 37 38 |
# File 'lib/puppet/indirector/face.rb', line 36 def self.terminus_classes(indirection) Puppet::Indirector::Terminus.terminus_classes(indirection.to_sym).collect { |t| t.to_s }.sort end |
Instance Method Details
#call_indirection_method(method, key, options) ⇒ Object
40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/puppet/indirector/face.rb', line 40 def call_indirection_method(method, key, ) begin result = indirection.__send__(method, key, ) rescue => detail = "Could not call '#{method}' on '#{indirection_name}': #{detail}" Puppet.log_exception(detail, ) raise RuntimeError, , detail.backtrace end return result end |
#indirection ⇒ Object
Return an indirection associated with a face, if one exists; One usually does.
132 133 134 135 136 137 138 |
# File 'lib/puppet/indirector/face.rb', line 132 def indirection unless @indirection @indirection = Puppet::Indirector::Indirection.instance(indirection_name) @indirection or raise "Could not find terminus for #{indirection_name}" end @indirection end |
#indirection_name ⇒ Object
120 121 122 |
# File 'lib/puppet/indirector/face.rb', line 120 def indirection_name @indirection_name || name.to_sym end |
#set_indirection_name(name) ⇒ Object
Here’s your opportunity to override the indirection name. By default it will be the same name as the face.
126 127 128 |
# File 'lib/puppet/indirector/face.rb', line 126 def set_indirection_name(name) @indirection_name = name end |
#set_terminus(from) ⇒ Object
140 141 142 143 144 145 146 147 |
# File 'lib/puppet/indirector/face.rb', line 140 def set_terminus(from) begin indirection.terminus_class = from rescue => detail msg = "Could not set '#{indirection.name}' terminus to '#{from}' (#{detail}); valid terminus types are #{self.class.terminus_classes(indirection.name).join(", ") }" raise detail, msg, detail.backtrace end end |