Class: Advanced::Definition
- Inherits:
-
Object
- Object
- Advanced::Definition
- Defined in:
- lib/advanced/definition.rb
Constant Summary collapse
- KEY_TYPES =
%i[key keyreq]
Instance Method Summary collapse
- #add(names = []) ⇒ Object
-
#initialize ⇒ Definition
constructor
A new instance of Definition.
- #parameter_names_for(klass) ⇒ Object
Constructor Details
#initialize ⇒ Definition
Returns a new instance of Definition.
5 6 7 |
# File 'lib/advanced/definition.rb', line 5 def initialize @names = [] end |
Instance Method Details
#add(names = []) ⇒ Object
9 10 11 |
# File 'lib/advanced/definition.rb', line 9 def add(names = []) @names += names end |
#parameter_names_for(klass) ⇒ Object
13 14 15 16 17 18 19 20 21 |
# File 'lib/advanced/definition.rb', line 13 def parameter_names_for(klass) values = klass.steps.flat_map do |meth| klass.instance_method(meth).parameters.reduce([]) do |acc, (type, name)| KEY_TYPES.include?(type) ? (acc + [name]) : acc end end values + @names end |