Commit Graph

102 Commits

Author SHA1 Message Date
eb1d607a61 a number of issues fixed with Buffer class, and specs updated accordingly 2011-04-18 12:36:24 +01:00
b129074cd7 make Buffer#queue a private method as it's never supposed to be modified or read from outside of the Buffer object 2011-04-18 10:00:22 +01:00
4b06513813 additional specs for Redistat::Buffer, still a few more needed 2011-04-15 17:42:48 +01:00
3a25fcc788 created Redistat::Buffer, mainly feature complete, still needs a few more specs 2011-04-15 16:45:21 +01:00
61231a8b57 updated Redistat::Summary to make it easier to plugin the buffer interception code 2011-04-15 14:14:17 +01:00
5d92c1dbae created Redistat::Synchronize mixin to help with thread-safety 2011-04-15 14:03:26 +01:00
0a7abe935e thread-safe connection handler 2011-04-14 16:53:29 +01:00
f155f6db05 cleaned up Connection spec a bit 2011-04-14 16:50:43 +01:00
2e2d3273cc set #scope rather than #class_name as the preferred method for setting the scope value within a Redistat::Model 2011-03-16 00:56:59 +00:00
d4cd5402bc create Label#join method for easily joining Labels 2011-03-14 11:10:24 +00:00
3df6666704 additions to specs 2011-03-14 10:37:56 +00:00
cdf52869d6 added #find_event method to Model 2011-03-13 20:28:17 +00:00
8b711d4d9c fixed a bug with Event#find 2011-03-13 20:24:06 +00:00
e4aaedfe58 made Key#scope return Scope object instead of Scope#to_s 2011-03-13 20:23:41 +00:00
ea820d44f4 fixed typo in Finder spec 2011-03-13 19:52:30 +00:00
acedf071d1 improved options passed into Finder object, :depth option is not needed if :interval is set to a depth value instead of true 2011-03-13 19:51:04 +00:00
108b6ab02e Finder's options methods now set the option when an argument is supplied and returns self for method chaining. When no argument is supplied it returns the option value itself.
Example:

    finder = Redistat::Finder.new
    finder.scope("Foo") #=> Finder object
    finder.scope        #=> Scope object
    finder.scope.to_s   #=> "Foo"
2011-03-13 19:46:52 +00:00
b8ddcdf71a Merge remote-tracking branch 'origin/dev' into dev 2011-03-12 22:25:35 +00:00
43fc8bc2dd updated Hash extensions and specs 2011-03-12 22:21:15 +00:00
0938781cd1 extend ::Hash with #set_or_incr and #merge_and_incr methods 2011-03-12 21:47:54 +00:00
82119fcf69 wrong usage of interval method in Finder spec 2011-03-11 15:38:10 +00:00
57517983f6 added #parent method to Finder objects 2011-03-10 16:26:38 +00:00
8001a98a26 fixed a typo... ffs... 2011-03-10 10:42:10 +00:00
57274ffb21 updated reverse label hash lookup storage format, which might be a pain if you have been using the hashed_label option 2011-03-10 00:46:55 +00:00
d39d5d8dde most components use new Options helper module 2011-03-10 00:27:13 +00:00
3a00353f83 created Options module to help organize the multiple options passed from one object to another 2011-03-10 00:24:35 +00:00
49fc2afcfd added a FIXME comment about broken model spec till index_labels option is implemented 2011-03-09 22:50:04 +00:00
cfbe58a509 support indexing top-level labels too 2011-03-09 22:48:27 +00:00
9faa0db7b8 drastic change in label indexing 2011-03-09 17:05:10 +00:00
e3f23433d9 cleaned up #sub_labels feature in Label object 2011-03-09 11:56:42 +00:00
d74dc41110 added label indexing features when using label groupings 2011-03-09 10:59:53 +00:00
ac338bb4f0 added #parent_group method to Label and Key objects 2011-03-09 10:25:37 +00:00
e0eac61a59 updated Model to take advantage of new lazy-loading features 2011-03-09 01:31:20 +00:00
33e9477552 finalized lazy-loading work on Finder 2011-03-09 01:25:09 +00:00
7e8e1dacc7 initial work and specs to properly support lazy-loading results from Finder objects 2011-03-08 01:30:48 +00:00
06cd30a20c fixed Model spec as it was failing at certain times of the day 2011-03-08 01:03:56 +00:00
b0a44a6abc some more sanity checks to Label spec 2011-03-04 17:40:02 +00:00
f8dfb034af added label grouping to Key and Summary classes 2011-03-04 17:39:51 +00:00
15904e8a94 added grouping support to Redistat::Label 2011-03-04 16:25:31 +00:00
fe221c3f31 added enable_grouping option to disable grouping features, enabled by default 2011-03-04 13:02:20 +00:00
7b1feda061 added key grouping for statistics Hash
Example:
store(“message”, {“count/private” => 1})
store(“message”, {“count/public” => 1})
fetch("message", 2.minutes.ago, Time.now)
  #=> { "count" => 2,
        "count/private" => 1,
        "count/public" => 1 }
2011-03-04 12:54:50 +00:00
c3fe861b10 connection handling was so thread-safe that it
stopped working in newly created threads
2011-01-12 16:04:42 +00:00
115b223d7c added class_name option to Model warpper for
customizing the scope used in Redis keys
2010-12-29 17:26:22 +00:00
James Harrison
93360dbeb9 Specs pass again - problem with Time.now resolution surpassing that provided by values stored in a Redistat::Date, truncated to seconds by using to_s, which is accurate enough for testing purposes 2010-12-28 23:55:39 +00:00
f906cf068e added a spec for Collection#total 2010-11-28 11:52:23 +00:00
cbb9050c80 fixed a typo 2010-11-28 11:51:50 +00:00
6bae8ce2bc Updated Connection spec so the specs actually pass
without a local Redis server running on the
default port of 6379.
2010-11-28 11:48:10 +00:00
18e6125c6a Added support for connection_ref's down throughout
the code, so models can connect to specific Redis
servers.

I believe a lot of the code needs some
restructuring at some point down the line to
handle multiple connections in a cleaner way, but
for now it'll do.
2010-11-28 11:47:26 +00:00
dc162e0c89 initial work to being able to use per-model redis
configurations
2010-11-28 10:10:58 +00:00
62c3492c93 some whitespace cleanup 2010-11-24 00:36:44 +00:00