class SystemNavigation::InstructionStream::Instruction::AttrInstruction

Attributes

method[R]
visitor[RW]

Public Class Methods

attrreaderinstr(instr, sym) click to toggle source
# File lib/system_navigation/instruction_stream/instruction/attr_instruction.rb, line 10
def self.attrreaderinstr(instr, sym)
  instr.accept(AttrReaderInstruction.new(sym)) && instr.parse
end
attrwriterinstr(instr, sym) click to toggle source
# File lib/system_navigation/instruction_stream/instruction/attr_instruction.rb, line 14
def self.attrwriterinstr(instr, sym)
  instr.accept(AttrWriterInstruction.new(sym)) && instr.parse
end
new(method) click to toggle source
# File lib/system_navigation/instruction_stream/instruction/attr_instruction.rb, line 21
def initialize(method)
  @method = method
end
parse(method, sym) click to toggle source
# File lib/system_navigation/instruction_stream/instruction/attr_instruction.rb, line 5
def self.parse(method, sym)
  instr = self.new(method)
  self.attrreaderinstr(instr, sym) || self.attrwriterinstr(instr, sym)
end

Public Instance Methods

accept(visitor) click to toggle source
# File lib/system_navigation/instruction_stream/instruction/attr_instruction.rb, line 25
def accept(visitor)
  visitor.visit(self)
end
parse() click to toggle source
# File lib/system_navigation/instruction_stream/instruction/attr_instruction.rb, line 29
def parse
  [self.visitor]
end

Private Instance Methods

convert_accessor_to_name(sym) click to toggle source
# File lib/system_navigation/instruction_stream/instruction/attr_instruction.rb, line 35
def convert_accessor_to_name(sym)
  sym.to_s.tr('@', '').downcase
end