Class: Rrake::IssueRrake

Inherits:
Object
  • Object
show all
Defined in:
lib/rrake.rb

Instance Method Summary collapse

Constructor Details

#initializeIssueRrake

Returns a new instance of IssueRrake.



58
59
60
61
62
63
64
65
66
67
68
# File 'lib/rrake.rb', line 58

def initialize
  @awsAccessKeyId = ENV['AWS_ACCESS_KEY']
  @awsSecretAccessKey = ENV['AWS_SECRET_ACCESS_KEY']
  @rrakeTopic = ENV['RRAKE_TOPIC']      
  logfile = ENV['RRAKE_LOGFILE_PATH'].nil? ? STDOUT : File.open(ENV['RRAKE_LOGFILE_PATH'], 'a')
  @logger = Logger.new logfile

  @logger.fatal "Please ensure AWS_ACCESS_KEY is set." if @awsAccessKeyId.nil? or @awsAccessKeyId.empty?
  @logger.fatal "Please ensure AWS_SECRET_ACCESS_KEY is set." if @awsSecretAccessKey.nil? or @awsSecretAccessKey.empty?
  @logger.fatal "Please ensure RRAKE_TOPIC is set." if @rrakeTopic.nil? or @rrakeTopic.empty?
end

Instance Method Details

#issue_command(command) ⇒ Object



70
71
72
73
74
75
76
77
# File 'lib/rrake.rb', line 70

def issue_command(command)
  @logger.info "Issueing Command: #{command}"
  sns = AWS::SNS.new(region: 'us-east-1', access_key_id: @awsAccessKeyId, secret_access_key: @awsSecretAccessKey)
  @logger.info sns.topics[@rrakeTopic].publish(command)
rescue Exception => ex
  @logger.error "Something cause an SQS failure."
  @logger.error ex
end