class ShipIO::Client
Attributes
api_key[RW]
Public Class Methods
new(api_key, options={})
click to toggle source
# File lib/ShipIO/client.rb, line 5 def initialize(api_key, options={}) @api_key = api_key end
Public Instance Methods
build(job, build_id)
click to toggle source
Returns a build from a Job
# File lib/ShipIO/client.rb, line 27 def build(job, build_id) json_build = get("jobs/#{job.uuid}/builds/#{build_id}.json") Build.new({ uuid: json_build["id"], build_number: json_build["build_number"], commit_sha: json_build["commit_sha"], state: json_build["state"], log_url: json_build["log_url"], successful: json_build["successful"] }) end
builds(job)
click to toggle source
Returns all the builds by a User
# File lib/ShipIO/client.rb, line 41 def builds(job) response = get("jobs/#{job.uuid}/builds.json") builds = [] for json_build in response do build = Build.new({ uuid: json_build["id"], build_number: json_build["build_number"], commit_sha: json_build["commit_sha"], state: json_build["state"], log_url: json_build["log_url"], successful: json_build["successful"] }) builds << build end builds end
jobs()
click to toggle source
Returns all the jobs in the user account
# File lib/ShipIO/client.rb, line 10 def jobs result = get("jobs.json") jobs = [] for json_job in result do job = Job.new(self, { uuid: json_job["id"], name: json_job["name"], repository_name: json_job["repository"]["name"], repository_branch: json_job["repository"]["selected_branch"], repository_url: json_job["repository"]["html_url"] }) jobs << job end jobs end
pusher_channel()
click to toggle source
Gets the Pusher channel for a user
# File lib/ShipIO/client.rb, line 59 def pusher_channel get("user/channel.json") end
Private Instance Methods
get(url, params={})
click to toggle source
# File lib/ShipIO/client.rb, line 64 def get(url, params={}) url = '/' + url if url[0] != '/' url = ShipIO::BASE_URL + url result = RestClient.get url, {"Authorization" => "Bearer #{api_key}"} JSON.parse(result) end
post(url, params={})
click to toggle source
# File lib/ShipIO/client.rb, line 71 def post(url, params={}) url = '/' + url if url[0] != '/' url = ShipIO::BASE_URL + url result = RestClient.post url, {"Authorization" => "Bearer #{api_key}"} JSON.parse(result) end