Sha256: f92e225428b56c32b7a35f1b74523069ab40a9973db203675d23cf1d142edb08
Contents?: true
Size: 1.2 KB
Versions: 17
Compression:
Stored size: 1.2 KB
Contents
require 'zendesk_apps_tools/common' module ZendeskAppsTools class Settings def get_settings_from(user_input, parameters) return {} if parameters.nil? parameters.inject({}) do |settings, param| if param[:default] input = user_input.get_value_from_stdin("Enter a value for parameter '#{param[:name]}' or press 'Return' to use the default value '#{param[:default]}':\n", :allow_empty => true) input = param[:default] if input.empty? elsif param[:required] input = user_input.get_value_from_stdin("Enter a value for required parameter '#{param[:name]}':\n") else input = user_input.get_value_from_stdin("Enter a value for optional parameter '#{param[:name]}' or press 'Return' to skip:\n", :allow_empty => true) end if param[:type] == 'checkbox' input = convert_to_boolean_for_checkbox(input) end settings[param[:name]] = input if input != '' settings end end private def convert_to_boolean_for_checkbox(input) if ![TrueClass, FalseClass].include?(input.class) return (input =~ /^(true|t|yes|y|1)$/i) ? true : false end input end end end
Version data entries
17 entries across 17 versions & 1 rubygems