fluent-plugin-yammer 0.0.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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 647bab68118fc18fe5d6d894f4c18aa485ddf74b
4
+ data.tar.gz: eeb1469a37c5ce55fd3d68b4dcacc4b53ba43531
5
+ SHA512:
6
+ metadata.gz: 228ea08a28224e0020619b1e0da8bdb6549168ef2f2ff0b54ec5b317ef0b0970f16e5d51079206d5c063c6c06f3236e142e5775aaf92872ca0d8c1b8371aedc0
7
+ data.tar.gz: 9c317ae2b9611af27f3b5171933f9d8407cc556afc797453abdbea607dc356609bfa3e7946c1ac6e26eff271e3fc27313ec2fc4a6d45ddcfcff67426408474fb
@@ -0,0 +1,17 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ Gemfile.lock
7
+ InstalledFiles
8
+ _yardoc
9
+ coverage
10
+ doc/
11
+ lib/bundler/man
12
+ pkg
13
+ rdoc
14
+ spec/reports
15
+ test/tmp
16
+ test/version_tmp
17
+ tmp
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in fluent-plugin-yammer.gemspec
4
+ gemspec
@@ -0,0 +1,13 @@
1
+ Copyright (c) 2013- Shinohara Teruki
2
+
3
+ Licensed under the Apache License, Version 2.0 (the "License");
4
+ you may not use this file except in compliance with the License.
5
+ You may obtain a copy of the License at
6
+
7
+ http://www.apache.org/licenses/LICENSE-2.0
8
+
9
+ Unless required by applicable law or agreed to in writing, software
10
+ distributed under the License is distributed on an "AS IS" BASIS,
11
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ See the License for the specific language governing permissions and
13
+ limitations under the License.
@@ -0,0 +1,29 @@
1
+ # Fluent::Plugin::Yammer
2
+
3
+ TODO: Write a gem description
4
+
5
+ ## Installation
6
+
7
+ Add this line to your application's Gemfile:
8
+
9
+ gem 'fluent-plugin-yammer'
10
+
11
+ And then execute:
12
+
13
+ $ bundle
14
+
15
+ Or install it yourself as:
16
+
17
+ $ gem install fluent-plugin-yammer
18
+
19
+ ## Usage
20
+
21
+ TODO: Write usage instructions here
22
+
23
+ ## Contributing
24
+
25
+ 1. Fork it
26
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
27
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
28
+ 4. Push to the branch (`git push origin my-new-feature`)
29
+ 5. Create new Pull Request
@@ -0,0 +1,10 @@
1
+ require "bundler/gem_tasks"
2
+ require "rake/testtask"
3
+
4
+ Rake::TestTask.new(:test) do |test|
5
+ test.libs << 'lib' << 'test'
6
+ test.pattern = 'test/**/test_*.rb'
7
+ test.verbose = true
8
+ end
9
+
10
+ task :default => :test
@@ -0,0 +1,26 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+
5
+ Gem::Specification.new do |spec|
6
+ spec.name = "fluent-plugin-yammer"
7
+ spec.version = "0.0.1"
8
+ spec.authors = ["Shinohara Teruki"]
9
+ spec.email = ["ts_3156@yahoo.co.jp"]
10
+ spec.description = %q{Fluentd Output plugin to process yammer messages with Yammer API.}
11
+ spec.summary = %q{Fluentd Output plugin to process yammer messages with Yammer API.}
12
+ spec.license = "Apache 2.0"
13
+ spec.homepage = "https://github.com/ts-3156/fluent-plugin-yammer"
14
+
15
+ spec.files = `git ls-files`.split($/)
16
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
17
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
18
+ spec.require_paths = ["lib"]
19
+
20
+ spec.add_development_dependency "bundler", "~> 1.3"
21
+ spec.add_development_dependency "rake"
22
+ spec.add_development_dependency "fluentd"
23
+ spec.add_development_dependency "yam"
24
+ spec.add_runtime_dependency "fluentd"
25
+ spec.add_runtime_dependency "yam"
26
+ end
@@ -0,0 +1,32 @@
1
+ # coding: utf-8
2
+ class Fluent::YammerOutput < Fluent::Output
3
+ Fluent::Plugin.register_output('yammer', self)
4
+
5
+ config_param :access_token, :string
6
+ config_param :group_id, :string
7
+
8
+ def initialize
9
+ super
10
+ require 'yammer'
11
+ end
12
+
13
+ def configure(conf)
14
+ super
15
+ @yammer = Yammer::Client.new(:access_token => conf['access_token'])
16
+ @group_id = conf['group_id']
17
+ end
18
+
19
+ def emit(tag, es, chain)
20
+ es.each do |time, record|
21
+ create_message(record['message'])
22
+ end
23
+
24
+ chain.next
25
+ end
26
+
27
+ def create_message(message)
28
+ @yammer.create_message(message, :group_id => @group_id)
29
+ rescue Yammer::Error => e
30
+ $log.error("Yammer Error: #{e.message}")
31
+ end
32
+ end
@@ -0,0 +1,28 @@
1
+ # coding: utf-8
2
+ require 'bundler'
3
+ begin
4
+ Bundler.setup(:default, :development)
5
+ rescue Bundler::BundlerError => e
6
+ $stderr.puts e.message
7
+ $stderr.puts "Run `bundle install` to install missing gems"
8
+ exit e.status_code
9
+ end
10
+ require 'test/unit'
11
+
12
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
13
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
14
+ require 'fluent/test'
15
+ unless ENV.has_key?('VERBOSE')
16
+ nulllogger = Object.new
17
+ nulllogger.instance_eval {|obj|
18
+ def method_missing(method, *args)
19
+ # pass
20
+ end
21
+ }
22
+ $log = nulllogger
23
+ end
24
+
25
+ require 'fluent/plugin/out_yammer'
26
+
27
+ class Test::Unit::TestCase
28
+ end
@@ -0,0 +1,41 @@
1
+ # coding: utf-8
2
+ require 'helper'
3
+
4
+ class YammerOutputTest < Test::Unit::TestCase
5
+ def setup
6
+ Fluent::Test.setup
7
+ end
8
+
9
+ CONFIG = %[
10
+ access_token ACCESS_TOKEN
11
+ group_id GROUP_ID
12
+ ]
13
+
14
+ def create_driver(conf = CONFIG, tag = 'test')
15
+ Fluent::Test::OutputTestDriver.new(Fluent::YammerOutput, tag).configure(conf)
16
+ end
17
+
18
+ def test_configure
19
+ assert_raise(Fluent::ConfigError){
20
+ d = create_driver('')
21
+ }
22
+
23
+ d = create_driver %[
24
+ access_token ACCESS_TOKEN
25
+ group_id GROUP_ID
26
+ ]
27
+ assert_equal 'ACCESS_TOKEN', d.instance.access_token
28
+ assert_equal 'GROUP_ID', d.instance.group_id
29
+ end
30
+
31
+
32
+ def test_emit
33
+ d1 = create_driver(CONFIG, 'input.access')
34
+ time = Time.parse("2013-12-11 22:33:44").to_i
35
+ d1.run do
36
+ d1.emit({'message' => 'sample message'})
37
+ end
38
+ emits = d1.emits
39
+ assert_equal 0, emits.length
40
+ end
41
+ end
metadata ADDED
@@ -0,0 +1,139 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: fluent-plugin-yammer
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Shinohara Teruki
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2013-12-21 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ~>
18
+ - !ruby/object:Gem::Version
19
+ version: '1.3'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: '1.3'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: fluentd
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: yam
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '>='
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: fluentd
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - '>='
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - '>='
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: yam
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - '>='
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - '>='
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ description: Fluentd Output plugin to process yammer messages with Yammer API.
98
+ email:
99
+ - ts_3156@yahoo.co.jp
100
+ executables: []
101
+ extensions: []
102
+ extra_rdoc_files: []
103
+ files:
104
+ - .gitignore
105
+ - Gemfile
106
+ - LICENSE.txt
107
+ - README.md
108
+ - Rakefile
109
+ - fluent-plugin-yammer.gemspec
110
+ - lib/fluent/plugin/out_yammer.rb
111
+ - test/helper.rb
112
+ - test/plugin/test_out_yammer.rb
113
+ homepage: https://github.com/ts-3156/fluent-plugin-yammer
114
+ licenses:
115
+ - Apache 2.0
116
+ metadata: {}
117
+ post_install_message:
118
+ rdoc_options: []
119
+ require_paths:
120
+ - lib
121
+ required_ruby_version: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - '>='
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
126
+ required_rubygems_version: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - '>='
129
+ - !ruby/object:Gem::Version
130
+ version: '0'
131
+ requirements: []
132
+ rubyforge_project:
133
+ rubygems_version: 2.0.3
134
+ signing_key:
135
+ specification_version: 4
136
+ summary: Fluentd Output plugin to process yammer messages with Yammer API.
137
+ test_files:
138
+ - test/helper.rb
139
+ - test/plugin/test_out_yammer.rb