From 5649a708b94875fc5b12bedf23c7d8661c05d56e Mon Sep 17 00:00:00 2001 From: leffen Date: Tue, 9 Apr 2013 10:14:40 +0200 Subject: [PATCH 1/2] Added fetch_earliest_offset to kafka consumer to be able to reread from start of que --- .DS_Store | Bin 6148 -> 0 bytes lib/kafka/consumer.rb | 11 ++++++++--- 2 files changed, 8 insertions(+), 3 deletions(-) delete mode 100644 .DS_Store diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index a7f6bd7f7a9cff2748e0f1901e5ee250cbfcc6bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHK%}T>S5dO9;G{sAf9&_|!!8eGt5ejOd^#R)SN2HO8;ysVyL-_!{jeaw`)F!c4 zQJI06Z?pMkv-<@y831nZvOEJ~01;iV)noX^rT4AP3bh^eIr+7k+KJFT9oA`|i z$h(WN!5nLiU+-^)2R!2uD=bFEc99p`T)Ds{@#I5IkJLtid*n6NTaDGl6-Kx~h8s+g zRoQM*V@H^9Pa8gc&9w`xYW(*azej$Ca}04!>~rtSYKHFmb#K?51E-UHS9!M>bKP-u zJ>Bs>k7;J6fGJ=K{1F9Mv&Et#j}}b Date: Fri, 12 Apr 2013 00:16:27 +0200 Subject: [PATCH 2/2] Adoption to leffen-kafka-rb gem --- Gemfile.lock | 26 ++++++++++++++++++ Rakefile | 2 +- bin/{kafka-consumer => leffen-kafka-consumer} | 0 bin/{kafka-publish => leffen-kafka-publish} | 0 leffen-kafka-rb-0.0.15.gem | Bin 0 -> 20480 bytes kafka-rb.gemspec => leffen-kafka-rb.gemspec | 7 +++-- lib/kafka/cli.rb | 2 +- lib/leffen-kafka.rb | 16 +++++++++++ 8 files changed, 48 insertions(+), 5 deletions(-) create mode 100644 Gemfile.lock rename bin/{kafka-consumer => leffen-kafka-consumer} (100%) rename bin/{kafka-publish => leffen-kafka-publish} (100%) create mode 100644 leffen-kafka-rb-0.0.15.gem rename kafka-rb.gemspec => leffen-kafka-rb.gemspec (84%) create mode 100644 lib/leffen-kafka.rb diff --git a/Gemfile.lock b/Gemfile.lock new file mode 100644 index 0000000..aafc22f --- /dev/null +++ b/Gemfile.lock @@ -0,0 +1,26 @@ +PATH + remote: . + specs: + leffen-kafka-rb (0.0.15) + +GEM + remote: https://rubygems.org/ + specs: + diff-lcs (1.2.2) + rake (10.0.4) + rspec (2.13.0) + rspec-core (~> 2.13.0) + rspec-expectations (~> 2.13.0) + rspec-mocks (~> 2.13.0) + rspec-core (2.13.1) + rspec-expectations (2.13.0) + diff-lcs (>= 1.1.3, < 2.0) + rspec-mocks (2.13.1) + +PLATFORMS + ruby + +DEPENDENCIES + leffen-kafka-rb! + rake + rspec diff --git a/Rakefile b/Rakefile index 7182732..9d54629 100644 --- a/Rakefile +++ b/Rakefile @@ -19,7 +19,7 @@ require 'rubygems/specification' require 'date' require 'rspec/core/rake_task' -spec = eval(File.open("kafka-rb.gemspec", "r").read) +spec = eval(File.open("leffen-kafka-rb.gemspec", "r").read) Gem::PackageTask.new(spec) do |pkg| pkg.gem_spec = spec diff --git a/bin/kafka-consumer b/bin/leffen-kafka-consumer similarity index 100% rename from bin/kafka-consumer rename to bin/leffen-kafka-consumer diff --git a/bin/kafka-publish b/bin/leffen-kafka-publish similarity index 100% rename from bin/kafka-publish rename to bin/leffen-kafka-publish diff --git a/leffen-kafka-rb-0.0.15.gem b/leffen-kafka-rb-0.0.15.gem new file mode 100644 index 0000000000000000000000000000000000000000..1394680d3103f27121756fc390fb4b72e75ec435 GIT binary patch literal 20480 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 BxYhsw literal 0 HcmV?d00001 diff --git a/kafka-rb.gemspec b/leffen-kafka-rb.gemspec similarity index 84% rename from kafka-rb.gemspec rename to leffen-kafka-rb.gemspec index 38e57bd..7050ef6 100644 --- a/kafka-rb.gemspec +++ b/leffen-kafka-rb.gemspec @@ -1,10 +1,11 @@ Gem::Specification.new do |s| - s.name = %q{kafka-rb} + s.name = %q{leffen-kafka-rb} s.version = "0.0.15" s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version= s.authors = ["Alejandro Crosa", "Stefan Mees", "Tim Lossen", "Liam Stewart"] - s.autorequire = %q{kafka-rb} + s.email = 'leffen@gmail.com' + s.homepage = 'http://tomlea.co.uk/p/gem-in-a-box' s.date = Time.now.strftime("%Y-%m-%d") s.description = %q{kafka-rb allows you to produce and consume messages using the Kafka distributed publish/subscribe messaging service.} s.extra_rdoc_files = ["LICENSE"] @@ -13,7 +14,7 @@ Gem::Specification.new do |s| s.homepage = %q{http://github.com/acrosa/kafka-rb} s.require_paths = ["lib"] s.summary = %q{A Ruby client for the Kafka distributed publish/subscribe messaging service} - s.executables = ["kafka-consumer", "kafka-publish"] + s.executables = ["leffen-kafka-consumer", "leffen-kafka-publish"] if s.respond_to? :specification_version then current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION diff --git a/lib/kafka/cli.rb b/lib/kafka/cli.rb index 24005b2..b43f873 100644 --- a/lib/kafka/cli.rb +++ b/lib/kafka/cli.rb @@ -109,7 +109,7 @@ def option_parser end def publish? - program_name == "kafka-publish" + program_name == "leffen-kafka-publish" end def subscribe? diff --git a/lib/leffen-kafka.rb b/lib/leffen-kafka.rb new file mode 100644 index 0000000..a7a08f5 --- /dev/null +++ b/lib/leffen-kafka.rb @@ -0,0 +1,16 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +require File.join(File.dirname(__FILE__), "kafka")