Class: TextFSM::Rule
- Inherits:
-
Object
- Object
- TextFSM::Rule
- Defined in:
- lib/textfsm/rule.rb
Constant Summary collapse
- OPERATIONS =
(LINE_ACTIONS.keys + RECORD_ACTIONS.keys).freeze
Instance Attribute Summary collapse
-
#error_message ⇒ Object
readonly
Returns the value of attribute error_message.
-
#line_action ⇒ Object
readonly
Returns the value of attribute line_action.
-
#line_number ⇒ Object
readonly
Returns the value of attribute line_number.
-
#next_state ⇒ Object
readonly
Returns the value of attribute next_state.
-
#pattern ⇒ Object
readonly
Returns the value of attribute pattern.
-
#record_action ⇒ Object
readonly
Returns the value of attribute record_action.
-
#source ⇒ Object
readonly
Returns the value of attribute source.
Instance Method Summary collapse
-
#initialize(line, line_number:, fields:) ⇒ Rule
constructor
A new instance of Rule.
- #to_s ⇒ Object
Constructor Details
#initialize(line, line_number:, fields:) ⇒ Rule
Returns a new instance of Rule.
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/textfsm/rule.rb', line 21 def initialize(line, line_number:, fields:) @line_number = line_number @line_action = :next @record_action = :no_record @next_state = @error_message = nil @action_source = "" line = line.strip action = /\A(.*)\s->(.*)\z/.match(line) @source = (action ? action[1] : line).freeze @pattern = Pattern.new(substitute(@source, fields)) parse_action(action[2]) if action freeze rescue TemplateError => e raise TemplateError, "#{e.}. Line: #{@line_number}." end |
Instance Attribute Details
#error_message ⇒ Object (readonly)
Returns the value of attribute error_message.
19 20 21 |
# File 'lib/textfsm/rule.rb', line 19 def @error_message end |
#line_action ⇒ Object (readonly)
Returns the value of attribute line_action.
19 20 21 |
# File 'lib/textfsm/rule.rb', line 19 def line_action @line_action end |
#line_number ⇒ Object (readonly)
Returns the value of attribute line_number.
19 20 21 |
# File 'lib/textfsm/rule.rb', line 19 def line_number @line_number end |
#next_state ⇒ Object (readonly)
Returns the value of attribute next_state.
19 20 21 |
# File 'lib/textfsm/rule.rb', line 19 def next_state @next_state end |
#pattern ⇒ Object (readonly)
Returns the value of attribute pattern.
19 20 21 |
# File 'lib/textfsm/rule.rb', line 19 def pattern @pattern end |
#record_action ⇒ Object (readonly)
Returns the value of attribute record_action.
19 20 21 |
# File 'lib/textfsm/rule.rb', line 19 def record_action @record_action end |
#source ⇒ Object (readonly)
Returns the value of attribute source.
19 20 21 |
# File 'lib/textfsm/rule.rb', line 19 def source @source end |
Instance Method Details
#to_s ⇒ Object
37 38 39 |
# File 'lib/textfsm/rule.rb', line 37 def to_s " #{@source}#{" -> #{@action_source}" unless @action_source.empty?}" end |