fluent-plugin-twitter 0.2.4 → 0.3.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.
- data/.travis.yml +1 -0
- data/Gemfile +0 -1
- data/README.md +14 -2
- data/fluent-plugin-twitter.gemspec +5 -5
- data/lib/fluent/plugin/in_twitter.rb +2 -0
- data/lib/fluent/plugin/out_twitter.rb +14 -6
- data/test/plugin/test_in_twitter.rb +2 -1
- data/test/plugin/test_out_twitter.rb +17 -15
- metadata +16 -16
data/.travis.yml
CHANGED
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -4,6 +4,18 @@ fluent-plugin-twitter [
|
|
3
3
|
|
4
4
|
Gem::Specification.new do |s|
|
5
5
|
s.name = "fluent-plugin-twitter"
|
6
|
-
s.version = "0.
|
6
|
+
s.version = "0.3.0"
|
7
7
|
s.authors = ["Kentaro Yoshida"]
|
8
8
|
s.email = ["y.ken.studio@gmail.com"]
|
9
9
|
s.homepage = "https://github.com/y-ken/fluent-plugin-twitter"
|
@@ -16,8 +16,8 @@ Gem::Specification.new do |s|
|
|
16
16
|
|
17
17
|
# specify any dependencies here; for example:
|
18
18
|
s.add_development_dependency "rake"
|
19
|
-
s.add_runtime_dependency "fluentd"
|
20
|
-
s.add_runtime_dependency "em-twitter"
|
21
|
-
s.add_runtime_dependency "twitter"
|
22
|
-
s.add_runtime_dependency "tweetstream"
|
19
|
+
s.add_runtime_dependency "fluentd", [">= 0.10.46"]
|
20
|
+
s.add_runtime_dependency "em-twitter"
|
21
|
+
s.add_runtime_dependency "twitter"
|
22
|
+
s.add_runtime_dependency "tweetstream"
|
23
23
|
end
|
@@ -31,6 +31,8 @@ module Fluent
|
|
31
31
|
raise Fluent::ConfigError, "output_format value undefined #{@output_format}"
|
32
32
|
end
|
33
33
|
|
34
|
+
@keyword = @keyword.gsub('${hashtag}', '#') unless @keyword.nil?
|
35
|
+
|
34
36
|
TweetStream.configure do |config|
|
35
37
|
config.consumer_key = @consumer_key
|
36
38
|
config.consumer_secret = @consumer_secret
|
@@ -3,8 +3,10 @@ class Fluent::TwitterOutput < Fluent::Output
|
|
3
3
|
|
4
4
|
config_param :consumer_key, :string
|
5
5
|
config_param :consumer_secret, :string
|
6
|
-
config_param :oauth_token, :string
|
7
|
-
config_param :oauth_token_secret, :string
|
6
|
+
config_param :oauth_token, :string, :default => nil
|
7
|
+
config_param :oauth_token_secret, :string, :default => nil
|
8
|
+
config_param :access_token, :string, :default => nil
|
9
|
+
config_param :access_token_secret, :string, :default => nil
|
8
10
|
|
9
11
|
def initialize
|
10
12
|
super
|
@@ -14,11 +16,17 @@ class Fluent::TwitterOutput < Fluent::Output
|
|
14
16
|
def configure(conf)
|
15
17
|
super
|
16
18
|
|
19
|
+
@access_token = @access_token || @oauth_token
|
20
|
+
@access_token_secret = @access_token_secret || @oauth_token_secret
|
21
|
+
if !@consumer_key or !@consumer_secret or !@access_token or !@access_token_secret
|
22
|
+
raise Fluent::ConfigError, "missing values in consumer_key or consumer_secret or oauth_token or oauth_token_secret"
|
23
|
+
end
|
24
|
+
|
17
25
|
@twitter = Twitter::Client.new(
|
18
|
-
:consumer_key =>
|
19
|
-
:consumer_secret =>
|
20
|
-
:
|
21
|
-
:
|
26
|
+
:consumer_key => @consumer_key,
|
27
|
+
:consumer_secret => @consumer_secret,
|
28
|
+
:access_token => @access_token,
|
29
|
+
:access_token_secret => @access_token_secret
|
22
30
|
)
|
23
31
|
end
|
24
32
|
|
@@ -29,12 +29,13 @@ class TwitterInputTest < Test::Unit::TestCase
|
|
29
29
|
oauth_token_secret OAUTH_TOKEN_SECRET
|
30
30
|
tag input.twitter
|
31
31
|
timeline sampling
|
32
|
+
keyword ${hashtag}ruby lang:ja "happy hour" :)
|
32
33
|
]
|
33
|
-
d.instance.inspect
|
34
34
|
assert_equal 'CONSUMER_KEY', d.instance.consumer_key
|
35
35
|
assert_equal 'CONSUMER_SECRET', d.instance.consumer_secret
|
36
36
|
assert_equal 'OAUTH_TOKEN', d.instance.oauth_token
|
37
37
|
assert_equal 'OAUTH_TOKEN_SECRET', d.instance.oauth_token_secret
|
38
|
+
assert_equal '#ruby lang:ja "happy hour" :)', d.instance.keyword
|
38
39
|
end
|
39
40
|
end
|
40
41
|
|
@@ -8,8 +8,8 @@ class TwitterOutputTest < Test::Unit::TestCase
|
|
8
8
|
CONFIG = %[
|
9
9
|
consumer_key CONSUMER_KEY
|
10
10
|
consumer_secret CONSUMER_SECRET
|
11
|
-
|
12
|
-
|
11
|
+
access_token ACCESS_TOKEN
|
12
|
+
access_token_secret ACCESS_TOKEN_SECRET
|
13
13
|
]
|
14
14
|
|
15
15
|
def create_driver(conf=CONFIG,tag='test')
|
@@ -23,24 +23,26 @@ class TwitterOutputTest < Test::Unit::TestCase
|
|
23
23
|
d = create_driver %[
|
24
24
|
consumer_key CONSUMER_KEY
|
25
25
|
consumer_secret CONSUMER_SECRET
|
26
|
-
|
27
|
-
|
26
|
+
access_token ACCESS_TOKEN
|
27
|
+
access_token_secret ACCESS_TOKEN_SECRET
|
28
28
|
]
|
29
|
-
d.instance.inspect
|
30
29
|
assert_equal 'CONSUMER_KEY', d.instance.consumer_key
|
31
30
|
assert_equal 'CONSUMER_SECRET', d.instance.consumer_secret
|
32
|
-
assert_equal '
|
33
|
-
assert_equal '
|
31
|
+
assert_equal 'ACCESS_TOKEN', d.instance.access_token
|
32
|
+
assert_equal 'ACCESS_TOKEN_SECRET', d.instance.access_token_secret
|
34
33
|
end
|
35
34
|
|
36
|
-
def
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
assert_equal
|
35
|
+
def test_configure_compatible
|
36
|
+
d = create_driver %[
|
37
|
+
consumer_key CONSUMER_KEY
|
38
|
+
consumer_secret CONSUMER_SECRET
|
39
|
+
oauth_token ACCESS_TOKEN
|
40
|
+
oauth_token_secret ACCESS_TOKEN_SECRET
|
41
|
+
]
|
42
|
+
assert_equal 'CONSUMER_KEY', d.instance.consumer_key
|
43
|
+
assert_equal 'CONSUMER_SECRET', d.instance.consumer_secret
|
44
|
+
assert_equal 'ACCESS_TOKEN', d.instance.access_token
|
45
|
+
assert_equal 'ACCESS_TOKEN_SECRET', d.instance.access_token_secret
|
44
46
|
end
|
45
47
|
end
|
46
48
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluent-plugin-twitter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2014-04-22 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rake
|
@@ -34,7 +34,7 @@ dependencies:
|
|
34
34
|
requirements:
|
35
35
|
- - ! '>='
|
36
36
|
- !ruby/object:Gem::Version
|
37
|
-
version:
|
37
|
+
version: 0.10.46
|
38
38
|
type: :runtime
|
39
39
|
prerelease: false
|
40
40
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -42,55 +42,55 @@ dependencies:
|
|
42
42
|
requirements:
|
43
43
|
- - ! '>='
|
44
44
|
- !ruby/object:Gem::Version
|
45
|
-
version:
|
45
|
+
version: 0.10.46
|
46
46
|
- !ruby/object:Gem::Dependency
|
47
47
|
name: em-twitter
|
48
48
|
requirement: !ruby/object:Gem::Requirement
|
49
49
|
none: false
|
50
50
|
requirements:
|
51
|
-
- - '
|
51
|
+
- - ! '>='
|
52
52
|
- !ruby/object:Gem::Version
|
53
|
-
version: 0
|
53
|
+
version: '0'
|
54
54
|
type: :runtime
|
55
55
|
prerelease: false
|
56
56
|
version_requirements: !ruby/object:Gem::Requirement
|
57
57
|
none: false
|
58
58
|
requirements:
|
59
|
-
- - '
|
59
|
+
- - ! '>='
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 0
|
61
|
+
version: '0'
|
62
62
|
- !ruby/object:Gem::Dependency
|
63
63
|
name: twitter
|
64
64
|
requirement: !ruby/object:Gem::Requirement
|
65
65
|
none: false
|
66
66
|
requirements:
|
67
|
-
- - '
|
67
|
+
- - ! '>='
|
68
68
|
- !ruby/object:Gem::Version
|
69
|
-
version:
|
69
|
+
version: '0'
|
70
70
|
type: :runtime
|
71
71
|
prerelease: false
|
72
72
|
version_requirements: !ruby/object:Gem::Requirement
|
73
73
|
none: false
|
74
74
|
requirements:
|
75
|
-
- - '
|
75
|
+
- - ! '>='
|
76
76
|
- !ruby/object:Gem::Version
|
77
|
-
version:
|
77
|
+
version: '0'
|
78
78
|
- !ruby/object:Gem::Dependency
|
79
79
|
name: tweetstream
|
80
80
|
requirement: !ruby/object:Gem::Requirement
|
81
81
|
none: false
|
82
82
|
requirements:
|
83
|
-
- - '
|
83
|
+
- - ! '>='
|
84
84
|
- !ruby/object:Gem::Version
|
85
|
-
version:
|
85
|
+
version: '0'
|
86
86
|
type: :runtime
|
87
87
|
prerelease: false
|
88
88
|
version_requirements: !ruby/object:Gem::Requirement
|
89
89
|
none: false
|
90
90
|
requirements:
|
91
|
-
- - '
|
91
|
+
- - ! '>='
|
92
92
|
- !ruby/object:Gem::Version
|
93
|
-
version:
|
93
|
+
version: '0'
|
94
94
|
description:
|
95
95
|
email:
|
96
96
|
- y.ken.studio@gmail.com
|