wor-push-notifications-aws 0.1.1 → 0.1.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,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2579fa5d87164c198bdd3cb86e90d814ad261ff3
4
- data.tar.gz: 432f4ce9d4b23d10837dd296035a6a8ce7e01de3
3
+ metadata.gz: 3aed8f38a01364430d92a20a147a62d40d605882
4
+ data.tar.gz: 6cfc3f08dec5d5cecc6e0459901fd3519b5f84d0
5
5
  SHA512:
6
- metadata.gz: 9d5ced70039d2f3bd7e25a4fd871e35eb80dadb47bd46bf29793ddcb4289618568531fb8f5a81bd98b559f7ada580c7b19cb01faaf1d1136467a64eea2cf0234
7
- data.tar.gz: de0b2b76ad7aac52e7e268fc029035cf66a22c685ad86dc636dcd1acccbd79280754e4796c0d91a619922560bca0ac5048ca8cccf1cb2b149f6dfe21278e6a3e
6
+ metadata.gz: b354e3fe8d72aed6dc0bfed248b0507d7d9c38ccae5c4fdd39f187b97324c21108c8218c1b92491aa8daf64b75a5655b5dd1a3eac3b7cf3a8cf4fe2c1f84d3c8
7
+ data.tar.gz: eb2e65945a6b76d8b0ab703c72618005838ad3257f64dc849040699d910bd1620a624e0027d50e0cee8851940c1e9710a438d59fe06471f8a69529b160a993bf
@@ -0,0 +1,14 @@
1
+ Change log
2
+
3
+ [0.1.2] - 2017-08-04
4
+
5
+ - Adds validations for the `message_content`
6
+ - Accepts `message_content` with Strings or Symbols as keys
7
+
8
+ [0.1.1]
9
+
10
+ - Fixes SNS::Client location
11
+
12
+ [0.1.0]
13
+
14
+ - wor-push-notifications-aws gem first release.
@@ -31,8 +31,10 @@ module Wor
31
31
  end
32
32
 
33
33
  def send_message(user, message_content)
34
- PushNotificationsValidator.new(user).validate_send_message(message_content)
35
- message_content = badge_check(message_content)
34
+ PushNotificationsValidator.new(user).validate_model
35
+ message_content = PushNotificationsValidator.validate_message_content(
36
+ message_content
37
+ )
36
38
  send_notifications_to_user(user, message_content)
37
39
  end
38
40
 
@@ -83,11 +85,6 @@ module Wor
83
85
  }
84
86
  }
85
87
  end
86
-
87
- def badge_check(message_content)
88
- message_content[:badge] = 1 if message_content[:badge].nil?
89
- message_content
90
- end
91
88
  end
92
89
  end
93
90
  end
@@ -20,10 +20,33 @@ module Wor
20
20
  validate_existence_of_attributes_in_model
21
21
  end
22
22
 
23
- def validate_send_message(message_content)
23
+ def validate_model
24
24
  validate_model_existance
25
25
  validate_existence_of_attributes_in_model
26
- validate_message_content(message_content)
26
+ end
27
+
28
+ class << self
29
+ def validate_message_content(message_content)
30
+ raise ArgumentError, message_content_type_error unless message_content.is_a?(Hash)
31
+ message_content = message_content.with_indifferent_access
32
+ raise ArgumentError, message_content_error if message_content[:message].blank?
33
+ badge_check(message_content)
34
+ end
35
+
36
+ private
37
+
38
+ def message_content_error
39
+ "the message_content must have a 'message' field"
40
+ end
41
+
42
+ def message_content_type_error
43
+ 'message_content must be a Hash'
44
+ end
45
+
46
+ def badge_check(message_content)
47
+ message_content[:badge] ||= 1
48
+ message_content
49
+ end
27
50
  end
28
51
 
29
52
  private
@@ -38,10 +61,6 @@ module Wor
38
61
  message_for_missing_attribute_in_model
39
62
  end
40
63
 
41
- def validate_message_content(message_content)
42
- raise ArgumentError, message_content_error_message if message_content[:message].blank?
43
- end
44
-
45
64
  def validate_parameters
46
65
  raise ArgumentError, message_for_invalid_device_type unless device_type_valid?
47
66
  raise ArgumentError, message_for_nil_device_token if @device_token.blank?
@@ -64,10 +83,6 @@ module Wor
64
83
  'your entity instance cannot be nil.'
65
84
  end
66
85
 
67
- def message_content_error_message
68
- "the message_content must have a 'message' field"
69
- end
70
-
71
86
  def device_type_valid?
72
87
  Wor::Push::Notifications::Aws.device_types.include? @device_type
73
88
  end
@@ -2,7 +2,7 @@ module Wor
2
2
  module Push
3
3
  module Notifications
4
4
  module Aws
5
- VERSION = '0.1.1'.freeze
5
+ VERSION = '0.1.2'.freeze
6
6
  end
7
7
  end
8
8
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wor-push-notifications-aws
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Leandro Masello
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2017-07-27 00:00:00.000000000 Z
12
+ date: 2017-08-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: railties
@@ -59,6 +59,7 @@ files:
59
59
  - ".rspec"
60
60
  - ".rubocop.yml"
61
61
  - ".travis.yml"
62
+ - CHANGELOG.md
62
63
  - Gemfile
63
64
  - LICENSE.txt
64
65
  - README.md