class ReverseParameters::Base
Attributes
params[R]
Public Class Methods
new(input)
click to toggle source
@param [Proc, Array] input
# File lib/reverse_parameters.rb, line 14 def initialize(input) if input.respond_to?(:to_proc) @params = input.to_proc.parameters elsif input.respond_to?(:to_ary) @params = input.to_ary elsif input.is_a? UnboundMethod @params = input.parameters else raise ArgumentError.new("Input must be an Array of parameters or a Proc object.") end end
Public Instance Methods
arguments(blocks_as_values: false)
click to toggle source
Method
arguments are the real values passed to (and received by) the function. @return [ReverseParameters::Arguments] @param [true, false] blocks_as_values: express block as variable vs a proc passed to the end of a method. def my_method(&block) end ReverseParameters.new
(method(:my_method)).arguments(blocks_as_values: true).to_s
#=> "block"
# ReverseParameters.new
(method(:my_method)).arguments.to_s
#=> "&block"
# File lib/reverse_parameters.rb, line 42 def arguments(blocks_as_values: false) Arguments.new(params, blocks_as_values: blocks_as_values) end
parameters()
click to toggle source
Method
parameters are the names listed in the function definition. @return [ReverseParameters::Parameters]
# File lib/reverse_parameters.rb, line 28 def parameters Parameters.new(params) end