Class: Macaroni::Plugin::Output::ImKayac
- Inherits:
-
Object
- Object
- Macaroni::Plugin::Output::ImKayac
- Defined in:
- lib/macaroni/plugin/output/im_kayac.rb
Instance Method Summary collapse
- #exec(data) ⇒ Object
-
#initialize(params = {}) ⇒ ImKayac
constructor
A new instance of ImKayac.
Constructor Details
#initialize(params = {}) ⇒ ImKayac
Returns a new instance of ImKayac.
7 8 9 10 11 12 |
# File 'lib/macaroni/plugin/output/im_kayac.rb', line 7 def initialize(params={}) @base_url = "http://im.kayac.com/api/post/" @username = params[:username] or raise ArgumentError @password = params[:password] || nil @secret_key = params[:secret_key] || nil end |
Instance Method Details
#exec(data) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/macaroni/plugin/output/im_kayac.rb', line 14 def exec(data) return data if data.empty? uri = URI.parse "#{@base_url}#{@username}" Net::HTTP.new(uri.host, uri.port).start do |http| data.each do |row| sig = @secret_key ? \ Digest::SHA1.new.update("#{row[:message]}#{@secret_key}").to_s : nil request = Net::HTTP::Post.new(uri.path) request.set_form_data( :handler => row[:handler], :password => @password, :sig => sig, :message => row[:message] ) http.request(request) end end end |