class Twigg::Pivotal::Resource
Constants
- PIVOTAL_BASE
Private Class Methods
default_params()
click to toggle source
# File lib/twigg-pivotal/pivotal/resource.rb, line 43 def default_params { envelope: true } end
get(resource, paginate: true, **params)
click to toggle source
# File lib/twigg-pivotal/pivotal/resource.rb, line 12 def get(resource, paginate: true, **params) results = [] offset = paginate ? 0 : nil params = default_params.merge(params) done = false begin returned = 0 url = "#{PIVOTAL_BASE}/#{resource}" query = params_to_query(paginate ? params.merge(offset: offset) : params) url << "?#{URI.encode query}" response = RestClient.get url, headers json = JSON[response] if paginate pagination = json['pagination'] returned = pagination['returned'] offset += returned if results.size + returned == pagination['total'] done = true end end results.concat(json['data']) end until returned == 0 || done results end
headers()
click to toggle source
# File lib/twigg-pivotal/pivotal/resource.rb, line 47 def headers { 'X-TrackerToken' => Config.pivotal.token } end
params_to_query(params)
click to toggle source
# File lib/twigg-pivotal/pivotal/resource.rb, line 51 def params_to_query(params) params.map { |key, value| "#{key}=#{value}" }.join('&') end