Module: Multicolor::Util
- Defined in:
- lib/multicolor/util.rb
Class Method Summary collapse
- .build_colors(params) ⇒ Object
- .filepaths(filename) ⇒ Object
- .flatten_colors(params) ⇒ Object
- .modify_options_for_keys(options, keys) ⇒ Object
- .param_builder(params) ⇒ Object
- .payload_builder(payload) ⇒ Object
Class Method Details
.build_colors(params) ⇒ Object
17 18 19 |
# File 'lib/multicolor/util.rb', line 17 def build_colors(params) payload_builder(flatten_colors(params)) end |
.filepaths(filename) ⇒ Object
10 11 12 13 14 15 |
# 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) ⇒ Object
21 22 23 |
# 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) ⇒ Object
38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/multicolor/util.rb', line 38 def (, keys) .symbolize_keys! subset = .slice(*keys) subset.each do |key, value| data = {} Array.wrap(value).each do |val| data["#{key.to_s.pluralize}[#{data.keys.length}]"] = val end .merge!(data) end keys.each{ |key| .delete(key) } end |
.param_builder(params) ⇒ Object
4 5 6 7 8 |
# 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) ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 |
# 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 |