Class: Naught::NullClassBuilder::Commands::Mimic

Inherits:
Naught::NullClassBuilder::Command show all
Defined in:
lib/naught/null_class_builder/commands/mimic.rb

Direct Known Subclasses

Impersonate

Instance Attribute Summary collapse

Attributes inherited from Naught::NullClassBuilder::Command

#builder

Instance Method Summary collapse

Methods inherited from Naught::NullClassBuilder::Command

#defer

Constructor Details

#initialize(builder, class_to_mimic, options = {}) ⇒ Mimic

Returns a new instance of Mimic.



8
9
10
11
12
13
14
15
16
17
# File 'lib/naught/null_class_builder/commands/mimic.rb', line 8

def initialize(builder, class_to_mimic, options = {})
  super(builder)

  @class_to_mimic = class_to_mimic
  @include_super = options.fetch(:include_super) { true }

  builder.base_class   = root_class_of(class_to_mimic)
  builder.inspect_proc = lambda { "<null:#{class_to_mimic}>" }
  builder.interface_defined = true
end

Instance Attribute Details

#class_to_mimicObject (readonly)

Returns the value of attribute class_to_mimic.



6
7
8
# File 'lib/naught/null_class_builder/commands/mimic.rb', line 6

def class_to_mimic
  @class_to_mimic
end

#include_superObject (readonly)

Returns the value of attribute include_super.



6
7
8
# File 'lib/naught/null_class_builder/commands/mimic.rb', line 6

def include_super
  @include_super
end

Instance Method Details

#callObject



19
20
21
22
23
24
25
# File 'lib/naught/null_class_builder/commands/mimic.rb', line 19

def call
  defer do |subject|
    methods_to_stub.each do |method_name|
      builder.stub_method(subject, method_name)
    end
  end
end