Module: Fakery::Registry

Defined in:
lib/fakery/registry.rb

Class Method Summary collapse

Class Method Details

.build(register_name, with: {}) ⇒ Object

Builds a the fake registered under the name register_name. All its fields can be changed according to the names and values in the with keyword argument or later by using setters on the object.



50
51
52
53
54
55
56
57
58
59
# File 'lib/fakery/registry.rb', line 50

def build(register_name, with: {})
  register_name = register_name.to_sym
  fake = registered_fakes.fetch(register_name).dup
  for (name, value) in with
    fake[name] = value
  end
  fake
rescue KeyError
  raise ArgumentError, "no fake registered under the name #{register_name.inspect}"
end

.clearObject

Clear all registered fakes.



14
15
16
# File 'lib/fakery/registry.rb', line 14

def clear
  registered_fakes.clear
end

.listObject



9
10
11
# File 'lib/fakery/registry.rb', line 9

def list
  registered_fakes.keys
end

.register(register_name, fake) ⇒ Object

Registers fake under name +register_name. (A fake is either a Fakery::Fake instance or a string containing a JSON representation to be faked. If a fake was already registered under this name a warning will be displayed.



27
28
29
30
31
32
33
# File 'lib/fakery/registry.rb', line 27

def register(register_name, fake)
  register_name = register_name.to_sym
  if registered?(register_name)
    warn "WARNING: Overwriting a fake for an already registered name #{register_name.inspect}."
  end
  registered_fakes[register_name] = Fakery::Fake.cast(fake)
end

.register_files(*files) ⇒ Object

Register all files as fakes with their filename as their name.



36
37
38
39
40
41
42
43
44
45
# File 'lib/fakery/registry.rb', line 36

def register_files(*files)
  files = files.flatten
  puts "Registering fakes…"
  for file in files
    name = File.basename(file).sub('.json', '').to_sym
    Fakery.register(name, File.read(file))
    puts "Just registered the fake #{name.inspect}"
  end
  puts "Done."
end

.registered?(name) ⇒ Boolean

Returns true, if there is a fake registered under name name.

Returns:

  • (Boolean)


19
20
21
# File 'lib/fakery/registry.rb', line 19

def registered?(name)
  name.respond_to?(:to_sym) && registered_fakes.key?(name.to_sym)
end

.registered_fakesObject



4
5
6
# File 'lib/fakery/registry.rb', line 4

def registered_fakes
  @registered_fakes ||= {}
end