Class: Esendex::Account
- Inherits:
-
Object
- Object
- Esendex::Account
- Defined in:
- lib/esendex/account.rb
Constant Summary collapse
- DEFAULT_DATE_OFFSET =
90
Instance Attribute Summary collapse
-
#reference ⇒ Object
Returns the value of attribute reference.
Instance Method Summary collapse
- #api_connection ⇒ Object
-
#initialize(account_reference = Esendex.account_reference) ⇒ Account
constructor
A new instance of Account.
- #messages_remaining ⇒ Object
- #send_message(args = {}) ⇒ Object
- #send_messages(messages) ⇒ Object
- #sent_messages(args = {}) ⇒ Object
Constructor Details
#initialize(account_reference = Esendex.account_reference) ⇒ Account
Returns a new instance of Account.
9 10 11 |
# File 'lib/esendex/account.rb', line 9 def initialize(account_reference = Esendex.account_reference) @reference = account_reference end |
Instance Attribute Details
#reference ⇒ Object
Returns the value of attribute reference.
7 8 9 |
# File 'lib/esendex/account.rb', line 7 def reference @reference end |
Instance Method Details
#api_connection ⇒ Object
13 14 15 |
# File 'lib/esendex/account.rb', line 13 def api_connection @api_connection ||= ApiConnection.new end |
#messages_remaining ⇒ Object
17 18 19 20 21 22 23 |
# File 'lib/esendex/account.rb', line 17 def response = api_connection.get "/v1.0/accounts" doc = Nokogiri::XML(response.body) node = doc.at_xpath("//api:account[api:reference='#{@reference}']/api:messagesremaining", 'api' => Esendex::API_NAMESPACE) raise AccountReferenceError.new if node.nil? node.content.to_i end |
#send_message(args = {}) ⇒ Object
25 26 27 28 29 30 |
# File 'lib/esendex/account.rb', line 25 def (args={}) raise ArgumentError.new(":to required") unless args[:to] raise ArgumentError.new(":body required") unless args[:body] [Message.new(args[:to], args[:body], args[:from])] end |
#send_messages(messages) ⇒ Object
32 33 34 35 36 |
# File 'lib/esendex/account.rb', line 32 def () batch_submission = MessageBatchSubmission.new(@reference, ) response = api_connection.post("/v1.0/messagedispatcher", batch_submission.to_s) DispatcherResult.from_xml response.body end |
#sent_messages(args = {}) ⇒ Object
38 39 40 41 42 |
# File 'lib/esendex/account.rb', line 38 def (args={}) SentMessageClient .new(api_connection) .(args.merge(account_reference: reference)) end |