Class: Ast::Merge::AstNode::Point

Inherits:
Struct
  • Object
show all
Defined in:
lib/ast/merge/ast_node.rb

Overview

Point class compatible with TreeHaver::Point Provides both method and hash-style access to row/column

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#columnObject

Returns the value of attribute column

Returns:

  • (Object)

    the current value of column



47
48
49
# File 'lib/ast/merge/ast_node.rb', line 47

def column
  @column
end

#rowObject

Returns the value of attribute row

Returns:

  • (Object)

    the current value of row



47
48
49
# File 'lib/ast/merge/ast_node.rb', line 47

def row
  @row
end

Instance Method Details

#[](key) ⇒ Object

Hash-like access for compatibility



49
50
51
52
53
54
# File 'lib/ast/merge/ast_node.rb', line 49

def [](key)
  case key
  when :row, "row" then row
  when :column, "column" then column
  end
end

#inspectObject



64
65
66
# File 'lib/ast/merge/ast_node.rb', line 64

def inspect
  "#<Ast::Merge::AstNode::Point row=#{row} column=#{column}>"
end

#to_hObject



56
57
58
# File 'lib/ast/merge/ast_node.rb', line 56

def to_h
  {row: row, column: column}
end

#to_sObject



60
61
62
# File 'lib/ast/merge/ast_node.rb', line 60

def to_s
  "(#{row}, #{column})"
end