class Peeky::Renderer::MethodCallMinimumParamsRender

Render: Simple instance method calls with minimum parameters

Example output:

instance.simple('first_param')
instance.complex('aaa', ddd: 'ddd')

Attributes

method_signature[R]

Method signature stores a MethodInfo object

Public Class Methods

new(method_signature, **opts) click to toggle source
# File lib/peeky/renderer/method_call_minimum_params_render.rb, line 14
def initialize(method_signature, **opts)
  # instance_name = opts[:instance_name] || 'instance'
  @instance_name = opts[:instance_name]
  @method_signature = method_signature
end

Public Instance Methods

render() click to toggle source

Render the a method call with minimal parameters

# File lib/peeky/renderer/method_call_minimum_params_render.rb, line 21
def render
  name = method_signature.name

  minimal_call_parameters = method_signature
                            .parameters
                            .map(&:minimal_call_format)
                            .reject { |minimal_call| minimal_call.nil? || minimal_call.strip.empty? }
                            .join(', ')

  params = minimal_call_parameters.length.zero? ? '' : "(#{minimal_call_parameters})"

  if @instance_name.nil?
    "#{name}#{params}"
  else
    "#{@instance_name}.#{name}#{params}"
  end
end