Class: AbideDevUtils::Ppt::CodeIntrospection::Parameter
  
  
  
  Instance Attribute Summary collapse
  
  
    
      Instance Method Summary
      collapse
    
    
  
  
  
  
  
  
  
  
  
  
  #display_type_expr, #display_type_expr_with_entries, #display_type_expr_with_left_expr, #display_value, #infer_data_type
  Constructor Details
  
    
  
  
    #initialize(param_ast)  ⇒ Parameter 
  
  
  
  
    
Returns a new instance of Parameter.
   
 
  
  
    
      
62
63
64 
     | 
    
      # File 'lib/abide_dev_utils/ppt/code_introspection.rb', line 62
def initialize(param_ast)
  @ast = param_ast
end 
     | 
  
 
  
 
  
    Instance Attribute Details
    
      
      
      
  
  
    #ast  ⇒ Object  
  
  
  
  
    
Returns the value of attribute ast.
   
 
  
  
    
      
60
61
62 
     | 
    
      # File 'lib/abide_dev_utils/ppt/code_introspection.rb', line 60
def ast
  @ast
end 
     | 
  
 
    
   
  
    Instance Method Details
    
      
  
  
    #name(raw: false)  ⇒ Object 
  
  
  
  
    
      
85
86
87
88
89 
     | 
    
      # File 'lib/abide_dev_utils/ppt/code_introspection.rb', line 85
def name(raw: false)
  return ast.name if raw
  "$#{ast.name}"
end
     | 
  
 
    
      
  
  
    #to_a(raw: false)  ⇒ Object 
  
  
  
  
    
      
66
67
68 
     | 
    
      # File 'lib/abide_dev_utils/ppt/code_introspection.rb', line 66
def to_a(raw: false)
  [type_expr(raw: raw), name(raw: raw), value(raw: raw)]
end 
     | 
  
 
    
      
  
  
    #to_h(raw: false)  ⇒ Object 
  
  
  
  
    
      
70
71
72
73
74
75
76 
     | 
    
      # File 'lib/abide_dev_utils/ppt/code_introspection.rb', line 70
def to_h(raw: false)
  {
    type_expr: type_expr(raw: raw),
    name: name(raw: raw),
    value: value(raw: raw),
  }
end
     | 
  
 
    
      
  
  
    #to_s(raw: false)  ⇒ Object 
  
  
  
  
    
      
78
79
80
81
82
83 
     | 
    
      # File 'lib/abide_dev_utils/ppt/code_introspection.rb', line 78
def to_s(raw: false)
  stra = [type_expr(raw: raw), name(raw: raw)]
  stra << '=' if value? && !raw
  stra << value(raw: raw)
  stra.compact.join(' ')
end
     | 
  
 
    
      
  
  
    #type_expr(raw: false)  ⇒ Object 
  
  
  
  
    
      
106
107
108
109
110
111 
     | 
    
      # File 'lib/abide_dev_utils/ppt/code_introspection.rb', line 106
def type_expr(raw: false)
  return unless type_expr?
  return ast.type_expr if raw
  display_type_expr(ast)
end 
     | 
  
 
    
      
  
  
    #type_expr?  ⇒ Boolean 
  
  
  
  
    
      
102
103
104 
     | 
    
      # File 'lib/abide_dev_utils/ppt/code_introspection.rb', line 102
def type_expr?
  ast.respond_to? :type_expr
end 
     | 
  
 
    
      
  
  
    #value(raw: false)  ⇒ Object 
  
  
  
  
    
      
95
96
97
98
99
100 
     | 
    
      # File 'lib/abide_dev_utils/ppt/code_introspection.rb', line 95
def value(raw: false)
  return unless value?
  return ast.value if raw
  display_value(ast)
end 
     | 
  
 
    
      
  
  
    #value?  ⇒ Boolean 
  
  
  
  
    
      
91
92
93 
     | 
    
      # File 'lib/abide_dev_utils/ppt/code_introspection.rb', line 91
def value?
  ast.respond_to? :value
end 
     |