class Puppet::Pops::Model::ModelLabelProvider

A provider of labels for model object, producing a human name for the model object. As an example, if object is an ArithmeticExpression with operator +, `a_an(o)` produces “a ‘+’ Expression”, the(o) produces “the + Expression”, and label produces “+ Expression”.

Public Instance Methods

label(o) click to toggle source

Produces a label for the given objects type/operator without article. If a Class is given, its name is used as label

# File lib/puppet/pops/model/model_label_provider.rb, line 13
def label o
  @@label_visitor.visit(o)
end
label_AccessExpression(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 22
def label_AccessExpression o            ; "'[]' expression"                   end
label_AndExpression(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 30
def label_AndExpression o               ; "'and' expression"                  end
label_ArithmeticExpression(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 21
def label_ArithmeticExpression o        ; "'#{o.operator}' expression"        end
label_Array(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 18
def label_Array o                       ; "Array"                             end
label_AssignmentExpression(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 33
def label_AssignmentExpression o        ; "'#{o.operator}' expression"        end
label_AttributeOperation(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 34
def label_AttributeOperation o          ; "'#{o.operator}' expression"        end
label_Bignum(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 79
def label_Bignum o                      ; "Integer"                           end
label_BlockExpression(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 54
def label_BlockExpression o             ; "Block Expression"                  end
label_CallMethodExpression(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 66
def label_CallMethodExpression o        ; "Method call"                       end
label_CallNamedFunctionExpression(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 65
def label_CallNamedFunctionExpression o ; "Function Call"                     end
label_CaseExpression(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 67
def label_CaseExpression o              ; "'case' statement"                  end
label_CaseOption(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 68
def label_CaseOption o                  ; "Case Option"                       end
label_Class(o) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 98
def label_Class o
  if o <= Puppet::Pops::Types::PAnyType
    simple_name = o.name.split('::').last
    simple_name[1..-5] + "-Type"
  else
    o.name
  end
end
label_CollectExpression(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 24
def label_CollectExpression o           ; label(o.query)                      end
label_ComparisonExpression(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 29
def label_ComparisonExpression o        ; "'#{o.operator}' expression"        end
label_ConcatenatedString(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 55
def label_ConcatenatedString o          ; "Double Quoted String"              end
label_EppExpression(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 25
def label_EppExpression o               ; "Epp Template"                      end
label_ExportedQuery(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 26
def label_ExportedQuery o               ; "Exported Query"                    end
label_Factory(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 17
def label_Factory o                     ; label(o.current)                    end
label_FalseClass(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 40
def label_FalseClass o                  ; "Boolean"                           end
label_Fixnum(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 78
def label_Fixnum o                      ; "Integer"                           end
label_Float(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 80
def label_Float o                       ; "Float"                             end
label_Hash(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 84
def label_Hash o                        ; "Hash"                              end
label_HeredocExpression(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 56
def label_HeredocExpression o           ; "'@(#{o.syntax})' expression"       end
label_HostClassDefinition(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 57
def label_HostClassDefinition o         ; "Host Class Definition"             end
label_IfExpression(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 63
def label_IfExpression o                ; "'if' statement"                    end
label_InExpression(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 32
def label_InExpression o                ; "'in' expression"                   end
label_Integer(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 77
def label_Integer o                     ; "Integer"                           end
label_KeyedEntry(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 37
def label_KeyedEntry o                  ; "Hash Entry"                        end
label_LambdaExpression(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 42
def label_LambdaExpression o            ; "Lambda"                            end
label_LiteralBoolean(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 38
def label_LiteralBoolean o              ; "Boolean"                           end
label_LiteralDefault(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 43
def label_LiteralDefault o              ; "'default' expression"              end
label_LiteralFloat(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 20
def label_LiteralFloat o                ; "Literal Float"                     end
label_LiteralHash(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 36
def label_LiteralHash o                 ; "Hash Expression"                   end
label_LiteralInteger(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 19
def label_LiteralInteger o              ; "Literal Integer"                   end
label_LiteralList(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 35
def label_LiteralList o                 ; "Array Expression"                  end
label_LiteralRegularExpression(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 45
def label_LiteralRegularExpression o    ; "Regular Expression"                end
label_LiteralString(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 41
def label_LiteralString o               ; "String"                            end
label_LiteralUndef(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 44
def label_LiteralUndef o                ; "'undef' expression"                end
label_MatchExpression(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 23
def label_MatchExpression o             ; "'#{o.operator}' expression"        end
label_NamedAccessExpression(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 47
def label_NamedAccessExpression o       ; "'.' expression"                    end
label_NilClass(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 48
def label_NilClass o                    ; "Undef Value"                       end
label_NodeDefinition(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 58
def label_NodeDefinition o              ; "Node Definition"                   end
label_Nop(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 46
def label_Nop o                         ; "Nop Expression"                    end
label_NotExpression(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 49
def label_NotExpression o               ; "'not' expression"                  end
label_Object(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 83
def label_Object o                      ; "Object"                            end
label_OrExpression(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 31
def label_OrExpression o                ; "'or' expression"                   end
label_PAnyType(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 87
def label_PAnyType o                    ; "#{Puppet::Pops::Types::TypeCalculator.string(o)}-Type" end
label_PResourceType(o) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 90
def label_PResourceType o
  if o.title
    "#{Puppet::Pops::Types::TypeCalculator.string(o)} Resource-Reference"
  else
    "#{Puppet::Pops::Types::TypeCalculator.string(o)}-Type"
  end
end
label_Parameter(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 61
def label_Parameter o                   ; "Parameter Definition"              end
label_ParenthesizedExpression(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 62
def label_ParenthesizedExpression o     ; "Parenthesized Expression"          end
label_QualifiedName(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 85
def label_QualifiedName o               ; "Name"                              end
label_QualifiedReference(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 86
def label_QualifiedReference o          ; "Type-Name"                         end
label_QueryExpression(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 28
def label_QueryExpression o             ; "Collect Query"                     end
label_Regexp(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 82
def label_Regexp o                      ; "Regexp"                            end
label_RelationshipExpression(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 71
def label_RelationshipExpression o      ; "'#{o.operator}' expression"        end
label_RenderExpression(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 70
def label_RenderExpression o            ; "Epp Interpolated Expression"       end
label_RenderStringExpression(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 69
def label_RenderStringExpression o      ; "Epp Text"                          end
label_ReservedWord(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 88
def label_ReservedWord o                ; "Reserved Word '#{o.word}'"         end
label_ResourceBody(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 72
def label_ResourceBody o                ; "Resource Instance Definition"      end
label_ResourceDefaultsExpression(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 73
def label_ResourceDefaultsExpression o  ; "Resource Defaults Expression"      end
label_ResourceExpression(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 74
def label_ResourceExpression o          ; "Resource Statement"                end
label_ResourceOverrideExpression(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 60
def label_ResourceOverrideExpression o  ; "Resource Override"                 end
label_ResourceTypeDefinition(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 59
def label_ResourceTypeDefinition o      ; "'define' expression"               end
label_SelectorEntry(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 76
def label_SelectorEntry o               ; "Selector Option"                   end
label_SelectorExpression(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 75
def label_SelectorExpression o          ; "Selector Expression"               end
label_String(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 81
def label_String o                      ; "String"                            end
label_TextExpression(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 51
def label_TextExpression o              ; "Expression in Interpolated String" end
label_TrueClass(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 39
def label_TrueClass o                   ; "Boolean"                           end
label_UnaryMinusExpression(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 52
def label_UnaryMinusExpression o        ; "Unary Minus"                       end
label_UnfoldExpression(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 53
def label_UnfoldExpression o            ; "Unfold"                            end
label_UnlessExpression(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 64
def label_UnlessExpression o            ; "'unless' Statement"                end
label_VariableExpression(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 50
def label_VariableExpression o          ; "Variable"                          end
label_VirtualQuery(o ;) click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 27
def label_VirtualQuery o                ; "Virtual Query"                     end

Public Class Methods

new() click to toggle source
# File lib/puppet/pops/model/model_label_provider.rb, line 6
def initialize
  @@label_visitor ||= Puppet::Pops::Visitor.new(self,"label",0,0)
end