class Transpec::Syntax::Example

Public Instance Methods

convert_pending_to_skip!() click to toggle source
# File lib/transpec/syntax/example.rb, line 22
def convert_pending_to_skip!
  convert_pending_selector_to_skip!
  convert_pending_metadata_to_skip!
end
description?() click to toggle source
# File lib/transpec/syntax/example.rb, line 27
def description?
  !arg_node.nil?
end
dynamic_analysis_target?() click to toggle source
# File lib/transpec/syntax/example.rb, line 14
def dynamic_analysis_target?
  super && receiver_node.nil? && EXAMPLE_METHODS.include?(method_name)
end
should_be_in_example_group_context?() click to toggle source
# File lib/transpec/syntax/example.rb, line 18
def should_be_in_example_group_context?
  true
end

Private Instance Methods

convert_pending_metadata_to_skip!() click to toggle source
# File lib/transpec/syntax/example.rb, line 39
def convert_pending_metadata_to_skip!
  metadata_key_nodes.each do |node|
    next unless pending_symbol?(node)
    replace(symbol_range_without_colon(node), 'skip')
    if node.parent.pair_type?
      add_record("it 'is an example', :pending => value { }",
                 "it 'is an example', :skip => value { }")
    else
      add_record("it 'is an example', :pending { }",
                 "it 'is an example', :skip { }")
    end
  end
end
convert_pending_selector_to_skip!() click to toggle source
# File lib/transpec/syntax/example.rb, line 33
def convert_pending_selector_to_skip!
  return unless method_name == :pending
  replace(selector_range, 'skip')
  add_record("pending 'is an example' { }", "skip 'is an example' { }")
end
pending_symbol?(node) click to toggle source
# File lib/transpec/syntax/example.rb, line 53
def pending_symbol?(node)
  return false unless node.sym_type?
  key = node.children.first
  key == :pending
end
symbol_range_without_colon(node) click to toggle source
# File lib/transpec/syntax/example.rb, line 59
def symbol_range_without_colon(node)
  range = node.loc.expression
  if range.source.start_with?(':')
    Parser::Source::Range.new(range.source_buffer, range.begin_pos + 1, range.end_pos)
  else
    range
  end
end