active_notifier 0.4.1 → 0.4.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
  SHA256:
3
- metadata.gz: 8919ed9bb7359c3c50bc1501c733507015b25f9b158f309dd522f38fc4058663
4
- data.tar.gz: 6b7e4c32efce34c3b111a1b9a52ddcb6e119a8302c1053411f8132be02e0d37d
3
+ metadata.gz: 254bfd0c06440a25f2cf53153898e2010418ca96a56cbe6c7827825e5f9e818a
4
+ data.tar.gz: 258b87d6e0eb00c59eb50f52d2bc42f2394e9ee04f8d0bee741521f97c1d81dc
5
5
  SHA512:
6
- metadata.gz: e943777261d19d6ac66da441ffbb899cee74a686b46a91aad7b0a871863b06cc8b7ea9ad5d255ee0a59644307a502fe6965b428d7a9c1bff28a05bad9f5542d9
7
- data.tar.gz: 32a64dcc3fde456796fba803c42b1a347e33206b9170f490491c577b111e9c4a72d2a72124fa08bbfc03ae6a2f08f00d007a39af14cd398bc72b879b2f6e136c
6
+ metadata.gz: 9663e46179b67b36a7e6ac2314e1543f2e5e36e45e664e679aaf0d2df111c3007dc294fad8c806cf800b00735ff6bf87efa53b502cf5b404505ad26c2d9eb949
7
+ data.tar.gz: ed3b18444058d482c8876325611b9cee248ae8e628d4828009515db942ffd90fbd259819b3d7afef0318600309904f234e8ed9d495666cbe83b168b0b9da0b42
data/README.md CHANGED
@@ -16,47 +16,72 @@ gem 'active_notifier'
16
16
 
17
17
  And then execute:
18
18
 
19
- $ bundle
19
+ ```shell
20
+ $ bundle
21
+ ```
20
22
 
21
23
  Or install it yourself as:
22
24
 
23
- $ gem install active_notifier
25
+ ```shell
26
+ $ gem install active_notifier
27
+ ```
28
+
29
+ ## Support
30
+
31
+ | Notifier adapter | message type | support options |
32
+ | ---------------- | -------------- | --------------- |
33
+ | Dingtalk | text, markdown | all |
24
34
 
25
35
  ## Basic Usage
26
36
 
27
37
  Just notify the message through a webhook token, ActiveNotifier use Dingtalk by default, the webhook token
28
38
  need be a accessible dingtalk webhook token.
29
39
 
40
+ In your IRB environment:
41
+
30
42
  ```ruby
31
43
  ActiveNotifier.exec(token: "your-webhook-token", message: "your-message")
32
44
  ```
33
45
 
34
46
  Is it too much trouble to set the token and message always? You can save commonly used ones and access them via better ways.
35
- For token, ActiveNotifier use channel_tokens to store it, and for message, we can use the ERB template and locals data, like the familiar ActiveView does.
36
47
 
48
+ For token, ActiveNotifier use `channel_tokens` to store it, and for message, we can use the ERB template and `data` option for locals, like the familiar Rails does.
49
+
50
+ In any file you want to config ActiveNotifier:
37
51
 
38
52
  ```ruby
39
53
  ActiveNotifier.configure do |config|
40
54
  config.channel_tokens = { my_channel: "xxx" }
41
- config.template_home = Rails.root.join("app", "views", "active_notifier")
55
+ config.template_home = SOME_DIR
42
56
  end
43
57
  ```
44
58
 
59
+ Edit the template of `my_channel`:
60
+
45
61
  ```shell
46
- echo "## #{data[:title]\n> #{data[:body]}}" > app/views/active_notifier/my_channel.markdown.erb
62
+ $ echo "## #{data[:title]\n> #{data[:body]}}" > SOME_DIR/my_channel.markdown.erb
47
63
  ```
48
64
 
65
+ Then execute it in IRB:
66
+
49
67
  ```ruby
50
68
  ActiveNotifier.exec(token_channel: :my_channel, template: :my_channel, data: { title: "Message Title", body: "Message Body" })
51
69
  ```
52
70
 
53
- Also when token_channel and template is the same, we can simplify it by using the first optional argument channel
71
+ Also when token_channel name and template name is the same, we can simplify it by using the first optional argument `channel`
54
72
 
55
73
  ```ruby
56
74
  ActiveNotifier.exec(:my_channel, data: { title: "Message Title", body: "Message Body" })
57
75
  ```
76
+ ### For Rails application
77
+
78
+ There are generators that simplify the above operations:
79
+
80
+ ```shell
81
+ $ rails generate active_notifier:install
82
+ ```
58
83
 
59
- ## Advanced knowledge
84
+ ## More knowledge
60
85
 
61
86
  ### Send message with dynamic type
62
87
 
@@ -103,7 +128,7 @@ Notifer.exec(...)
103
128
 
104
129
  * [More Examples](https://github.com/pinewong/active_notifier/blob/master/spec/active_notifier_spec.rb)
105
130
  * [RDoc](https://www.rubydoc.info/github/pinewong/active_notifier)
106
- * [Gem RDoc](http://www.rubydoc.info/gems/active_notifier/0.4.1)
131
+ * [Gem RDoc](http://www.rubydoc.info/gems/active_notifier/0.4.2)
107
132
 
108
133
  ## Development
109
134
 
@@ -30,6 +30,8 @@ Gem::Specification.new do |spec|
30
30
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
31
31
  spec.require_paths = ["lib"]
32
32
 
33
+ spec.required_ruby_version = ">= 2.3"
34
+
33
35
  spec.add_dependency "active_adapter", "~> 0.1.0"
34
36
  spec.add_dependency "activesupport", "~> 5.0"
35
37
  end
@@ -1,3 +1,3 @@
1
1
  module ActiveNotifier
2
- VERSION = "0.4.1".freeze
2
+ VERSION = "0.4.2".freeze
3
3
  end
@@ -0,0 +1,17 @@
1
+ module ActiveNotifier
2
+ module Generators
3
+ # ActiveNotifier generator for Rails application
4
+ class InstallGenerator < ::Rails::Generators::Base
5
+ desc "Generates ActiveNotifier configuration files."
6
+ source_root File.expand_path("../../", __dir__)
7
+
8
+ def copy_initializer
9
+ template "generators/active_notifier/templates/active_notifier.rb", "config/initializers/active_notifier.rb"
10
+ end
11
+
12
+ def copy_templates
13
+ directory "active_notifier/templates", "app/views/active_notifier"
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,23 @@
1
+ ActiveNotifier.configure do |config|
2
+ # Set alias const for ActiveNotifier
3
+ # Default: :Notifier
4
+ # config.const_name = :Notifier
5
+ #
6
+ # Set message Adapter
7
+ # Default: :dingtalk
8
+ # config.adapter = :dingtalk
9
+ #
10
+ # The webhook tokens of channel
11
+ # config.channel_tokens = {
12
+ # default: "dingtalk_token_xxxxxxxxxxxxxxxxx",
13
+ # order: "dingtalk_token_for_order_xxxxxxx",
14
+ # }
15
+ #
16
+ # The template home directory
17
+ config.template_home = Rails.root.join("app", "views", "active_notifier")
18
+ #
19
+ # The priority type for message, if notifier execute without type option and there are multiple valid types,
20
+ # then ActiveNotifier will use the template with this type first
21
+ # Default: :markdown
22
+ # config.priority_type = :markdown
23
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_notifier
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ version: 0.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pine Wong
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-07-31 00:00:00.000000000 Z
11
+ date: 2018-08-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: active_adapter
@@ -67,6 +67,8 @@ files:
67
67
  - lib/active_notifier/templates/default.markdown.erb
68
68
  - lib/active_notifier/templates/default.text.erb
69
69
  - lib/active_notifier/version.rb
70
+ - lib/generators/active_notifier/install_generator.rb
71
+ - lib/generators/active_notifier/templates/active_notifier.rb
70
72
  homepage: https://github.com/pinewong/active_notifier
71
73
  licenses: []
72
74
  metadata: {}
@@ -78,7 +80,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
78
80
  requirements:
79
81
  - - ">="
80
82
  - !ruby/object:Gem::Version
81
- version: '0'
83
+ version: '2.3'
82
84
  required_rubygems_version: !ruby/object:Gem::Requirement
83
85
  requirements:
84
86
  - - ">="