class Bogus::CreatesFakes
Public Instance Methods
create(name, opts = {}, &block)
click to toggle source
# File lib/bogus/fakes/creates_fakes.rb, line 9 def create(name, opts = {}, &block) klass = self.klass(name, &block) duck = make_duck(klass) klass_copy = copies_classes.copy(duck) mode = opts.fetch(:as, :instance) case mode when :instance return klass_copy.__create__ when :class return klass_copy else raise UnknownMode.new("Unknown fake creation mode: #{mode}. Allowed values are :instance, :class") end end
Protected Instance Methods
klass(name, &block)
click to toggle source
# File lib/bogus/fakes/creates_fakes.rb, line 28 def klass(name, &block) return block.call if block_given? converts_name_to_class.convert(name) end
make_duck(klass)
click to toggle source
# File lib/bogus/fakes/creates_fakes.rb, line 33 def make_duck(klass) return klass unless klass.is_a?(Array) makes_ducks.make(*klass) end