cloud_five_push 0.0.1 → 0.0.2

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,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- ZGUxNGVhYmQ5ZjdkMjhjOTZmOTk0ZTZhYTA3ODA5YjU1NWEyMmFmNw==
4
+ YmM5YzEwODRhNjk3MzliOWYzNDA5NjcyZDIxZTU4NzBlYTkwMGZlMQ==
5
5
  data.tar.gz: !binary |-
6
- YjJiYzg3ODNiNDJjODhlNmNhZTYyMmQ0MWNmMmQ1ODI1YzYzZDUxMg==
6
+ OTE5NDk1YjkwZDAwYmZkZWUyMmYzMmFiNmFmMTk0NDNjNjE4ZTdiNg==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- MDc4YTEzNDg0YThiOGQ3ZDQ1ZDNhZWIyNzhkZjQ2NWFjY2Q3YjEwN2E1ZjFm
10
- Nzk3ZjdmNTQyZmNlN2E5YmQ1NTgxMGIxMzUxODJhYzM4NmQ2YjNmNmU0ZTMw
11
- NzFjMTRlZThkMTYxMWIxZjZiMmI4MTY2M2FkNGM3ZDc1YTIzMzI=
9
+ MTIyNjI1ZTE0YTE5M2VlYTc5NDIxMjU0NWExYjlhYTdiMDBlYjNkYmIzMTIy
10
+ ZTZkOTQxZTE2M2U0MjY4OTdkZGE1NGQ2YWI0OWI0NjNiMWIzYTU2NzU3NDQ0
11
+ MTU5YjQyMWUzMzdmY2JkNzY5OTZlMDVlMzhkNjE1MWVjNzQ4Mzg=
12
12
  data.tar.gz: !binary |-
13
- YmE5NDk2YjdhMWFhYTMwZjYzMGJhZmE0NDRlZjgwNzc2MzdlYmI0NTQ3MGVh
14
- NDA4NWEzNGVhY2NmZTFjM2MyOTczOThkMWNhMjYyYTg0YWUxMTliNGVhZjZl
15
- MDFjMzA5NzU2MDRjZjIzODA1YzhhZDcxNDI0NjA2N2YxYzBlZjM=
13
+ ZTZiZDc2MzI0ODgwZDlhMDU5ZTk2MmIwN2NiMmM4YzAzMDA3YWU3OTExZGE0
14
+ YWRhYjI1MjUzY2U1MzdiY2I5ZWQzYWFiMDgzZWU2NDk1ODg5ZDQ3NDhkYWZm
15
+ Yjc3YTNmM2VlYjhlNmRiMGM3YjM0NGU2MTE1MjUyMmQ0NTdlNGU=
data/README.md CHANGED
@@ -18,27 +18,36 @@ Or install it yourself as:
18
18
 
19
19
  ## Usage
20
20
 
21
- Global configuration:
22
-
21
+ Global configuration:
22
+
23
23
  CloudFivePush.api_key = "my_api_key"
24
24
 
25
- Sending a notification immediately to all your users:
25
+ Sending a notification immediately to all your users:
26
26
 
27
27
  CloudFivePush.broadcast! "Hello from Cloud Five!"
28
28
 
29
- Send a notification to just some of your users:
29
+ Send a notification to just some of your users:
30
+
31
+ CloudFivePush.notify! "Hello from Cloud Five!", 'the-user-identifier'
32
+
33
+ CloudFivePush.notify! "Hello from Cloud Five!", ['one', 'another', 'the-third']
34
+
35
+ notification = CloudFivePush::Notification.new
36
+ notification.alert = "Hello from Cloud Five"
37
+ notification.user_identifiers = [123, 345, "something@example.com"] # Use whatever you registered with on the mobile app
38
+ notification.notify!
39
+
40
+ Schedule a notification to be sent in the future:
30
41
 
31
- message = CloudFivePush::Message.new
32
- message.message = "Hello from Cloud Five"
33
- message.user_identifiers = [123, 345, "something@example.com"] # use whatever you registered with on the mobile app
34
- message.send!
42
+ CloudFivePush.broadcast! "Hello, everybody", Time.now + 3600 # 1 hour from now
35
43
 
36
- Schedule a notification to be sent in the future:
44
+ CloudFivePush.notify! "Hello from Cloud Five!", 'the-user-identifier', Time.now + 3600
37
45
 
38
- message = CloudFivePush::Message.new
39
- message.message = "Hello from Cloud Five"
40
- message.scheduled_at = Time.now + 3600 # 1 hour from now
41
- message.send!
46
+ notification = CloudFivePush::Notification.new
47
+ notification.alert = "Hello from Cloud Five"
48
+ notification.user_identifiers = [123, 345, "something@example.com"]
49
+ notification.scheduled_at = Time.now + 3600
50
+ notification.notify!
42
51
 
43
52
  ## Contributing
44
53
 
@@ -1,7 +1,7 @@
1
1
  require 'httparty'
2
2
  module CloudFivePush
3
- class Message
4
- attr_accessor :user_identifiers, :message, :badge, :scheduled_at, :broadcast, :api_key
3
+ class Notification
4
+ attr_accessor :user_identifiers, :alert, :message, :badge, :scheduled_at, :broadcast, :api_key
5
5
 
6
6
  include HTTParty
7
7
  base_uri 'https://www.cloudfiveapp.com'
@@ -16,21 +16,25 @@ module CloudFivePush
16
16
  @user_identifiers = []
17
17
  end
18
18
 
19
- def send!
20
- if blank_param?(@user_identifiers) && (@broadcast == false)
19
+ def notify!
20
+ if blank_param?(@user_identifiers) && !@broadcast
21
21
  raise "Please set user_identifiers or set broadcast=true"
22
22
  end
23
- if blank_param?(@message) && blank_param?(@badge)
24
- raise "Please set message or badge"
23
+ if blank_param?(@alert) && blank_param?(@badge)
24
+ raise "Please set alert or badge"
25
25
  end
26
+ if @broadcast && !blank_param?(@user_identifers)
27
+ raise "Can't both broadcast and set user_identifiers"
28
+ end
29
+
26
30
  params = {
27
31
  api_key: @api_key,
28
- alert: @message,
32
+ alert: @alert,
29
33
  badge: @badge
30
34
  }
31
- if @scheduled_at
32
- params[:when] = @scheduled_at.iso8601
33
- end
35
+
36
+ params[:message] = @message if @message
37
+ params[:when] = @scheduled_at.iso8601 if @scheduled_at
34
38
 
35
39
  if @broadcast
36
40
  params[:audience] = "broadcast"
@@ -41,6 +45,10 @@ module CloudFivePush
41
45
  self.class.post('/push/notify', body: params)
42
46
  end
43
47
 
48
+ def user_identifiers=(user_identifers)
49
+ @user_identifers = [user_identifers].flatten
50
+ end
51
+
44
52
  private
45
53
 
46
54
  def blank_param?(param)
@@ -48,4 +56,4 @@ module CloudFivePush
48
56
  end
49
57
 
50
58
  end
51
- end
59
+ end
@@ -1,3 +1,3 @@
1
1
  module CloudFivePush
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
@@ -1,5 +1,5 @@
1
1
  require "cloud_five_push/version"
2
- require "cloud_five_push/message"
2
+ require "cloud_five_push/notification"
3
3
 
4
4
  module CloudFivePush
5
5
  @api_key = nil
@@ -11,10 +11,19 @@ module CloudFivePush
11
11
  @api_key
12
12
  end
13
13
 
14
- def self.broadcast!(message)
15
- m = CloudFivePush::Message.new
16
- m.broadcast = true
17
- m.message = message
18
- m.send!
14
+ def self.broadcast!(alert, scheduled_at = nil)
15
+ notification = CloudFivePush::Notification.new
16
+ notification.broadcast = true
17
+ notification.alert = alert
18
+ notification.scheduled_at = scheduled_at
19
+ notification.notify!
20
+ end
21
+
22
+ def self.notify!(alert, user_identifers, scheduled_at = nil)
23
+ notification = CloudFivePush::Notification.new
24
+ notification.alert = alert
25
+ notification.user_identifiers = user_identifiers
26
+ notification.scheduled_at = scheduled_at
27
+ notification.notify!
19
28
  end
20
29
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cloud_five_push
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brian Samson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-07-26 00:00:00.000000000 Z
11
+ date: 2014-07-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -66,7 +66,7 @@ files:
66
66
  - Rakefile
67
67
  - cloud_five_push.gemspec
68
68
  - lib/cloud_five_push.rb
69
- - lib/cloud_five_push/message.rb
69
+ - lib/cloud_five_push/notification.rb
70
70
  - lib/cloud_five_push/version.rb
71
71
  homepage: ''
72
72
  licenses: