cloud_five_push 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
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: