class Advanced::Definition

Constants

KEY_TYPES

Public Class Methods

new() click to toggle source
# File lib/advanced/definition.rb, line 5
def initialize
  @names = []
end

Public Instance Methods

add(names = []) click to toggle source
# File lib/advanced/definition.rb, line 9
def add(names = [])
  @names += names
end
parameter_names_for(klass) click to toggle source
# 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