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.



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

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 = -> { "<null:#{class_to_mimic}>" }
  builder.interface_defined = true
end

Instance Attribute Details

#class_to_mimicObject (readonly)

Returns the value of attribute class_to_mimic.



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

def class_to_mimic
  @class_to_mimic
end

#include_superObject (readonly)

Returns the value of attribute include_super.



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

def include_super
  @include_super
end

Instance Method Details

#callObject



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

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