Class: Socialcast::CommandLine::Message

Inherits:
Object
  • Object
show all
Defined in:
lib/socialcast/command_line/message.rb

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.debugObject

Returns the value of attribute debug.



8
9
10
# File 'lib/socialcast/command_line/message.rb', line 8

def debug
  @debug
end

Class Method Details

.configure_from_credentialsObject



54
55
56
# File 'lib/socialcast/command_line/message.rb', line 54

def configure_from_credentials
  # backwards-compatibility noop
end

.create(attributes = {}) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# 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_urlObject



50
51
52
# File 'lib/socialcast/command_line/message.rb', line 50

def create_url
  File.join(site, 'messages.json')
end

.passwordObject



46
47
48
# File 'lib/socialcast/command_line/message.rb', line 46

def password
  Socialcast::CommandLine.credentials[:password]
end

.proxyObject



38
39
40
# File 'lib/socialcast/command_line/message.rb', line 38

def proxy
  Socialcast::CommandLine.credentials[:proxy]
end

.siteObject



34
35
36
# File 'lib/socialcast/command_line/message.rb', line 34

def site
  File.join('https://', Socialcast::CommandLine.credentials[:domain], 'api')
end

.userObject



42
43
44
# File 'lib/socialcast/command_line/message.rb', line 42

def user
  Socialcast::CommandLine.credentials[:user]
end

.with_debug(new_value) ⇒ Object



26
27
28
29
30
31
32
# 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