Class: Marameters::Signatures::Inheritor
- Inherits:
-
Object
- Object
- Marameters::Signatures::Inheritor
- Defined in:
- lib/marameters/signatures/inheritor.rb
Overview
Blends ancestor and descendant method parameters together while allowing default overrides.
Instance Method Summary collapse
- #call(ancestor, descendant) ⇒ Object
-
#initialize(key_length: 1, kinds: KINDS) ⇒ Inheritor
constructor
A new instance of Inheritor.
Constructor Details
#initialize(key_length: 1, kinds: KINDS) ⇒ Inheritor
Returns a new instance of Inheritor.
7 8 9 10 11 |
# File 'lib/marameters/signatures/inheritor.rb', line 7 def initialize key_length: 1, kinds: KINDS @key_length = key_length @kinds = kinds freeze end |
Instance Method Details
#call(ancestor, descendant) ⇒ Object
13 14 15 |
# File 'lib/marameters/signatures/inheritor.rb', line 13 def call ancestor, descendant merge(ancestor, descendant).values.sort_by! { |(kind, *)| kinds.index kind } end |