Class: IronMQ::Client

Inherits:
IronCore::Client
  • Object
show all
Defined in:
lib/iron_mq/client.rb

Constant Summary collapse

AWS_US_EAST_HOST =
'mq-aws-us-east-1.iron.io'

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Client

Returns a new instance of Client.



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/iron_mq/client.rb', line 12

def initialize(options={})
  default_options = {
      :scheme => 'https',
      :host => IronMQ::Client::AWS_US_EAST_HOST,
      :port => 443,
      :api_version => 1,
      :user_agent => 'iron_mq_ruby-' + IronMQ::VERSION + ' (iron_core_ruby-' + IronCore.version + ')',
      :queue_name => 'default'
  }

  super('iron', 'mq', options, default_options, [:project_id, :token, :api_version, :queue_name])

  IronCore::Logger.error 'IronMQ', "Token is not set", IronCore::Error if @token.nil?

  check_id(@project_id, 'project_id')

  @logger = Logger.new(STDOUT)
  @logger.level = Logger::INFO
end

Instance Attribute Details

#loggerObject

Returns the value of attribute logger.



10
11
12
# File 'lib/iron_mq/client.rb', line 10

def logger
  @logger
end

#queue_nameObject

Returns the value of attribute queue_name.



10
11
12
# File 'lib/iron_mq/client.rb', line 10

def queue_name
  @queue_name
end

Instance Method Details

#base_urlObject



36
37
38
# File 'lib/iron_mq/client.rb', line 36

def base_url
  super + @api_version.to_s + '/'
end

#headersObject



32
33
34
# File 'lib/iron_mq/client.rb', line 32

def headers
  super.merge({'Authorization' => "OAuth #{@token}"})
end

#messagesObject



44
45
46
# File 'lib/iron_mq/client.rb', line 44

def messages
  return Messages.new(self)
end

#queue(name) ⇒ Object



40
41
42
# File 'lib/iron_mq/client.rb', line 40

def queue(name)
  return Queue.new(self, {"name" => name})
end

#queuesObject



48
49
50
# File 'lib/iron_mq/client.rb', line 48

def queues
  return Queues.new(self)
end