module PivotalTracker

Public Class Methods

encode_options(options) click to toggle source
# File lib/pivotal-tracker.rb, line 34
def self.encode_options(options)
  options_strings = options.inject({}) do |m, (k,v)|
    if [:limit, :offset].include?(k.to_sym)
      m.update k => v
    elsif k.to_sym == :search
      m.update :filter => v
    else
      filter_query = %{#{k}:#{[v].flatten.join(",")}}
      m.update :filter => (m[:filter] ? "#{m[:filter]} #{filter_query}" : filter_query)
    end
  end.map {|k,v| "#{k}=#{CGI.escape(v.to_s)}"}

  %{?#{options_strings.join("&")}} unless options_strings.empty?
end