class Bogus::FakesClasses

Public Instance Methods

fake(klass, opts = {}) click to toggle source
# File lib/bogus/fakes/fakes_classes.rb, line 7
def fake(klass, opts = {})
  opts = opts.merge(as: :class)
  name = opts.delete(:fake_name) || underscore(klass.name.split('::').last).to_sym
  fake = creates_fakes_with_stubbed_methods.create(name, opts) { klass }
  overwrites_classes.overwrite(klass.name, fake)
  overwritten_classes.add(klass.name, klass)
end

Private Instance Methods

underscore(str) click to toggle source
# File lib/bogus/fakes/fakes_classes.rb, line 17
def underscore(str)
  str.gsub(/[A-Z]/) { |s| "_" + s.downcase }.gsub(/^_/, '')
end