Class: Kapusta::HashLit

Inherits:
Object
  • Object
show all
Defined in:
lib/kapusta/ast.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(entries) ⇒ HashLit

Returns a new instance of HashLit.



100
101
102
103
# File 'lib/kapusta/ast.rb', line 100

def initialize(entries)
  @entries = entries
  @multiline_source = false
end

Instance Attribute Details

#columnObject

Returns the value of attribute column.



98
99
100
# File 'lib/kapusta/ast.rb', line 98

def column
  @column
end

#entriesObject (readonly)

Returns the value of attribute entries.



97
98
99
# File 'lib/kapusta/ast.rb', line 97

def entries
  @entries
end

#lineObject

Returns the value of attribute line.



98
99
100
# File 'lib/kapusta/ast.rb', line 98

def line
  @line
end

#multiline_sourceObject

Returns the value of attribute multiline_source.



98
99
100
# File 'lib/kapusta/ast.rb', line 98

def multiline_source
  @multiline_source
end

Instance Method Details

#all_sym_keys?Boolean

Returns:

  • (Boolean)


113
114
115
# File 'lib/kapusta/ast.rb', line 113

def all_sym_keys?
  pairs.any? && pairs.all? { |key, _| key.is_a?(Symbol) }
end

#inspectObject



105
106
107
# File 'lib/kapusta/ast.rb', line 105

def inspect
  pairs.map { |k, v| "#{k.inspect} #{v.inspect}" }.then { |p| "{#{p.join(' ')}}" }
end

#pairsObject



109
110
111
# File 'lib/kapusta/ast.rb', line 109

def pairs
  @entries.grep(Array)
end