class Fastlane::ToolSwiftFunction
Public Instance Methods
class_name()
click to toggle source
# File fastlane/lib/fastlane/swift_fastlane_function.rb, line 345 def class_name function_name = camel_case_lower(string: self.function_name) return function_name.capitalize + "file" end
parameters()
click to toggle source
# File fastlane/lib/fastlane/swift_fastlane_function.rb, line 423 def parameters unless @param_names return "" end param_names_and_types = @param_names.zip(param_default_values, param_optionality_values, param_type_overrides).map do |param, default_value, optional, param_type_override, is_string| type = get_type(param: param, default_value: default_value, optional: optional, param_type_override: param_type_override, is_string: is_string) param = camel_case_lower(string: param) param = sanitize_reserved_word(word: param) static_var_for_parameter_name = param if type == "((String) -> Void)?" "#{param}: #{type} = nil" elsif (optional && type.end_with?('?') && !type.start_with?('Any')) || type.start_with?('Bool') "#{param}: OptionalConfigValue<#{type}> = .fastlaneDefault(#{self.class_name.downcase}.#{static_var_for_parameter_name})" else "#{param}: #{type} = #{self.class_name.downcase}.#{static_var_for_parameter_name}" end end return param_names_and_types end
protocol_name()
click to toggle source
# File fastlane/lib/fastlane/swift_fastlane_function.rb, line 340 def protocol_name function_name = camel_case_lower(string: self.function_name) return function_name.capitalize + "fileProtocol" end
swift_default_implementations()
click to toggle source
# File fastlane/lib/fastlane/swift_fastlane_function.rb, line 372 def swift_default_implementations unless @param_names return [] end swift_implementations = @param_names.zip(param_default_values, param_optionality_values, param_type_overrides).map do |param, default_value, optional, param_type_override| type = get_type(param: param, default_value: default_value, optional: optional, param_type_override: param_type_override) param = camel_case_lower(string: param) param = sanitize_reserved_word(word: param) var_for_parameter_name = param unless default_value.nil? if type == "Bool" || type == "[String]" || type == "Int" || default_value.kind_of?(Array) default_value = default_value.to_s elsif default_value.kind_of?(Hash) # we can't handle default values for Hashes, yet # see method parameters for similar behavior default_value = "[:]" else default_value = "\"#{default_value}\"" end end # if we don't have a default value, but the param is options, just set a default value to nil if optional && default_value.nil? default_value = "nil" end # if we don't have a default value still, we need to assign them based on type if type == "String" default_value ||= "\"\"" end if type == "Bool" default_value ||= "false" end if type == "[String]" default_value ||= "[]" end if type == "[String : Any]" default_value ||= "[:]" end " var #{var_for_parameter_name}: #{type} { return #{default_value} }" end return swift_implementations end
swift_vars()
click to toggle source
# File fastlane/lib/fastlane/swift_fastlane_function.rb, line 350 def swift_vars unless @param_names return [] end swift_vars = @param_names.zip(param_default_values, param_optionality_values, param_type_overrides, param_descriptions).map do |param, default_value, optional, param_type_override, param_description| type = get_type(param: param, default_value: default_value, optional: optional, param_type_override: param_type_override) param = camel_case_lower(string: param) param = sanitize_reserved_word(word: param) static_var_for_parameter_name = param if param_description documentation = " /// #{param_description}\n" end "\n#{documentation}"\ " var #{static_var_for_parameter_name}: #{type} { get }" end return swift_vars end