class Socialcast::CommandLine::Message

Attributes

debug[RW]

Public Class Methods

configure_from_credentials() click to toggle source
# File lib/socialcast/command_line/message.rb, line 54
def configure_from_credentials
  # backwards-compatibility noop
end
create(attributes = {}) click to toggle source
# File lib/socialcast/command_line/message.rb, line 10
def create(attributes = {})
  options = {
    :user => user,
    :password => password,
  }
  RestClient.proxy = proxy if proxy
  resource = RestClient::Resource.new create_url, options
  attributes_json = { :message => attributes }.to_json
  response = resource.post attributes_json, :accept => :json, :content_type => :json
  response_body = response.body.to_s.presence
  puts "API response: #{response_body}" if debug

  response_data = response_body ? JSON.parse(response_body) : {}
  OpenStruct.new(response_data['message'] || {})
end
create_url() click to toggle source
# File lib/socialcast/command_line/message.rb, line 50
def create_url
  File.join(site, 'messages.json')
end
password() click to toggle source
# File lib/socialcast/command_line/message.rb, line 46
def password
  Socialcast::CommandLine.credentials[:password]
end
proxy() click to toggle source
# File lib/socialcast/command_line/message.rb, line 38
def proxy
  Socialcast::CommandLine.credentials[:proxy]
end
site() click to toggle source
# File lib/socialcast/command_line/message.rb, line 34
def site
  File.join('https://', Socialcast::CommandLine.credentials[:domain], 'api')
end
user() click to toggle source
# File lib/socialcast/command_line/message.rb, line 42
def user
  Socialcast::CommandLine.credentials[:user]
end
with_debug(new_value) { || ... } click to toggle source
# File lib/socialcast/command_line/message.rb, line 26
def with_debug(new_value)
  old_value = debug
  self.debug = new_value
  yield
ensure
  self.debug = old_value
end