Class: Transpec::StaticContextInspector
- Inherits:
-
Object
- Object
- Transpec::StaticContextInspector
- Includes:
- Util
- Defined in:
- lib/transpec/static_context_inspector.rb
Defined Under Namespace
Modules: ArrayExtension
Constant Summary collapse
- SCOPE_TYPES =
[:module, :class, :sclass, :def, :defs, :block].freeze
- EXAMPLE_GROUP_METHODS =
[ :describe, :context, :shared_examples, :shared_context, :share_examples_for, :shared_examples_for ].freeze
- EXAMPLE_METHODS =
[ :example, :it, :specify, :focus, :focused, :fit, :pending, :xexample, :xit, :xspecify ].freeze
- HOOK_METHODS =
[:before, :after, :around].freeze
- HELPER_METHODS =
[:subject, :subject!, :let, :let!]
- NON_MONKEY_PATCH_EXPECTATION_AVAILABLE_CONTEXT =
[ [:example_group, :example], [:example_group, :each_before_after], [:example_group, :all_before_after], [:example_group, :around], [:example_group, :helper], [:example_group, :def], [:rspec_configure, :each_before_after], [:rspec_configure, :all_before_after], [:rspec_configure, :around], [:rspec_configure, :def], [:module, :def] ].freeze
- NON_MONKEY_PATCH_MOCK_AVAILABLE_CONTEXT =
[ [:example_group, :example], [:example_group, :each_before_after], [:example_group, :helper], [:example_group, :def], [:rspec_configure, :each_before_after], [:rspec_configure, :def], [:module, :def] ].freeze
Constants included from Util
Instance Attribute Summary collapse
-
#node ⇒ Object
readonly
Returns the value of attribute node.
Instance Method Summary collapse
-
#initialize(node) ⇒ StaticContextInspector
constructor
A new instance of StaticContextInspector.
- #non_monkey_patch_expectation_available? ⇒ Boolean (also: #expect_available?)
- #non_monkey_patch_mock_available? ⇒ Boolean (also: #expect_to_receive_available?, #allow_to_receive_available?)
- #scopes ⇒ Object
Methods included from Util
const_name, contain_here_document?, here_document?, in_parentheses?, indentation_of_line, literal?, proc_literal?
Constructor Details
#initialize(node) ⇒ StaticContextInspector
Returns a new instance of StaticContextInspector.
52 53 54 |
# File 'lib/transpec/static_context_inspector.rb', line 52 def initialize(node) @node = node end |
Instance Attribute Details
#node ⇒ Object (readonly)
Returns the value of attribute node.
50 51 52 |
# File 'lib/transpec/static_context_inspector.rb', line 50 def node @node end |
Instance Method Details
#non_monkey_patch_expectation_available? ⇒ Boolean Also known as: expect_available?
64 65 66 67 |
# File 'lib/transpec/static_context_inspector.rb', line 64 def non_monkey_patch_expectation_available? return @expectation_available if instance_variable_defined?(:@expectation_available) @expectation_available = match_scopes(NON_MONKEY_PATCH_EXPECTATION_AVAILABLE_CONTEXT) end |
#non_monkey_patch_mock_available? ⇒ Boolean Also known as: expect_to_receive_available?, allow_to_receive_available?
71 72 73 74 |
# File 'lib/transpec/static_context_inspector.rb', line 71 def non_monkey_patch_mock_available? return @mock_available if instance_variable_defined?(:@mock_available) @mock_available = match_scopes(NON_MONKEY_PATCH_MOCK_AVAILABLE_CONTEXT) end |
#scopes ⇒ Object
56 57 58 59 60 61 62 |
# File 'lib/transpec/static_context_inspector.rb', line 56 def scopes @scopes ||= begin scopes = @node.each_ancestor_node.reverse_each.map { |node| scope_type(node) } scopes.compact! scopes.extend(ArrayExtension) end end |