lib/sinclair/method_definition/parameter_helper.rb in sinclair-1.12.1 vs lib/sinclair/method_definition/parameter_helper.rb in sinclair-1.13.0

- old
+ new

@@ -43,10 +43,11 @@ parameters_strings + defaults_strings end private + delegate :value_string, to: Stringifier attr_reader :parameters_list, :named alias named? named # @!method parameters_list # @api private @@ -112,13 +113,31 @@ # Strings representing all parameters with default value # # @return [Array<String>] def defaults_strings - joinner = named? ? ': ' : ' = ' - defaults.map do |key, value| - "#{key}#{joinner}#{value.to_json}" + defaults.map do |parameter, value| + default_string(parameter, value) end + end + + # Returns the string for one default parameter + # + # @param parameter [Symbol] name of the parameter + # @param value [Object] default value + # + # @return [String] + def default_string(parameter, value) + "#{parameter}#{joinner}#{value_string(value)}" + end + + # Returns the string used when joining a parameter with it's default value + # + # @see #named? + # + # @return [String] + def joinner + @joinner ||= named? ? ': ' : ' = ' end end end end