Module: Naught

Defined in:
lib/naught.rb,
lib/naught/version.rb,
lib/naught/caller_info.rb,
lib/naught/chain_proxy.rb,
lib/naught/conversions.rb,
lib/naught/basic_object.rb,
lib/naught/call_location.rb,
lib/naught/stub_strategy.rb,
lib/naught/null_class_builder.rb,
lib/naught/null_class_builder/command.rb,
lib/naught/null_class_builder/commands/mimic.rb,
lib/naught/null_class_builder/commands/pebble.rb,
lib/naught/null_class_builder/commands/callstack.rb,
lib/naught/null_class_builder/commands/singleton.rb,
lib/naught/null_class_builder/commands/traceable.rb,
lib/naught/null_class_builder/commands/impersonate.rb,
lib/naught/null_class_builder/commands/null_safe_proxy.rb,
lib/naught/null_class_builder/commands/predicates_return.rb,
lib/naught/null_class_builder/commands/define_explicit_conversions.rb,
lib/naught/null_class_builder/commands/define_implicit_conversions.rb

Overview

Top-level namespace for Naught

Defined Under Namespace

Modules: CallerInfo, Conversions, NullObjectTag, NullSafeProxyTag, StubStrategy Classes: BasicObject, CallLocation, ChainProxy, NullClassBuilder

Constant Summary collapse

VERSION =

Gem version

"2.3.0"

Class Method Summary collapse

Class Method Details

.build {|builder| ... } ⇒ Class

Build a null object class using the builder DSL

Examples:

NullObject = Naught.build { |b| b.black_hole }

Yield Parameters:

Returns:

  • (Class)

    generated null class



26
27
28
29
30
# File 'lib/naught.rb', line 26

def self.build(&)
  builder = NullClassBuilder.new
  builder.customize(&)
  builder.generate_class
end