Skip to content

Commit

Permalink
Make the example use the new stop semantic
Browse files Browse the repository at this point in the history
Fixes #5
  • Loading branch information
untergeek authored and jordansissel committed Sep 23, 2015
1 parent 0bd90fb commit e5dcce6
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 6 deletions.
2 changes: 1 addition & 1 deletion Gemfile
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
source 'https://rubygems.org'
gemspec
gemspec
10 changes: 8 additions & 2 deletions lib/logstash/inputs/example.rb
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ class LogStash::Inputs::Example < LogStash::Inputs::Base
config_name "example"

# If undefined, Logstash will complain, even if codec is unused.
default :codec, "plain"
default :codec, "plain"

# The message string to use in the event.
config :message, :validate => :string, :default => "Hello World!"
Expand All @@ -28,11 +28,17 @@ def register
end # def register

def run(queue)
@thread = Thread.current

Stud.interval(@interval) do
event = LogStash::Event.new("message" => @message, "host" => @host)
decorate(event)
queue << event
break if stop?
end # loop
end # def run

end # class LogStash::Inputs::Example
def stop
Stud.stop!(@thread)
end
end # class LogStash::Inputs::Example
4 changes: 2 additions & 2 deletions logstash-input-example.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,6 @@ Gem::Specification.new do |s|
# Gem dependencies
s.add_runtime_dependency "logstash-core", "~> 2.0.0.snapshot"
s.add_runtime_dependency 'logstash-codec-plain'
s.add_runtime_dependency 'stud'
s.add_development_dependency 'logstash-devutils'
s.add_runtime_dependency 'stud', '>= 0.0.22'
s.add_development_dependency 'logstash-devutils', '>= 0.0.16'
end
11 changes: 10 additions & 1 deletion spec/inputs/example_spec.rb
Original file line number Diff line number Diff line change
@@ -1 +1,10 @@
require "logstash/devutils/rspec/spec_helper"
require "logstash/devutils/rspec/spec_helper"
require "logstash/inputs/example"

describe LogStash::Inputs::Example do

it_behaves_like "an interruptible input plugin" do
let(:config) { { "interval" => 100 } }
end

end

0 comments on commit e5dcce6

Please sign in to comment.