Class: Rubyzen::Collections::CallSiteCollection

Inherits:
BaseCollection
  • Object
show all
Includes:
Providers::CollectionFilterProvider
Defined in:
lib/rubyzen/collections/call_site_collection.rb

Overview

Collection of method call sites found in classes, methods, or blocks.

Examples:

Ensuring controllers do not call .where directly

expect(controllers.that { have_call_sites_with_names('.where') }).to zen_empty

Instance Method Summary collapse

Methods included from Providers::CollectionFilterProvider

#with_name_ending_with, #with_name_including, #with_name_starting_with, #without_name, #without_name_ending_with, #without_name_including, #without_name_starting_with

Methods inherited from BaseCollection

#filter

Instance Method Details

#with_keyword_arg(keyword_arg) ⇒ CallSiteCollection

Filters call sites that include the given keyword argument.

Parameters:

  • keyword_arg (Symbol)

    the keyword argument to match

Returns:



47
48
49
# File 'lib/rubyzen/collections/call_site_collection.rb', line 47

def with_keyword_arg(keyword_arg)
  filter { |call_site| call_site.keyword_args.include?(keyword_arg) }
end

#with_method_name(method_name) ⇒ CallSiteCollection

Alias for #with_name.

Parameters:

  • method_name (String)

    the method name to match

Returns:



31
32
33
# File 'lib/rubyzen/collections/call_site_collection.rb', line 31

def with_method_name(method_name)
  with_name(method_name)
end

#with_name(name) ⇒ CallSiteCollection

Filters call sites by method name.

Parameters:

  • name (String)

    the method name to match

Returns:



23
24
25
# File 'lib/rubyzen/collections/call_site_collection.rb', line 23

def with_name(name)
  filter { |call_site| call_site.name == name }
end

#with_receiver(receiver) ⇒ CallSiteCollection

Filters call sites by the receiver expression.

Parameters:

  • receiver (String)

    the receiver to match

Returns:



15
16
17
# File 'lib/rubyzen/collections/call_site_collection.rb', line 15

def with_receiver(receiver)
  filter { |call_site| call_site.receiver == receiver }
end

#with_symbol(symbol) ⇒ CallSiteCollection

Filters call sites that include the given symbol argument.

Parameters:

  • symbol (Symbol)

    the symbol argument to match

Returns:



39
40
41
# File 'lib/rubyzen/collections/call_site_collection.rb', line 39

def with_symbol(symbol)
  filter { |call_site| call_site.symbols.include?(symbol) }
end