fluent-plugin-sakuraio 0.1.3 → 0.2.0

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: 5e4048610939f4ee51631219d5f0e08a43c4d66a339e5527a6f6fdcdcedc0ad2
4
- data.tar.gz: 4cd1c9fb745886a0927276c88068f7252e25ae254fdab3dcfd5c040b79ebcf47
3
+ metadata.gz: 2133a1990142c8af8b45606a6c4da9dcbcfda3e03acadd54fd1a0d6a32fe7071
4
+ data.tar.gz: d470a453155ca5e7e43a340002f57d4a083c0ba34b89c612b4354c21d0620749
5
5
  SHA512:
6
- metadata.gz: a3e10d9c21538474d6b6a57cf6a729b874b796c23a7c9f1e260f213c64da43d196e7a87d08fe89d455388399267348802419840e151e54be00656a4b7fcf7f6a
7
- data.tar.gz: 5c00a268963655a5508f62bc162c76e320d2dc465ebc0b4886f5e28daac09bbc5421199378ca70136b11452e33b455a1e1506badee6a35adb869629b7a3b3ee7
6
+ metadata.gz: 2a753e2252f6e642220d6704319d359fb589b0679a6d8ad2505ac7f62e22f3277934e134e7d02048ee5c08927ab5ac97d10c8347446e3ca088c711b048d2a5e2
7
+ data.tar.gz: 047b19c1f4424c8bea013fa513b2d01eaf4ef1acef08094d22ca7a1a1c40d77ab68f5ecf6259e569d55d2b8766714fe625bc8a86470eb44f1694c696c68ae754
@@ -0,0 +1,34 @@
1
+ name: test
2
+
3
+ on: [push, pull_request]
4
+
5
+ jobs:
6
+ build:
7
+ name: Build
8
+ runs-on: ubuntu-latest
9
+ steps:
10
+ - uses: actions/checkout@v1
11
+ - name: Set up Ruby
12
+ uses: actions/setup-ruby@v1
13
+ with:
14
+ ruby-version: 2.6.x
15
+ - uses: actions/cache@v1
16
+ with:
17
+ path: vendor/bundle
18
+ key: ${{ runner.os }}-gem-${{ hashFiles('**/Gemfile.lock') }}
19
+ restore-keys: |
20
+ ${{ runner.os }}-gem-
21
+ - name: Bundle install
22
+ run: |
23
+ gem install bundler -v 2.1.4
24
+ bundle config path vendor/bundle
25
+ bundle install --jobs 4 --retry 3
26
+ - name: rubocop
27
+ run: |
28
+ bundle exec rubocop
29
+ - name: test
30
+ run: |
31
+ bundle exec rake test
32
+ env:
33
+ CI: true
34
+ CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
data/.gitignore CHANGED
@@ -1,6 +1,5 @@
1
1
  /.bundle/
2
2
  /.yardoc
3
- /Gemfile.lock
4
3
  /_yardoc/
5
4
  /coverage/
6
5
  /doc/
data/.rubocop.yml CHANGED
@@ -13,6 +13,9 @@ Style/ClassAndModuleChildren:
13
13
  Style/Documentation:
14
14
  Enabled: false
15
15
 
16
+ Metrics/AbcSize:
17
+ Max: 25
18
+
16
19
  Metrics/BlockLength:
17
20
  Exclude:
18
21
  - 'test/**/*'
data/Gemfile.lock ADDED
@@ -0,0 +1,100 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ fluent-plugin-sakuraio (0.1.3)
5
+ eventmachine
6
+ faye-websocket
7
+ fluentd (>= 0.14, < 2)
8
+ yajl-ruby
9
+
10
+ GEM
11
+ remote: https://rubygems.org/
12
+ specs:
13
+ ast (2.4.0)
14
+ codecov (0.1.16)
15
+ json
16
+ simplecov
17
+ url
18
+ concurrent-ruby (1.1.5)
19
+ cool.io (1.5.4)
20
+ daemons (1.3.1)
21
+ dig_rb (1.0.1)
22
+ docile (1.3.2)
23
+ eventmachine (1.2.7)
24
+ faye-websocket (0.10.9)
25
+ eventmachine (>= 0.12.0)
26
+ websocket-driver (>= 0.5.1)
27
+ fluentd (1.8.1)
28
+ cool.io (>= 1.4.5, < 2.0.0)
29
+ dig_rb (~> 1.0.0)
30
+ http_parser.rb (>= 0.5.1, < 0.7.0)
31
+ msgpack (>= 1.2.0, < 2.0.0)
32
+ serverengine (>= 2.0.4, < 3.0.0)
33
+ sigdump (~> 0.2.2)
34
+ strptime (>= 0.2.2, < 1.0.0)
35
+ tzinfo (>= 1.0, < 3.0)
36
+ tzinfo-data (~> 1.0)
37
+ yajl-ruby (~> 1.0)
38
+ http_parser.rb (0.6.0)
39
+ jaro_winkler (1.5.4)
40
+ json (2.3.0)
41
+ msgpack (1.3.1)
42
+ parallel (1.19.1)
43
+ parser (2.7.0.1)
44
+ ast (~> 2.4.0)
45
+ power_assert (1.1.5)
46
+ rack (2.0.8)
47
+ rainbow (3.0.0)
48
+ rake (13.0.1)
49
+ rubocop (0.79.0)
50
+ jaro_winkler (~> 1.5.1)
51
+ parallel (~> 1.10)
52
+ parser (>= 2.7.0.1)
53
+ rainbow (>= 2.2.2, < 4.0)
54
+ ruby-progressbar (~> 1.7)
55
+ unicode-display_width (>= 1.4.0, < 1.7)
56
+ rubocop-performance (1.5.2)
57
+ rubocop (>= 0.71.0)
58
+ ruby-progressbar (1.10.1)
59
+ serverengine (2.2.0)
60
+ sigdump (~> 0.2.2)
61
+ sigdump (0.2.4)
62
+ simplecov (0.17.1)
63
+ docile (~> 1.1)
64
+ json (>= 1.8, < 3)
65
+ simplecov-html (~> 0.10.0)
66
+ simplecov-html (0.10.2)
67
+ strptime (0.2.3)
68
+ test-unit (3.3.4)
69
+ power_assert
70
+ thin (1.7.2)
71
+ daemons (~> 1.0, >= 1.0.9)
72
+ eventmachine (~> 1.0, >= 1.0.4)
73
+ rack (>= 1, < 3)
74
+ tzinfo (2.0.1)
75
+ concurrent-ruby (~> 1.0)
76
+ tzinfo-data (1.2019.3)
77
+ tzinfo (>= 1.0.0)
78
+ unicode-display_width (1.6.0)
79
+ url (0.3.2)
80
+ websocket-driver (0.7.1)
81
+ websocket-extensions (>= 0.1.0)
82
+ websocket-extensions (0.1.4)
83
+ yajl-ruby (1.4.1)
84
+
85
+ PLATFORMS
86
+ ruby
87
+
88
+ DEPENDENCIES
89
+ bundler
90
+ codecov
91
+ fluent-plugin-sakuraio!
92
+ rack
93
+ rake
94
+ rubocop
95
+ rubocop-performance
96
+ test-unit
97
+ thin
98
+
99
+ BUNDLED WITH
100
+ 2.1.4
data/README.md CHANGED
@@ -21,6 +21,7 @@ gem install 'fluent-plugin-sakuraio'
21
21
  <source>
22
22
  @type sakuraio
23
23
  url wss://api.sakura.io/ws/v1/xxxxxxxxxxxxxxxxxxxxxxx
24
+ ping 60
24
25
  </source>
25
26
  ```
26
27
 
@@ -45,6 +46,7 @@ The details of sakura.io message spec: https://sakura.io/docs/pages/platform-spe
45
46
  url wss://api.sakura.io/ws/v1/xxxxxxxxxxxxxxxxxxxxxxx
46
47
  modules ["uXXXXXXXXXXX"] # array of modules
47
48
  channels {"0": ["key", "i"]} # hash of channels {"channel number": ["key in record", "data type"]}
49
+ ping 60
48
50
  </match>
49
51
  ```
50
52
 
data/Rakefile CHANGED
@@ -7,6 +7,7 @@ Rake::TestTask.new(:test) do |test|
7
7
  test.libs << 'lib' << 'test'
8
8
  test.pattern = 'test/**/test_*.rb'
9
9
  test.verbose = true
10
+ test.ruby_opts += ['-W1']
10
11
  end
11
12
 
12
13
  task default: :test
data/codecov.yml ADDED
@@ -0,0 +1,2 @@
1
+ ignore:
2
+ - "test"
@@ -5,7 +5,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
5
 
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = 'fluent-plugin-sakuraio'
8
- spec.version = '0.1.3'
8
+ spec.version = '0.2.0'
9
9
  spec.authors = ['Yuya Kusakabe']
10
10
  spec.email = ['yuya.kusakabe@gmail.com']
11
11
 
@@ -28,6 +28,7 @@ Gem::Specification.new do |spec|
28
28
  spec.add_runtime_dependency 'fluentd', '>= 0.14', '< 2'
29
29
  spec.add_runtime_dependency 'yajl-ruby'
30
30
  spec.add_development_dependency 'bundler'
31
+ spec.add_development_dependency 'codecov'
31
32
  spec.add_development_dependency 'rack'
32
33
  spec.add_development_dependency 'rake'
33
34
  spec.add_development_dependency 'rubocop'
@@ -12,6 +12,7 @@ module Fluent::Plugin
12
12
  helpers :thread
13
13
 
14
14
  config_param :url, :string, secret: true
15
+ config_param :ping, :integer, default: 60
15
16
 
16
17
  def configure(conf)
17
18
  super
@@ -41,7 +42,9 @@ module Fluent::Plugin
41
42
  end
42
43
 
43
44
  def run
44
- client = Faye::WebSocket::Client.new(@url)
45
+ options = {}
46
+ @ping.positive? options[:ping] = @ping
47
+ client = Faye::WebSocket::Client.new(@url, nil, options)
45
48
  EM.next_tick do
46
49
  client.on :open do
47
50
  log.info "sakuraio: starting websocket connection for #{@url}."
@@ -55,8 +58,9 @@ module Fluent::Plugin
55
58
  log.warn "sakuraio: #{event.message}"
56
59
  end
57
60
 
58
- client.on :close do
59
- client = nil
61
+ client.on :close do |event|
62
+ log.warn "sakuraio: #{event.code} #{event.reason}"
63
+ run
60
64
  end
61
65
  end
62
66
  end
@@ -12,6 +12,7 @@ module Fluent::Plugin
12
12
  config_param :modules, :array, value_type: :string, secret: true
13
13
  # channels {"channel_number": ["key", "type"]}
14
14
  config_param :channels, :hash
15
+ config_param :ping, :integer, default: 60
15
16
 
16
17
  def configure(conf)
17
18
  super
@@ -29,7 +30,9 @@ module Fluent::Plugin
29
30
  end
30
31
 
31
32
  def run
32
- @client = Faye::WebSocket::Client.new(@url)
33
+ options = {}
34
+ @ping.positive? options[:ping] = @ping
35
+ @client = Faye::WebSocket::Client.new(@url, nil, options)
33
36
  EM.next_tick do
34
37
  @client.on :open do
35
38
  log.info "sakuraio: starting websocket connection for #{@url}."
@@ -43,8 +46,9 @@ module Fluent::Plugin
43
46
  log.warn "sakuraio: #{event.message}"
44
47
  end
45
48
 
46
- @client.on :close do
47
- @client = nil
49
+ @client.on :close do |event|
50
+ log.warn "sakuraio: #{event.code} #{event.reason}"
51
+ run
48
52
  end
49
53
  end
50
54
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-sakuraio
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yuya Kusakabe
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-01-08 00:00:00.000000000 Z
11
+ date: 2020-01-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: eventmachine
@@ -86,6 +86,20 @@ dependencies:
86
86
  - - ">="
87
87
  - !ruby/object:Gem::Version
88
88
  version: '0'
89
+ - !ruby/object:Gem::Dependency
90
+ name: codecov
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - ">="
94
+ - !ruby/object:Gem::Version
95
+ version: '0'
96
+ type: :development
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ version: '0'
89
103
  - !ruby/object:Gem::Dependency
90
104
  name: rack
91
105
  requirement: !ruby/object:Gem::Requirement
@@ -177,14 +191,16 @@ executables: []
177
191
  extensions: []
178
192
  extra_rdoc_files: []
179
193
  files:
194
+ - ".github/workflows/test.yml"
180
195
  - ".gitignore"
181
196
  - ".rubocop.yml"
182
- - ".travis.yml"
183
197
  - CHANGELOG.md
184
198
  - Gemfile
199
+ - Gemfile.lock
185
200
  - LICENSE.txt
186
201
  - README.md
187
202
  - Rakefile
203
+ - codecov.yml
188
204
  - fluent-plugin-sakuraio.gemspec
189
205
  - lib/fluent/plugin/in_sakuraio.rb
190
206
  - lib/fluent/plugin/out_sakuraio.rb
data/.travis.yml DELETED
@@ -1,13 +0,0 @@
1
- sudo: false
2
- language: ruby
3
- rvm:
4
- - 2.1
5
- - 2.2
6
- - 2.3.5
7
- - 2.4.2
8
- - ruby-head
9
- script:
10
- - bundle exec rake test
11
- matrix:
12
- allow_failures:
13
- - rvm: ruby-head