Parent

Included Modules

Class/Module Index [+]

Quicksearch

RSpec::Core::World

Attributes

example_groups[R]
filtered_examples[R]
wants_to_quit[RW]

Public Class Methods

new(configuration=RSpec.configuration) click to toggle source
# File lib/rspec/core/world.rb, line 31
def initialize(configuration=RSpec.configuration)
  @configuration = configuration
  @example_groups = []
  @filtered_examples = Hash.new { |hash,group|
    hash[group] = begin
      examples = group.examples.dup
      examples = apply_exclusion_filters(examples, exclusion_filter)
      examples = apply_inclusion_filters(examples, inclusion_filter)
      examples.uniq
    end
  }
end

Public Instance Methods

announce_exclusion_filter(announcements) click to toggle source
# File lib/rspec/core/world.rb, line 130
def announce_exclusion_filter(announcements)
  unless exclusion_filter.empty_without_conditional_filters?
    announcements << "excluding #{exclusion_filter.description}"
  end
end
announce_filters() click to toggle source
# File lib/rspec/core/world.rb, line 93
def announce_filters
  filter_announcements = []

  if @configuration.run_all_when_everything_filtered? && example_count.zero?
    reporter.message( "No examples matched #{inclusion_filter.description}. Running all.")
    filtered_examples.clear
    @configuration.clear_inclusion_filter
  end

  announce_inclusion_filter filter_announcements
  announce_exclusion_filter filter_announcements

  if example_count.zero?
    example_groups.clear
    if filter_announcements.empty?
      reporter.message("No examples found.")
    elsif !inclusion_filter.empty?
      message = "No examples matched #{inclusion_filter.description}."
      if @configuration.run_all_when_everything_filtered?
        message << " Running all."
      end
      reporter.message(message)
    elsif !exclusion_filter.empty?
      reporter.message(
        "No examples were matched. Perhaps #{exclusion_filter.description} is excluding everything?")
    end
  elsif !filter_announcements.empty?
    reporter.message("Run filtered #{filter_announcements.join(', ')}")
  end
end
announce_inclusion_filter(announcements) click to toggle source
# File lib/rspec/core/world.rb, line 124
def announce_inclusion_filter(announcements)
  unless inclusion_filter.empty?
    announcements << "including #{inclusion_filter.description}"
  end
end
apply_exclusion_filters(examples, conditions={}) click to toggle source
# File lib/rspec/core/world.rb, line 79
def apply_exclusion_filters(examples, conditions={})
  examples.reject(&apply?(:any?, conditions))
end
apply_inclusion_filters(examples, conditions={}) click to toggle source
# File lib/rspec/core/world.rb, line 73
def apply_inclusion_filters(examples, conditions={})
  examples.select(&apply?(:any?, conditions))
end
Also aliased as: find
configure_group(group) click to toggle source
# File lib/rspec/core/world.rb, line 61
def configure_group(group)
  @configuration.configure_group(group)
end
example_count() click to toggle source
# File lib/rspec/core/world.rb, line 69
def example_count
  example_groups.collect {|g| g.descendants}.flatten.inject(0) { |sum, g| sum += g.filtered_examples.size }
end
exclusion_filter() click to toggle source
# File lib/rspec/core/world.rb, line 57
def exclusion_filter
  @configuration.exclusion_filter.extend(Describable)
end
find(examples, conditions={}) click to toggle source
find_hook(hook, scope, group, example = nil) click to toggle source
# File lib/rspec/core/world.rb, line 136
def find_hook(hook, scope, group, example = nil)
  @configuration.find_hook(hook, scope, group, example)
end
inclusion_filter() click to toggle source
# File lib/rspec/core/world.rb, line 53
def inclusion_filter
  @configuration.inclusion_filter.extend(Describable)
end
preceding_declaration_line(filter_line) click to toggle source
# File lib/rspec/core/world.rb, line 83
def preceding_declaration_line(filter_line)
  declaration_line_numbers.sort.inject(nil) do |highest_prior_declaration_line, line|
    line <= filter_line ? line : highest_prior_declaration_line
  end
end
register(example_group) click to toggle source
# File lib/rspec/core/world.rb, line 48
def register(example_group)
  example_groups << example_group
  example_group
end
reporter() click to toggle source
# File lib/rspec/core/world.rb, line 89
def reporter
  @configuration.reporter
end
reset() click to toggle source
# File lib/rspec/core/world.rb, line 44
def reset
  example_groups.clear
end
shared_example_groups() click to toggle source
# File lib/rspec/core/world.rb, line 65
def shared_example_groups
  @shared_example_groups ||= {}
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.