mediaburst 1.0.1 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/README.md CHANGED
@@ -52,6 +52,18 @@ Check the response for errors:
52
52
 
53
53
  On error, the value of the key referenced by the number will equal the [error code][5] returned from Mediaburst.
54
54
 
55
+ ### Checking the Account's Credit
56
+
57
+ Create an instance of the Mediaburst client:
58
+
59
+ client = Mediaburst::API.new('username', 'password')
60
+
61
+ Request the credit amount
62
+
63
+ client.get_credit
64
+ => "150"
65
+
66
+ Given invalid credentials, this method will return nil. If the server responds with anything other than a 200, a Mediaburst::ServerError exception is raised.
55
67
 
56
68
  ## Development
57
69
 
@@ -2,7 +2,8 @@ require 'nokogiri'
2
2
  require 'net/http'
3
3
 
4
4
  module Mediaburst
5
- ENDPOINT = 'http://sms.message-platform.com/xml/send.aspx'
5
+ SEND_ENDPOINT = 'http://sms.message-platform.com/xml/send.aspx'
6
+ CREDIT_ENDPOINT = 'http://sms.message-platform.com/http/credit.aspx'
6
7
 
7
8
  # Thrown when an invalid request is made,
8
9
  # e.g invalid credentials were used
@@ -18,6 +19,28 @@ module Mediaburst
18
19
  def initialize(u, p)
19
20
  @auth = {:username => u, :password => p}
20
21
  end
22
+
23
+
24
+ # Returns the about of credit left on a user account
25
+ #
26
+ # nil if there was a problem retrieving the value, and
27
+ # Throws an exception if the server didn't process
28
+ # the request succesfully.
29
+ def get_credit
30
+ uri = URI.parse(CREDIT_ENDPOINT + "?username=#{@auth[:username]}&password=#{@auth[:password]}")
31
+ http = Net::HTTP.new(uri.host, uri.port)
32
+ request = Net::HTTP::Get.new(uri.request_uri)
33
+ request["Content-Type"] = "text/html"
34
+
35
+ response = http.request(request)
36
+
37
+ case response
38
+ when Net::HTTPSuccess
39
+ return response.body.gsub!(/^Current Credit: ([0-9]+)/, '\1')
40
+ else
41
+ raise Mediaburst::ServerError, "Request failed: #{response}"
42
+ end
43
+ end
21
44
 
22
45
  # Takes a number or array of numbers and a content string
23
46
  # and sends to the mediaburst SMS API endpoint.
@@ -59,7 +82,7 @@ module Mediaburst
59
82
  # Send a request to the endpoint
60
83
  def send_request(request_body)
61
84
  # Create and send the request
62
- uri = URI.parse(ENDPOINT)
85
+ uri = URI.parse(SEND_ENDPOINT)
63
86
  http = Net::HTTP.new(uri.host, uri.port)
64
87
  request = Net::HTTP::Post.new(uri.request_uri)
65
88
  request.body = request_body
@@ -1,3 +1,3 @@
1
1
  module Mediaburst
2
- VERSION = '1.0.1'
2
+ VERSION = '1.1.0'
3
3
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mediaburst
3
3
  version: !ruby/object:Gem::Version
4
- hash: 21
4
+ hash: 19
5
5
  prerelease: false
6
6
  segments:
7
7
  - 1
8
- - 0
9
8
  - 1
10
- version: 1.0.1
9
+ - 0
10
+ version: 1.1.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Matt Hall
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-02-25 00:00:00 +00:00
18
+ date: 2011-08-10 00:00:00 +01:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency