Sha256: f4030a525f8f4caf2ce22127b3bf5ff820e52cf221ada29b34f2b0b6d0ea382f

Contents?: true

Size: 647 Bytes

Versions: 10

Compression:

Stored size: 647 Bytes

Contents

---
layout: default
title: Inheritance
parent: Usage
nav_order: 1
---

# Inheritance

FakerMaker can exploit the Ruby class hierarchy to provide additional specialisation or to override some behaviours:

```ruby
FakerMaker.factory :vehicle do
  wheels { 4 }
  colour { Faker::Color.color_name }
  engine_capacity { rand( 600..2500 ) }
end

FakerMaker.factory :motorbike, parent: :vehicle do
  wheels { 2 }
  sidecar { [true, false].sample }
end
```

This is the equivalent of: 

```ruby
class Vehicle < Object
  # ...
end

class Motorbike < Vehicle
  # ...
end
```

so a motorbike will still have a colour and engine capacity between 600 and 2500.

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
faker_maker-2.1.2 docs/usage/inheritance.md
faker_maker-2.1.1 docs/usage/inheritance.md
faker_maker-2.0.0 docs/usage/inheritance.md
faker_maker-1.3.0 docs/usage/inheritance.md
faker_maker-1.2.1 docs/usage/inheritance.md
faker_maker-1.2.0 docs/usage/inheritance.md
faker_maker-1.1.10 docs/usage/inheritance.md
faker_maker-1.1.9 docs/usage/inheritance.md
faker_maker-1.1.8 docs/usage/inheritance.md
faker_maker-1.1.7 docs/usage/inheritance.md