dirigible 0.0.2 → 1.0.3

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 19e15d15a3a1b57982ddfeabffe1205625605b35
4
- data.tar.gz: c8ffb1c4d3718fb65f447ed2ac1e23ec600b241c
3
+ metadata.gz: 05e09bc4727ec81713e662fd36410075bcf8231d
4
+ data.tar.gz: 3279148e7a9f79081a247c2cf9abbe7632606a8e
5
5
  SHA512:
6
- metadata.gz: f2266c84b8d94275d01611bfe5a31c74155d291658b0d8d9150404a894628d6913822854980e3c8d1d9ce9e5d6b28873fe68b1b18bdb6e3739623a1109ab77da
7
- data.tar.gz: eefdf589e0ec3cb47a857df3cae0bc9d8abb53741875be48957a4ad274a4ffb00427ed348cb8d627f6986d7f95761738635925cac9bf1bdd05f5fd6ef7de2248
6
+ metadata.gz: 6efaec6f18a60ad788a522e7d5b3b51db9ad89baac21429e4babbb2c1df985493c13726a61b70418ff68180ac12b225f5c08be12e2803fa62f8d93e96c021ab1
7
+ data.tar.gz: eae409dde8ffc469765f98d02e8ec93b6d8ab8a2717d744aff099fbe70a99c08df557902f93e7f3d36c99b8eb9e87664c5fc5e3e87034289b280d40d07668c3d
data/README.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  A Ruby wrapper for the Urban Airship v3 API
4
4
 
5
+ [![Dependency Status](https://gemnasium.com/anthonator/dirigible.png)](https://gemnasium.com/anthonator/dirigible) [![Code Climate](https://codeclimate.com/github/anthonator/dirigible.png)](https://codeclimate.com/github/anthonator/dirigible)
6
+
5
7
  ## Documentation
6
8
 
7
9
  You can view detailed documentation of this library at http://rdoc.info/github/anthonator/dirigible/master/frames. We try to make sure that our documentation is up-to-date and thorough. However, we do recommend keeping the Urban Airship v3 API documentation handy.
@@ -22,7 +24,7 @@ Or install it yourself as:
22
24
 
23
25
  $ gem install dirigible
24
26
 
25
- ## Getting Started
27
+ ## tl;dr
26
28
 
27
29
  Configure dirigible...
28
30
 
@@ -44,10 +46,96 @@ begin
44
46
  })
45
47
  puts "YAY!" if response[:ok] == true # All JSON responses are converted to hash's
46
48
  rescue Dirigible::Error => e
47
- puts "BUSTED!!!"
49
+ puts "BUSTED!!! #{e.message}"
50
+ end
51
+ ```
52
+
53
+ ## Configuration
54
+
55
+ In order to make any requests you must first configure your app key and master secret...
56
+
57
+ ```ruby
58
+ Dirigible.configure do |config|
59
+ config.app_key = YOUR_APP_KEY
60
+ config.master_secret = YOUR_MASTER_SECRET
61
+ end
62
+ ```
63
+
64
+ Change the HTTP library used for making requests to Urban Airship. Since we use [Faraday](https://github.com/lostisland/faraday) you can use any supported adapter...
65
+
66
+ ```ruby
67
+ Dirigible.configure do |config|
68
+
69
+ ...
70
+
71
+ config.http_adapter = :excon
48
72
  end
49
73
  ```
50
74
 
75
+ ## Supported Endpoints
76
+
77
+ ### Push
78
+
79
+ * [Send a push notification](http://rdoc.info/github/anthonator/dirigible/master/Dirigible/Push.create)
80
+ * [Validate a push notification](http://rdoc.info/github/anthonator/dirigible/master/Dirigible/Push.validate)
81
+
82
+ ### Schedule
83
+
84
+ * [Schedule a notification](http://rdoc.info/github/anthonator/dirigible/master/Dirigible/Schedule.create)
85
+ * [List schedules](http://rdoc.info/github/anthonator/dirigible/master/Dirigible/Schedule.list)
86
+ * [List a specific schedule](http://rdoc.info/github/anthonator/dirigible/master/Dirigible/Schedule.get)
87
+ * [Update a schedule](http://rdoc.info/github/anthonator/dirigible/master/Dirigible/Schedule.update)
88
+ * [Delete a schedule](http://rdoc.info/github/anthonator/dirigible/master/Dirigible/Schedule.delete)
89
+
90
+ ### Tag
91
+
92
+ * [List tags](http://rdoc.info/github/anthonator/dirigible/master/Dirigible/Tag.list)
93
+ * [Create a tag](http://rdoc.info/github/anthonator/dirigible/master/Dirigible/Tag.create)
94
+ * [Adding and removing devices from a tag](http://rdoc.info/github/anthonator/dirigible/master/Dirigible/Tag.add_or_remove)
95
+ * [Delete a tag](http://rdoc.info/github/anthonator/dirigible/master/Dirigible/Tag.delete)
96
+ * [Batch modification of tags](http://rdoc.info/github/anthonator/dirigible/master/Dirigible/Tag.batch)
97
+
98
+ ### Feed
99
+
100
+ * [Create a feed](http://rdoc.info/github/anthonator/dirigible/master/Dirigible/Feed.create)
101
+ * [Get feed details](http://rdoc.info/github/anthonator/dirigible/master/Dirigible/Feed.get)
102
+ * [Update a feed](http://rdoc.info/github/anthonator/dirigible/master/Dirigible/Feed.update)
103
+ * [Delete a feed](http://rdoc.info/github/anthonator/dirigible/master/Dirigible/Feed.delete)
104
+
105
+ ### Device Information
106
+
107
+ * [Get Android APID device information](http://rdoc.info/github/anthonator/dirigible/master/Dirigible/DeviceInformation.get_apid)
108
+ * [Get Backberry PIN device information](http://rdoc.info/github/anthonator/dirigible/master/Dirigible/DeviceInformation.get_device_pin)
109
+ * [Get iOS device token information](http://rdoc.info/github/anthonator/dirigible/master/Dirigible/DeviceInformation.get_device_token)
110
+ * [List Android APID's registered to an application](http://rdoc.info/github/anthonator/dirigible/master/Dirigible/DeviceInformation.list_apids)
111
+ * [List Blackberry PIN's registered to an application](http://rdoc.info/github/anthonator/dirigible/master/Dirigible/DeviceInformation.list_device_pin)
112
+ * [List iOS device tokens registered to an application](http://rdoc.info/github/anthonator/dirigible/master/Dirigible/DeviceInformation.list_device_token)
113
+ * [List device tokens that can't recieve messages](http://rdoc.info/github/anthonator/dirigible/master/Dirigible/DeviceInformation.device_token_feedback)
114
+
115
+ ### Device Registration
116
+
117
+ * [Register an Android APID](http://rdoc.info/github/anthonator/dirigible/master/Dirigible/DeviceRegistration.register_apid)
118
+ * [Register a Blackberry PIN device](http://rdoc.info/github/anthonator/dirigible/master/Dirigible/DeviceRegistration.register_device_pin)
119
+ * [Register an iOS device token](http://rdoc.info/github/anthonator/dirigible/master/Dirigible/DeviceRegistration.register_device_token)
120
+ * [Delete a Blackberry PIN device](http://rdoc.info/github/anthonator/dirigible/master/Dirigible/DeviceRegistration.delete_device_pin)
121
+ * [Delete an iOS device token](http://rdoc.info/github/anthonator/dirigible/master/Dirigible/DeviceRegistration.delete_device_token)
122
+
123
+ ### Segment
124
+
125
+ * [List all segments for an application](http://rdoc.info/github/anthonator/dirigible/master/Dirigible/Segment.list)
126
+ * [Create a segment](http://rdoc.info/github/anthonator/dirigible/master/Dirigible/Segment.create)
127
+ * [Get a specific segment](http://rdoc.info/github/anthonator/dirigible/master/Dirigible/Segment.get)
128
+ * [Update a segment](http://rdoc.info/github/anthonator/dirigible/master/Dirigible/Segment.update)
129
+ * [Delete a segment](http://rdoc.info/github/anthonator/dirigible/master/Dirigible/Segment.delete)
130
+
131
+ ### Location
132
+
133
+ * [Retrieve cutoff dates](http://rdoc.info/github/anthonator/dirigible/master/Dirigible/Location.cutoff_dates)
134
+ * [Look up location boundary information](http://rdoc.info/github/anthonator/dirigible/master/Dirigible/Location.from_alias)
135
+ * [Search for locations using a bounding box](http://rdoc.info/github/anthonator/dirigible/master/Dirigible/Location.search_by_bounding_box)
136
+ * [Search for a location by latitude and longitude](http://rdoc.info/github/anthonator/dirigible/master/Dirigible/Location.search_by_latlng)
137
+ * [Search for a location boundary by name](http://rdoc.info/github/anthonator/dirigible/master/Dirigible/Location.search_by_name)
138
+
51
139
  ## Contributing
52
140
 
53
141
  1. Fork it
@@ -1,6 +1,6 @@
1
1
  module Dirigible
2
2
  # Custom error class for rescuing from all known Urban Airship errors
3
- class Error < StandardError; attr_accessor :error end
3
+ class Error < StandardError; alias_method :error, :message end
4
4
 
5
5
  # Raised when Urban Airship returns HTTP status code 400
6
6
  class BadRequest < Error; end
@@ -3,8 +3,8 @@ class Dirigible::Push
3
3
  # Send a push notification to a specified device or list
4
4
  # of devices. Must be one of:
5
5
  #
6
- # * A single [Push Object](http://docs.urbanairship.com/reference/api/v3/push.html#push-object)
7
- # * An array of one or more [Push Objects](http://docs.urbanairship.com/reference/api/v3/push.html#push-object)
6
+ # * A single {http://docs.urbanairship.com/reference/api/v3/push.html#push-object Push Object}
7
+ # * An array of one or more {http://docs.urbanairship.com/reference/api/v3/push.html#push-object Push Object}
8
8
  #
9
9
  # @example Example request:
10
10
  # Dirigible::Push.create({
@@ -2,16 +2,18 @@ module Dirigible
2
2
  # @private
3
3
  module Utils
4
4
  def self.handle_api_error(response)
5
- error = case response.status
6
- when 400 then BadRequest.new
7
- when 401 then Unauthorized.new
8
- when 404 then NotFound.new
9
- when 405 then MethodNotAllowed.new
10
- when 406 then NotAcceptable.new
11
- else Error.new
5
+ message = parse_json(response.body)
6
+
7
+ klass = case response.status
8
+ when 400 then BadRequest
9
+ when 401 then Unauthorized
10
+ when 404 then NotFound
11
+ when 405 then MethodNotAllowed
12
+ when 406 then NotAcceptable
13
+ else Error
12
14
  end
13
- error.error = parse_json(response.body)
14
- raise error
15
+
16
+ raise klass.new(message)
15
17
  end
16
18
 
17
19
  def self.parse_json(json)
@@ -1,3 +1,3 @@
1
1
  module Dirigible
2
- VERSION = "0.0.2"
2
+ VERSION = "1.0.3"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dirigible
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 1.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Anthony Smith
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-10-23 00:00:00.000000000 Z
11
+ date: 2013-11-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday