Module: Specifier

Defined in:
lib/specifier.rb,
lib/specifier/cli.rb,
lib/specifier/world.rb,
lib/specifier/config.rb,
lib/specifier/logger.rb,
lib/specifier/runner.rb,
lib/specifier/context.rb,
lib/specifier/example.rb,
lib/specifier/version.rb,
lib/specifier/memoizer.rb,
lib/specifier/colorizer.rb,
lib/specifier/formatter.rb,
lib/specifier/formatter.rb,
lib/specifier/definition.rb,
lib/specifier/expectation.rb,
lib/specifier/matcher/base.rb,
lib/specifier/matcher/equal.rb,
lib/specifier/formatter/base.rb,
lib/specifier/formatter/progress.rb,
lib/specifier/formatter/documentation.rb

Defined Under Namespace

Modules: Colorizer, Formatter, Matcher Classes: CLI, Config, Context, Definition, Example, Expectation, Logger, Memoizer, Runner, World

Constant Summary collapse

VERSION =
'1.0.1'.freeze

Class Method Summary collapse

Class Method Details

.configObject



32
33
34
# File 'lib/specifier.rb', line 32

def self.config
  @config ||= Config.new
end

.contextsObject



20
21
22
# File 'lib/specifier.rb', line 20

def self.contexts
  @contexts ||= []
end

.formatterObject



40
41
42
# File 'lib/specifier.rb', line 40

def self.formatter
  @formatter ||= Formatter.formatters[config.formatter || Specifier::Formatter::DEFAULT].new(logger)
end

.loggerObject



36
37
38
# File 'lib/specifier.rb', line 36

def self.logger
  @logger ||= Logger.new
end

.runObject



28
29
30
# File 'lib/specifier.rb', line 28

def self.run
  contexts.each(&:run)
end

.specify(scope, &block) ⇒ Object



24
25
26
# File 'lib/specifier.rb', line 24

def self.specify(scope, &block)
  contexts << Context.setup(scope, &block)
end