From d0b7f097a81635185263dca3256284b2bae91634 Mon Sep 17 00:00:00 2001 From: Jim Myhrberg Date: Sun, 13 Mar 2011 23:46:00 +0000 Subject: [PATCH 1/7] updated json dependency to '>= 1.5.0' to ensure JRuby compatability --- redistat.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/redistat.gemspec b/redistat.gemspec index fb0ee41..cb22e37 100644 --- a/redistat.gemspec +++ b/redistat.gemspec @@ -20,7 +20,7 @@ Gem::Specification.new do |s| s.require_paths = ["lib"] s.add_runtime_dependency 'activesupport', '>= 2.3.6' - s.add_runtime_dependency 'json', '>= 1.4.0' + s.add_runtime_dependency 'json', '>= 1.5.0' s.add_runtime_dependency 'redis', '>= 2.1.0' s.add_runtime_dependency 'time_ext', '>= 0.2.8' From 80fd63059bea9f8d0de296d8b5aa9fafb3b8ea08 Mon Sep 17 00:00:00 2001 From: Jim Myhrberg Date: Sun, 13 Mar 2011 23:47:02 +0000 Subject: [PATCH 2/7] updated time_ext dependency to ensure there's no loading issues within Rails applications --- redistat.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/redistat.gemspec b/redistat.gemspec index cb22e37..d7f1c4f 100644 --- a/redistat.gemspec +++ b/redistat.gemspec @@ -22,7 +22,7 @@ Gem::Specification.new do |s| s.add_runtime_dependency 'activesupport', '>= 2.3.6' s.add_runtime_dependency 'json', '>= 1.5.0' s.add_runtime_dependency 'redis', '>= 2.1.0' - s.add_runtime_dependency 'time_ext', '>= 0.2.8' + s.add_runtime_dependency 'time_ext', '>= 0.2.9' s.add_development_dependency 'rspec', '>= 2.1.0' s.add_development_dependency 'rcov', '>= 0.9.9' From 3df6666704144e362b7420a037eedfa5dbf71bdb Mon Sep 17 00:00:00 2001 From: Jim Myhrberg Date: Mon, 14 Mar 2011 10:37:49 +0000 Subject: [PATCH 3/7] additions to specs --- spec/key_spec.rb | 2 ++ spec/summary_spec.rb | 9 +++++++++ 2 files changed, 11 insertions(+) diff --git a/spec/key_spec.rb b/spec/key_spec.rb index eac99c5..95b8609 100644 --- a/spec/key_spec.rb +++ b/spec/key_spec.rb @@ -28,6 +28,8 @@ describe Redistat::Key do @key.to_s(props.last).should == "#{@scope}/#{@label}:#{@key.date.to_s(props.last)}" props.pop end + key = Redistat::Key.new(@scope, nil, @date, {:depth => :hour}) + key.to_s.should == "#{@scope}:#{key.date.to_s(:hour)}" end it "should abide to hashed_label option" do diff --git a/spec/summary_spec.rb b/spec/summary_spec.rb index 8170f44..ebf33af 100644 --- a/spec/summary_spec.rb +++ b/spec/summary_spec.rb @@ -46,6 +46,15 @@ describe Redistat::Summary do end end + it "should update summaries even if no label is set" do + key = Redistat::Key.new(@scope, nil, @date, {:depth => :day}) + Redistat::Summary.update(key, @stats, :hour) + summary = db.hgetall(key.to_s(:hour)) + summary.should have(2).items + summary["views"].should == "3" + summary["visitors"].should == "2" + end + it "should inject stats key grouping summaries" do hash = { "count/hello" => 3, "count/world" => 7, "death/bomb" => 4, "death/unicorn" => 3, From d560a7deff9319c43a45cfa5e014843835f0bf9b Mon Sep 17 00:00:00 2001 From: Jim Myhrberg Date: Mon, 14 Mar 2011 10:38:16 +0000 Subject: [PATCH 4/7] killed an old line of commented out code --- lib/redistat/key.rb | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/redistat/key.rb b/lib/redistat/key.rb index 4246e29..bec4deb 100644 --- a/lib/redistat/key.rb +++ b/lib/redistat/key.rb @@ -61,7 +61,6 @@ module Redistat def update_index @label.groups.each do |label| - # break if label.parent.nil? parent = (label.parent || "") db.sadd("#{scope}#{LABEL_INDEX}#{parent}", label.me) end From d4cd5402bcd2c5de359614ff046512e633228ead Mon Sep 17 00:00:00 2001 From: Jim Myhrberg Date: Mon, 14 Mar 2011 11:10:24 +0000 Subject: [PATCH 5/7] create Label#join method for easily joining Labels --- lib/redistat/label.rb | 5 +++++ spec/label_spec.rb | 13 +++++++++++++ 2 files changed, 18 insertions(+) diff --git a/lib/redistat/label.rb b/lib/redistat/label.rb index a6ce099..f3385ba 100644 --- a/lib/redistat/label.rb +++ b/lib/redistat/label.rb @@ -11,6 +11,11 @@ module Redistat self.new(name, opts).save end + def self.join(*args) + args = args.map {|i| i.to_s} + self.new(args.reject {|i| i.blank? }.join(GROUP_SEPARATOR)) + end + def initialize(str, opts = {}) parse_options(opts) @raw = str.to_s diff --git a/spec/label_spec.rb b/spec/label_spec.rb index 6e34004..7ef6f2d 100644 --- a/spec/label_spec.rb +++ b/spec/label_spec.rb @@ -25,6 +25,19 @@ describe Redistat::Label do db.hget(Redistat::KEY_LABELS, label.hash).should == name end + it "should join labels" do + include Redistat + label = Label.join('email', 'message', 'public') + label.should be_a(Label) + label.to_s.should == 'email/message/public' + label = Label.join(Label.new('email'), Label.new('message'), Label.new('public')) + label.should be_a(Label) + label.to_s.should == 'email/message/public' + label = Label.join('email', '', 'message', nil, 'public') + label.should be_a(Label) + label.to_s.should == 'email/message/public' + end + describe "Grouping" do before(:each) do @name = "message/public/offensive" From 3e177c9ae4e725db58ee83b56aed3964eba0ecfa Mon Sep 17 00:00:00 2001 From: Jim Myhrberg Date: Mon, 14 Mar 2011 11:13:06 +0000 Subject: [PATCH 6/7] changed json dependency back to '>= 1.4.0' for backwards compatibility with certain older projects/gems, make sure you're using 1.5.0 or later of the json gem for JRuby support --- redistat.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/redistat.gemspec b/redistat.gemspec index d7f1c4f..baafaae 100644 --- a/redistat.gemspec +++ b/redistat.gemspec @@ -20,7 +20,7 @@ Gem::Specification.new do |s| s.require_paths = ["lib"] s.add_runtime_dependency 'activesupport', '>= 2.3.6' - s.add_runtime_dependency 'json', '>= 1.5.0' + s.add_runtime_dependency 'json', '>= 1.4.0' s.add_runtime_dependency 'redis', '>= 2.1.0' s.add_runtime_dependency 'time_ext', '>= 0.2.9' From 2b2461dd9fc3babd748aa003b2d1094495b52f0e Mon Sep 17 00:00:00 2001 From: Jim Myhrberg Date: Mon, 14 Mar 2011 11:13:50 +0000 Subject: [PATCH 7/7] started release v0.2.4 --- lib/redistat/version.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/redistat/version.rb b/lib/redistat/version.rb index 906bd5e..9944b89 100644 --- a/lib/redistat/version.rb +++ b/lib/redistat/version.rb @@ -1,3 +1,3 @@ module Redistat - VERSION = "0.2.3" + VERSION = "0.2.4" end