Class: Concordion::Processor

Inherits:
Object
  • Object
show all
Includes:
Utility
Defined in:
lib/concordion/processor.rb

Instance Method Summary collapse

Methods included from Utility

#concordion_arguments, #concordion_cmd_attr_exists?, #concordion_cmd_attr_for, #concordion_property_reference, #concordion_variable_name, #has_property_reference?, #instrumentation

Methods included from StringUtility

#assignment, #attr_writer_method?, #concordion_assignment, #concordion_method_name, #ends_in_empty_parens?, #escape_single_quotes, #has_arguments?, #has_assignment?, #is_direct_method_call?

Methods included from PluralToSingularUtility

#singular

Methods included from SnakeCaseUtility

#snake_case, #snake_cased_goldmaster_name, #snake_cased_test_name

Methods included from Constants

#concordion_command_attributes, #supported?

Constructor Details

#initialize(concordion, decorator) ⇒ Processor

Returns a new instance of Processor.



7
8
9
10
# File 'lib/concordion/processor.rb', line 7

def initialize(concordion, decorator)
  @concordion = concordion
  @decorator = decorator
end

Instance Method Details

#create_parse_result(tag, attr, value) ⇒ Object



20
21
22
# File 'lib/concordion/processor.rb', line 20

def create_parse_result(tag, attr, value)
  Concordion::ParseResult.new(instrumentation(attr), value, tag.inner_text, tag)
end

#process(tag, test_context) ⇒ Object



12
13
14
15
16
17
18
# File 'lib/concordion/processor.rb', line 12

def process(tag, test_context)
  attr = concordion_cmd_attr_for(tag)
  instrumented_value = tag.get_attribute(attr)
  cpr = create_parse_result(tag, attr, instrumented_value)
  rv = @concordion.evaluate(cpr, test_context, self)
  @decorator.decorate_tag(rv, tag, cpr)
end