From 91159f6a345b92bcbfb4c7dc821e31e1dc329e1c Mon Sep 17 00:00:00 2001 From: Dmytro Milinevskyy Date: Mon, 20 Jul 2015 21:35:32 +0200 Subject: [PATCH 1/7] gemfile: do not link to celluloid-git but include transpec --- Gemfile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Gemfile b/Gemfile index 4737819..0047527 100644 --- a/Gemfile +++ b/Gemfile @@ -2,5 +2,4 @@ source 'https://rubygems.org' gemspec gem 'coveralls', require: false -gem 'celluloid', github: 'celluloid/celluloid' -gem 'celluloid-io', github: 'celluloid/celluloid-io' +gem 'transpec', require: false From e86d9f404ab61ebecb9be0dde8783d0386c63b97 Mon Sep 17 00:00:00 2001 From: Dmytro Milinevskyy Date: Mon, 20 Jul 2015 21:35:55 +0200 Subject: [PATCH 2/7] rspec: include spec_helper by default, update spec expectations and disable monkey patching --- .rspec | 3 ++- spec/redis/connection/celluloid_spec.rb | 8 +++----- spec/spec_helper.rb | 2 ++ 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/.rspec b/.rspec index 675313d..416e68b 100644 --- a/.rspec +++ b/.rspec @@ -1,4 +1,5 @@ --color --format documentation --backtrace ---default_path spec +--tty +--require spec_helper diff --git a/spec/redis/connection/celluloid_spec.rb b/spec/redis/connection/celluloid_spec.rb index 7aa3ada..e4aec6a 100644 --- a/spec/redis/connection/celluloid_spec.rb +++ b/spec/redis/connection/celluloid_spec.rb @@ -1,6 +1,4 @@ -require "spec_helper" - -describe Redis::Connection::Celluloid do +RSpec.describe Redis::Connection::Celluloid do let(:example_key) { 'foobar' } let(:example_value) { 'baz' } @@ -9,10 +7,10 @@ # FIXME: perhaps some better tests are in order here? redis.set(example_key, '') - redis.get(example_key).should eq '' + expect(redis.get(example_key)).to eq('') redis.set(example_key, example_value) - redis.get(example_key).should eq example_value + expect(redis.get(example_key)).to eq(example_value) end it "cleanly shuts down an instance" do diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index d01cb69..61feca7 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -4,6 +4,8 @@ require "coveralls" Coveralls.wear! +RSpec.configure(&:disable_monkey_patching!) + def with_new_instance(opts = {}) begin instance = RedisInstance.new(opts) From 24db0ef3ea000f0746a6745102bf5d12d4f679bb Mon Sep 17 00:00:00 2001 From: Dmytro Milinevskyy Date: Mon, 20 Jul 2015 21:36:29 +0200 Subject: [PATCH 3/7] include redis/connection/celluloid inside celluloid/redis --- lib/celluloid/redis.rb | 1 - lib/celluloid/redis/redis_ext.rb | 28 ---------------------------- spec/spec_helper.rb | 6 +++++- 3 files changed, 5 insertions(+), 30 deletions(-) delete mode 100644 lib/celluloid/redis/redis_ext.rb diff --git a/lib/celluloid/redis.rb b/lib/celluloid/redis.rb index e0ec131..4648b0e 100644 --- a/lib/celluloid/redis.rb +++ b/lib/celluloid/redis.rb @@ -1,4 +1,3 @@ require "redis" require "celluloid/redis/version" -require "celluloid/redis/redis_ext" \ No newline at end of file diff --git a/lib/celluloid/redis/redis_ext.rb b/lib/celluloid/redis/redis_ext.rb deleted file mode 100644 index 76a72f4..0000000 --- a/lib/celluloid/redis/redis_ext.rb +++ /dev/null @@ -1,28 +0,0 @@ -class Redis - class Client - # Well this is really sad. redis-rb does not provide extensible driver - # support. Instead they couple everything together though this method. - # This leaves us no choice but to monkeypatch - def _parse_driver(driver) - driver = driver.to_s if driver.is_a?(Symbol) - - if driver.kind_of?(String) - case driver - when "ruby" - require "redis/connection/ruby" - driver = Connection::Ruby - when "celluloid" - require "redis/connection/celluloid" - driver = Connection::Celluloid - when "hiredis" - require "redis/connection/hiredis" - driver = Connection::Hiredis - else - raise "Unknown driver: #{driver}" - end - end - - driver - end - end -end \ No newline at end of file diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 61feca7..4ee7908 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -1,11 +1,15 @@ require "celluloid/redis" -require "redis/connection/celluloid" + require "redis_instance" require "coveralls" Coveralls.wear! RSpec.configure(&:disable_monkey_patching!) +# Trick to test new redis-rb connection driver +# that must load redis/connection/celluloid +Redis.new(driver: :celluloid) + def with_new_instance(opts = {}) begin instance = RedisInstance.new(opts) From 68be0419331089d06e85439ab0815f84d84e93af Mon Sep 17 00:00:00 2001 From: Dmytro Milinevskyy Date: Mon, 20 Jul 2015 21:54:49 +0200 Subject: [PATCH 4/7] gemspec: fix gems to known versions --- celluloid-redis.gemspec | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/celluloid-redis.gemspec b/celluloid-redis.gemspec index a086127..32358d9 100644 --- a/celluloid-redis.gemspec +++ b/celluloid-redis.gemspec @@ -18,11 +18,9 @@ Gem::Specification.new do |spec| spec.test_files = spec.files.grep(%r{^(test|spec|features)/}) spec.require_paths = ["lib"] - spec.add_runtime_dependency "redis" - spec.add_runtime_dependency "celluloid-io", ">= 0.13.0.pre" + spec.add_runtime_dependency "redis", "~> 3.2" + spec.add_runtime_dependency "celluloid-io", "~> 0.16" - spec.add_development_dependency "bundler", "~> 1.3" - spec.add_development_dependency "rake" - spec.add_development_dependency "rspec" - spec.add_development_dependency "guard-rspec" + spec.add_development_dependency "rake", "~> 10.4" + spec.add_development_dependency "rspec", "~> 3.0" end From 5e0310151c4dc6dd27c4b1e64fcbe7ec0892c731 Mon Sep 17 00:00:00 2001 From: Dmytro Milinevskyy Date: Mon, 20 Jul 2015 22:13:12 +0200 Subject: [PATCH 5/7] issue #17: rename Celluloid::Redis::VERSION into CELLULOID_REDIS_VERSION --- celluloid-redis.gemspec | 2 +- lib/celluloid/redis/version.rb | 6 +----- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/celluloid-redis.gemspec b/celluloid-redis.gemspec index 32358d9..542b189 100644 --- a/celluloid-redis.gemspec +++ b/celluloid-redis.gemspec @@ -5,7 +5,7 @@ require 'celluloid/redis/version' Gem::Specification.new do |spec| spec.name = "celluloid-redis" - spec.version = Celluloid::Redis::VERSION + spec.version = CELLULOID_REDIS_VERSION spec.authors = ["Tony Arcieri"] spec.email = ["tony.arcieri@gmail.com"] spec.description = "Celluloid::IO support for the redis-rb library" diff --git a/lib/celluloid/redis/version.rb b/lib/celluloid/redis/version.rb index 19d8a7a..e1f7e5e 100644 --- a/lib/celluloid/redis/version.rb +++ b/lib/celluloid/redis/version.rb @@ -1,5 +1 @@ -module Celluloid - module Redis - VERSION = "0.0.2" - end -end +CELLULOID_REDIS_VERSION = "0.0.2" From 186176aa57f4f367340ef24b2d87dc39c4ca7cbc Mon Sep 17 00:00:00 2001 From: Dmytro Milinevskyy Date: Mon, 20 Jul 2015 22:19:53 +0200 Subject: [PATCH 6/7] update travis spec --- .travis.yml | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/.travis.yml b/.travis.yml index 337d72c..32f793e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,17 +1,21 @@ +language: ruby + +services: + - redis-server + rvm: - - 1.9.3 - 2.0.0 + - 2.1.4 + - 2.2.2 - ruby-head - - jruby-19mode - - rbx-19mode - - jruby-head + - jruby + - rbx-2 matrix: allow_failures: - - rvm: 2.0.0 - rvm: ruby-head - - rvm: jruby-head - - rvm: rbx-19mode + - rvm: jruby + - rvm: rbx-2 notifications: irc: "irc.freenode.org#celluloid" From 942a4daf91d94665b333f31599af8b43194fca03 Mon Sep 17 00:00:00 2001 From: Dmytro Milinevskyy Date: Mon, 20 Jul 2015 22:23:17 +0200 Subject: [PATCH 7/7] enable container-based travis builds --- .travis.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.travis.yml b/.travis.yml index 32f793e..efdc129 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,4 +1,7 @@ language: ruby +bundler_args: --jobs=3 --retry=3 +cache: bundler +sudo: false services: - redis-server