class Lolcommits::Flowdock::Client
Constants
- API_HOST
Attributes
access_token[RW]
flow[RW]
organization[RW]
Public Class Methods
new(access_token, organization: nil, flow: nil)
click to toggle source
# File lib/lolcommits/flowdock/client.rb, line 15 def initialize(access_token, organization: nil, flow: nil) @access_token = access_token @organization = organization @flow = flow end
Public Instance Methods
create_message(organization: nil, flow: nil, params: {})
click to toggle source
POST /flows/:organization/:flow/messages
# File lib/lolcommits/flowdock/client.rb, line 32 def create_message(organization: nil, flow: nil, params: {}) post(messages_url(organization, flow), params) end
flows()
click to toggle source
GET /flows
# File lib/lolcommits/flowdock/client.rb, line 27 def flows get(flows_url) end
organizations()
click to toggle source
GET /organizations
# File lib/lolcommits/flowdock/client.rb, line 22 def organizations get(organizations_url) end
Private Instance Methods
base_url()
click to toggle source
# File lib/lolcommits/flowdock/client.rb, line 57 def base_url "https://#{access_token}@#{API_HOST}" end
flows_url()
click to toggle source
# File lib/lolcommits/flowdock/client.rb, line 65 def flows_url "#{base_url}/flows" end
get(*args)
click to toggle source
# File lib/lolcommits/flowdock/client.rb, line 42 def get(*args) request(*args) end
messages_url(organization, flow)
click to toggle source
# File lib/lolcommits/flowdock/client.rb, line 69 def messages_url(organization, flow) "#{base_url}/flows/#{organization}/#{flow}/messages" end
organizations_url()
click to toggle source
# File lib/lolcommits/flowdock/client.rb, line 61 def organizations_url "#{base_url}/organizations" end
post(*args)
click to toggle source
# File lib/lolcommits/flowdock/client.rb, line 38 def post(*args) request(*args, :post) end
request(url, params = {}, method = :get)
click to toggle source
# File lib/lolcommits/flowdock/client.rb, line 46 def request(url, params = {}, method = :get) response = RestClient.send(method, url, params) if response.code.to_s =~ /^2/ JSON.parse(response) else raise RestClient::RequestFailed.new(response) end rescue RestClient::RequestFailed, JSON::ParserError => e raise Flowdock::RequestFailed.new(e.message) end