module Multicolor::Util
Public Class Methods
build_colors(params)
click to toggle source
# File lib/multicolor/util.rb, line 17 def build_colors(params) payload_builder(flatten_colors(params)) end
filepaths(filename)
click to toggle source
# File lib/multicolor/util.rb, line 10 def filepaths(filename) Array.wrap(filename).inject({}) do |data, item| data["filepaths[#{data.keys.count}]"] = item data end end
flatten_colors(params)
click to toggle source
# File lib/multicolor/util.rb, line 21 def flatten_colors(params) params.is_a?(Hash) ? params.values : params end
modify_options_for_keys(options, keys)
click to toggle source
# File lib/multicolor/util.rb, line 38 def modify_options_for_keys(options, keys) options.symbolize_keys! subset = options.slice(*keys) subset.each do |key, value| data = {} Array.wrap(value).each do |val| data["#{key.to_s.pluralize}[#{data.keys.length}]"] = val end options.merge!(data) end keys.each{ |key| options.delete(key) } options end
param_builder(params)
click to toggle source
# File lib/multicolor/util.rb, line 4 def param_builder(params) new_params = {} new_params.merge!(filepaths(params[:filepaths])) new_params end
payload_builder(payload)
click to toggle source
# File lib/multicolor/util.rb, line 25 def payload_builder(payload) processed = 0 data = {} (payload || {}).each do |entry| entry.keys.each do |key| value = entry[key] data["#{key.to_s.pluralize}[#{processed}]"] = value.is_a?(Hash) ? value.to_json : value end processed += 1 end data end