class MessageBird::HTTP::Sender
Attributes
enabled[W]
response_factory[W]
Public Class Methods
deliver(sms, &block)
click to toggle source
# File lib/messagebird/http/sender.rb, line 8 def deliver(sms, &block) ensure_valid_sms!(sms) send_sms(sms, &block) end
Private Class Methods
connection_class()
click to toggle source
# File lib/messagebird/http/sender.rb, line 60 def connection_class if enabled Net::HTTP else LocalConnection end end
connection_factory()
click to toggle source
# File lib/messagebird/http/sender.rb, line 45 def connection_factory @connection_factory ||= connection_class.method(:new) end
create_connection(uri)
click to toggle source
# File lib/messagebird/http/sender.rb, line 30 def create_connection(uri) connection_factory.call(uri.host, uri.port).tap do |http| http.use_ssl = true # http.verify_mode = OpenSSL::SSL::VERIFY_NONE end end
create_request(request_uri)
click to toggle source
# File lib/messagebird/http/sender.rb, line 37 def create_request(request_uri) Net::HTTP::Get.new(request_uri) end
enabled()
click to toggle source
# File lib/messagebird/http/sender.rb, line 53 def enabled if @enabled.nil? @enabled = MessageBird::Config.enabled end @enabled end
ensure_valid_sms!(obj)
click to toggle source
# File lib/messagebird/http/sender.rb, line 41 def ensure_valid_sms!(obj) raise ArgumentError unless obj.is_a? MessageBird::HTTP::SMS end
response_factory()
click to toggle source
# File lib/messagebird/http/sender.rb, line 49 def response_factory @response_factory ||= Response.method(:new) end
send_request(connection, request)
click to toggle source
# File lib/messagebird/http/sender.rb, line 26 def send_request(connection, request) response_factory.call( connection.request(request) ) end
send_sms(sms) { |response| ... }
click to toggle source
# File lib/messagebird/http/sender.rb, line 15 def send_sms(sms, &block) connection = create_connection(sms.uri) request = create_request(sms.request_uri) response = send_request(connection, request) if block_given? yield response end end