hey-you 1.2.0 → 1.2.1

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
  SHA256:
3
- metadata.gz: 4d00b4135e266174d5c8a8a1090a34acedac8b2fbdc6c82c0dd19d9e30072ef3
4
- data.tar.gz: ae481c0244a148df0620a2507b6eacb94dfdaa72f4cbc6ddeccd909ce2c6d914
3
+ metadata.gz: a7b3080ba368db5d653caccc37a984f7700292a54ba90204c086bdd7b95b4b6d
4
+ data.tar.gz: c2f589b517e59fdda778d6b9f99074a7c2fc932bbf97052a395f1b3491260d74
5
5
  SHA512:
6
- metadata.gz: 40ce68c45090a678097d965c98603eeec09fbf87f2946f7f3602137c92a46636320e89a88c329b17a146b4eb0543be6e716d7ccbac2e4036dba0fe7ef476f6ea
7
- data.tar.gz: 538ceba1fd584b76ef57bad07583474d8ad17f52375f0521a467fd30208f5996ee76d9442f7927ae5ca8893ca41ec52e82c981df16a999e34e70aeef57c966db
6
+ metadata.gz: 3799695ed32d46f2aa0005346aa37d3b2288a373391900dedb575f90e5d71db4272d1d73edf3b5d5754066600bff886bc5e845271329bfead1dcc4f0208b3523
7
+ data.tar.gz: 29421836627cf3ba25e6731bca4e84830bef3f450ab5d400c85f7b80ef5a63b28c0492621e1edecb69ab2ae3506b1d178a88203ac34dec9a85a47d5171f0083a
@@ -1,8 +1,6 @@
1
1
  sudo: false
2
2
  language: ruby
3
3
  rvm:
4
- - 2.3.0
5
- - 2.4.0
6
4
  - 2.5.0
7
5
  - 2.6.0
8
6
  - 2.7.0
@@ -1,4 +1,8 @@
1
1
  # Changelog for hey-you gem
2
2
 
3
+ ### 1.2.1
4
+ - Improvement: Builder will not make channel builder if it skipped by only option
5
+
3
6
  ### 1.2.0
4
- - Feature: data source extensions (check readme for more information)
7
+ - Feature: data source extensions (check readme for more information).
8
+ __Attention__: You should rewrite your configuration for use yaml data source!
data/README.md CHANGED
@@ -20,7 +20,7 @@ him easy.
20
20
 
21
21
 
22
22
  ## Requirements
23
- * Ruby 2.3.0 min (rspec works with ruby 2.3.3, 2.4.2, 2.5.3)
23
+ * Ruby 2.5.0 min (rspec works with ruby 2.5.0, 2.6.0, 2.7.0)
24
24
  * FCM - Gem send push notification using [fcm gem](https://github.com/spacialdb/fcm).
25
25
  You need *fcm server key* to successful configure push notifications.
26
26
 
@@ -52,10 +52,12 @@ First, you must configure HeyYou. Example:
52
52
  #### Required settings
53
53
  Options for gem base work.
54
54
  ##### Data Source
55
- * __config.data_source.source_class__ - Class implemented instance method `load_collections` returning hash (by default HeyYou::DataSource::Yaml)
55
+ * __config.data_source.source_class__ - Class implemented instance method `load_collections` returning hash (by default `HeyYou::DataSource::Yaml`)
56
56
  * __config.data_source.options__ - Arguments for source_class. This options will be passed to init `source_class`
57
57
  OR
58
58
  * __config.data_source.source_instance__ - Instance of source class implemented `load_collections`
59
+
60
+ Read more about data source in [data source](#data-source-1).d
59
61
  ##### Push
60
62
  * __config.push.fcm_token__ - Required setting for push channel. You can not send
61
63
  push messages if setting was not set. You should set it to equal your fcm server key.
@@ -65,8 +67,6 @@ push messages if setting was not set. You should set it to equal your fcm server
65
67
  #### Optional settings
66
68
  Additional options for configure your notifications.
67
69
  #### Base
68
- * __config.env_collection_file__ - File contained all your notifications texts for
69
- environment. You can set it like `notifications.#{ENV['APP_ENV]}.yml`
70
70
  * __config.splitter__ - Chars for split notification keys for
71
71
  builder. Default: `.`
72
72
  * __config.registered_channels__ - Avialable channels for your
@@ -26,7 +26,7 @@ Gem::Specification.new do |spec|
26
26
  spec.add_runtime_dependency "mail", '~> 2.7'
27
27
  spec.add_runtime_dependency "i18n", '~> 1.0'
28
28
 
29
- spec.add_development_dependency "rake", '~> 10.5'
29
+ spec.add_development_dependency "rake", '~> 13.0'
30
30
  spec.add_development_dependency "rspec", '~> 3.7'
31
31
  spec.add_development_dependency "webmock", '~> 3.4'
32
32
  spec.add_development_dependency "ffaker", '~> 2.9'
@@ -13,11 +13,14 @@ module HeyYou
13
13
  # Define methods for each registered channel. After initialize you can use
14
14
  # `instance.<ch_name>`. It will be return instance of HeyYou::Builder::<YOUR_CHANNEL_NAME>
15
15
  #
16
+ # Skip builder for excluded channels (not included in `only` option)
17
+ #
18
+ # @param [String] key - notification key for fetching notification data from collection
16
19
  def initialize(key, **options)
17
20
  @data = fetch_from_collection_by_key(key, options[:locale])
18
21
  @options = options
19
22
  config.registered_channels.each do |ch|
20
- init_channel_builder(ch, key)
23
+ init_channel_builder(ch, key) if channel_allowed_by_only?(ch, options[:only])
21
24
  end
22
25
  end
23
26
 
@@ -61,6 +64,12 @@ module HeyYou
61
64
  raise DataNotFound, "collection data not found for `#{keys.join(config.splitter)}`"
62
65
  end
63
66
 
67
+ def channel_allowed_by_only?(ch, only)
68
+ return true unless only
69
+ return only.map(&:to_sym).include?(ch.to_sym) if only.is_a?(Array)
70
+ only.to_sym == ch.to_sym
71
+ end
72
+
64
73
  class UnknownLocale < StandardError; end
65
74
  class DataNotFound < StandardError; end
66
75
  class RequiredChannelNotFound < StandardError; end
@@ -1,3 +1,3 @@
1
1
  module HeyYou
2
- VERSION = "1.2.0"
2
+ VERSION = "1.2.1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hey-you
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sergey Nesterov
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-02-15 00:00:00.000000000 Z
11
+ date: 2020-07-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fcm
@@ -58,14 +58,14 @@ dependencies:
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '10.5'
61
+ version: '13.0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '10.5'
68
+ version: '13.0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rspec
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -166,7 +166,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
166
166
  - !ruby/object:Gem::Version
167
167
  version: '0'
168
168
  requirements: []
169
- rubygems_version: 3.0.6
169
+ rubygems_version: 3.0.8
170
170
  signing_key:
171
171
  specification_version: 4
172
172
  summary: Send multichannel notification with one command.