# File lib/aws/sns/topic.rb, line 261 def publish default_message, options = {} message = { :default => default_message } [:http, :https, :email, :email_json, :sqs].each do |protocol| if options[protocol] message[protocol.to_s.gsub(/_/, '-')] = options[protocol] end end publish_opts = {} publish_opts[:message] = message.to_json publish_opts[:message_structure] = 'json' publish_opts[:subject] = options[:subject] if options[:subject] publish_opts[:topic_arn] = arn response = client.publish(publish_opts) response[:message_id] end