Module: Transpec::Syntax::Mixin::Metadata
- Extended by:
- ActiveSupport::Concern
- Includes:
- Send
- Included in:
- Example, ExampleGroup
- Defined in:
- lib/transpec/syntax/mixin/metadata.rb
Instance Method Summary collapse
Methods included from Send
#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 Send::TargetDetection
#conversion_target?, #dynamic_analysis_target?
Instance Method Details
#metadata_key_nodes ⇒ Object
26 27 28 29 30 31 32 33 34 |
# File 'lib/transpec/syntax/mixin/metadata.rb', line 26 def .each_with_object([]) do |node, key_nodes| if node.hash_type? key_nodes.concat(node.children.map { |pair_node| pair_node.children.first }) else key_nodes << node end end end |
#metadata_nodes ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/transpec/syntax/mixin/metadata.rb', line 13 def return arg_nodes if arg_nodes.empty? # The first argument must be always description. non_description_arg_nodes = arg_nodes.drop(1) non_description_arg_nodes.drop_while do |node| # Possibly there still may be descriptions after the first arg. # describe 'something', '#some_method', :foo, bar: true { } ![:hash, :sym].include?(node.type) end end |