Class: Transpec::Syntax::Its
Defined Under Namespace
Classes: Attribute, AttributeExpression
Constant Summary
Constants included
from Util
Util::LITERAL_TYPES, Util::WHITESPACES
Instance Method Summary
collapse
#insert_description!
#block_beginning_line, #block_body_line, #block_body_node, #block_body_range, #block_end_line, #block_has_body?, #convert_singleline_block_to_multiline!, #range_between_block_begin_and_body, #range_between_block_body_and_end
#arg_node, #arg_nodes, #arg_range, #args_range, #method_name, #parentheses_range, #range_after_arg, #range_in_between_receiver_and_selector, #range_in_between_selector_and_arg, #receiver_node, #receiver_range, #selector_range
Methods included from Util
beginning_of_line_range, block_node_taken_by_method, chainable_source, const_name, contain_here_document?, each_backward_chained_node, each_forward_chained_node, each_line_range, expand_range_to_adjacent_whitespaces, find_consecutive_whitespace_position, first_block_arg_name, here_document?, in_explicit_parentheses?, indentation_of_line, line_range, literal?, proc_literal?, range_from_arg
Instance Method Details
#attribute_expression ⇒ Object
42
43
44
|
# File 'lib/transpec/syntax/its.rb', line 42
def attribute_expression
@attribute_expression ||= AttributeExpression.new(attribute_node)
end
|
#attributes ⇒ Object
46
47
48
|
# File 'lib/transpec/syntax/its.rb', line 46
def attributes
attribute_expression.attributes
end
|
#block_node ⇒ Object
52
53
54
|
# File 'lib/transpec/syntax/its.rb', line 52
def block_node
node.parent_node
end
|
#conversion_target? ⇒ Boolean
23
24
25
|
# File 'lib/transpec/syntax/its.rb', line 23
def conversion_target?
super && !runtime_data[node, :project_requires_its?]
end
|
#convert_to_describe_subject_it! ⇒ Object
27
28
29
30
31
32
33
34
35
36
|
# File 'lib/transpec/syntax/its.rb', line 27
def convert_to_describe_subject_it!
insert_before(beginning_of_line_range(block_node), front_code)
insert_before(expression_range, additional_indentation_for_it)
replace(range_from_its_to_front_of_block, 'it ')
insert_after(block_node.loc.expression, rear_code)
increment_block_base_indentation!
add_record
end
|
#description? ⇒ Boolean
56
57
58
|
# File 'lib/transpec/syntax/its.rb', line 56
def description?
false
end
|
#dynamic_analysis_target? ⇒ Boolean
19
20
21
|
# File 'lib/transpec/syntax/its.rb', line 19
def dynamic_analysis_target?
super && receiver_node.nil? && method_name == :its
end
|
#insert_blank_line_above! ⇒ Object
38
39
40
|
# File 'lib/transpec/syntax/its.rb', line 38
def insert_blank_line_above!
insert_before(line_range(node), "\n")
end
|