Module: TextMagic::API::Executor
- Defined in:
- lib/textmagic/executor.rb
Class Method Summary collapse
-
.execute(command, username, password, options = {}) ⇒ Object
Executes a command by sending a request to the TextMagic’s Bulk SMS gateway.
Class Method Details
.execute(command, username, password, options = {}) ⇒ Object
Executes a command by sending a request to the TextMagic’s Bulk SMS gateway. This is a low-level generic method used by methods in TextMagic::API class. You should never need to use this method directly.
Parameters specified in the options
hash will be added to the HTTP POST request“s body together with command, username and password.
Returns a hash with values parsed from the server“s response if the command was successfully executed. In case the server replies with error, this method raises a TextMagic::API::Error.
23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/textmagic/executor.rb', line 23 def execute(command, username, password, = {}) raise TextMagic::API::Error.new(3, "Command is undefined") unless command raise TextMagic::API::Error.new(5, "Invalid username & password combination") unless username && password .merge!(username: username, password: password, cmd: command) .delete_if { |key, value| !key || !value } uri = URI("https://www.textmagic.com/app/api") response = Net::HTTP.post_form(uri, ) result = JSON.parse(response.body) if response.body raise Error, response.body if result && result["error_code"] result end |