fluent-plugin-sakuraio 0.1.3 → 0.2.0

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