Sha256: cbbfb5c85c7d778b523308f2dc97ef13fa75398aac3a1ca92b70e79e9aa9dde1
Contents?: true
Size: 1.62 KB
Versions: 1
Compression:
Stored size: 1.62 KB
Contents
require 'cgi' require 'rest_client' require 'happymapper' require 'nokogiri' require File.join(File.dirname(__FILE__), 'pivotal-tracker', 'extensions') require File.join(File.dirname(__FILE__), 'pivotal-tracker', 'proxy') require File.join(File.dirname(__FILE__), 'pivotal-tracker', 'client') require File.join(File.dirname(__FILE__), 'pivotal-tracker', 'project') require File.join(File.dirname(__FILE__), 'pivotal-tracker', 'attachment') require File.join(File.dirname(__FILE__), 'pivotal-tracker', 'story') require File.join(File.dirname(__FILE__), 'pivotal-tracker', 'task') require File.join(File.dirname(__FILE__), 'pivotal-tracker', 'membership') require File.join(File.dirname(__FILE__), 'pivotal-tracker', 'activity') require File.join(File.dirname(__FILE__), 'pivotal-tracker', 'iteration') require File.join(File.dirname(__FILE__), 'pivotal-tracker', 'note') module PivotalTracker # define error types class ProjectNotSpecified < StandardError; end def self.encode_options(options) return nil if !options.is_a?(Hash) || options.empty? options_strings = [] # remove options which are not filters, and encode them as such [:limit, :offset].each do |o| options_strings << "#{CGI.escape(o.to_s)}=#{CGI.escape(options.delete(o))}" if options[o] end # assume remaining key-value pairs describe filters, and encode them as such. filters_string = options.map do |key, value| [value].flatten.map {|v| "#{CGI.escape(key.to_s)}%3A#{CGI.escape(v)}"}.join('&filter=') end options_strings << "filter=#{filters_string}" unless filters_string.empty? return "?#{options_strings.join('&')}" end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
pivotal-tracker-0.3.0 | lib/pivotal-tracker.rb |