Module: Fakery::Registry
- Defined in:
- lib/fakery/registry.rb
Class Method Summary collapse
-
.build(register_name, with: {}) ⇒ Object
Builds a the fake registered under the name
register_name
. -
.clear ⇒ Object
Clear all registered fakes.
- .list ⇒ Object
-
.register(register_name, fake) ⇒ Object
Registers
fake
under name +register_name. -
.register_files(*files) ⇒ Object
Register all
files
as fakes with their filename as their name. -
.registered?(name) ⇒ Boolean
Returns true, if there is a fake registered under name
name
. - .registered_fakes ⇒ Object
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 |
.clear ⇒ Object
Clear all registered fakes.
14 15 16 |
# File 'lib/fakery/registry.rb', line 14 def clear registered_fakes.clear end |
.list ⇒ Object
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
.
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_fakes ⇒ Object
4 5 6 |
# File 'lib/fakery/registry.rb', line 4 def registered_fakes @registered_fakes ||= {} end |