Class: Sender

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(url) ⇒ Sender

Returns a new instance of Sender.



7
8
9
10
11
# File 'lib/filentory/sender.rb', line 7

def initialize(url)
  @url = URI.parse(url)
  @failed = nil
  @datafield_name = "data"
end

Instance Attribute Details

#additional_fieldsObject

Returns the value of attribute additional_fields.



5
6
7
# File 'lib/filentory/sender.rb', line 5

def additional_fields
  @additional_fields
end

#datafield_nameObject

Returns the value of attribute datafield_name.



5
6
7
# File 'lib/filentory/sender.rb', line 5

def datafield_name
  @datafield_name
end

#urlObject

Returns the value of attribute url.



5
6
7
# File 'lib/filentory/sender.rb', line 5

def url
  @url
end

Instance Method Details

#failed?Boolean

Returns:

  • (Boolean)


35
36
37
# File 'lib/filentory/sender.rb', line 35

def failed?
	@failed
end

#post(message) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/filentory/sender.rb', line 13

def post(message)
 	begin
		params = {@datafield_name => message}
		if not @additional_fields.nil?
			params.merge!(@additional_fields)
		end
		http = Net::HTTP.new(@url.host, @url.port)
		http.read_timeout = 6000
		
		request = Net::HTTP::Post.new(@url.request_uri)
		request.set_form_data(params)

		response = http.request(request)

		@failed = !response.code.to_s.start_with?("2")
	rescue => error_message
		response = Net::HTTPResponse.new "ERROR", "400", error_message
		@failed = true
	end	
		response
end