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