redis-store 1.0.0.beta3 → 1.0.0.beta4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of redis-store might be problematic. Click here for more details.
- data/CHANGELOG +14 -0
- data/Gemfile +5 -5
- data/Gemfile.lock +19 -22
- data/README.md +55 -9
- data/VERSION +1 -1
- data/lib/action_controller/session/redis_session_store.rb +13 -13
- data/lib/active_support/cache/redis_store.rb +49 -25
- data/lib/rack/cache/redis_entitystore.rb +1 -1
- data/lib/rack/cache/redis_metastore.rb +1 -1
- data/lib/rack/session/redis.rb +1 -1
- data/lib/redis-store.rb +3 -2
- data/lib/redis/factory.rb +3 -3
- data/lib/redis/store.rb +1 -1
- data/lib/redis/store/version.rb +1 -1
- data/redis-store.gemspec +90 -65
- data/spec/action_controller/session/redis_session_store_spec.rb +8 -3
- data/spec/rack/cache/entitystore/redis_spec.rb +4 -0
- data/spec/rack/cache/metastore/redis_spec.rb +4 -0
- data/spec/redis/store/version_spec.rb +1 -1
- data/spec/spec_helper.rb +5 -1
- metadata +138 -7
- data/.gitignore +0 -11
    
        data/CHANGELOG
    CHANGED
    
    | @@ -1,3 +1,17 @@ | |
| 1 | 
            +
            *1.0.0 [beta4] (December 15, 2010)*
         | 
| 2 | 
            +
             | 
| 3 | 
            +
              * Bump version v1.0.0.beta4
         | 
| 4 | 
            +
              * Force Rails cache store when ActiveSupport is detected
         | 
| 5 | 
            +
              * Make sure to accept options when :servers isn't passed
         | 
| 6 | 
            +
              * Always force session store loading when using Rails
         | 
| 7 | 
            +
              * Make it compatible with Rails 3 sessions store [Andre Medeiros]
         | 
| 8 | 
            +
              * Better Rails 3 detection [Andre Medeiros]
         | 
| 9 | 
            +
              * Added support for password in Redis URI resolution [Jacob Gyllenstierna]
         | 
| 10 | 
            +
              * fix deleting values from session hash [Calvin Yu]
         | 
| 11 | 
            +
              * Use defensive design when build options for a store
         | 
| 12 | 
            +
              * ActiveSupport cache store doesn't accept any argument in Rails 2
         | 
| 13 | 
            +
              * Updated dependencies
         | 
| 14 | 
            +
             | 
| 1 15 | 
             
            *1.0.0 [beta3] (September 10, 2010)*
         | 
| 2 16 |  | 
| 3 17 | 
             
              * Bump version v1.0.0.beta3
         | 
    
        data/Gemfile
    CHANGED
    
    | @@ -8,9 +8,9 @@ end | |
| 8 8 |  | 
| 9 9 | 
             
            group :development, :test, :rails3 do
         | 
| 10 10 | 
             
              gem "rack"
         | 
| 11 | 
            -
              gem "rspec"
         | 
| 12 11 | 
             
              gem "rack-cache"
         | 
| 13 12 | 
             
              gem "merb", "1.1.0"
         | 
| 13 | 
            +
              gem "rspec", "1.3.0"
         | 
| 14 14 | 
             
              gem "i18n"
         | 
| 15 15 |  | 
| 16 16 | 
             
              if RUBY_VERSION > '1.9'
         | 
| @@ -22,12 +22,12 @@ end | |
| 22 22 |  | 
| 23 23 | 
             
            if ENV["REDIS_STORE_ENV"] == "rails3"
         | 
| 24 24 | 
             
              group :rails3 do
         | 
| 25 | 
            -
                gem "activesupport", "3.0. | 
| 26 | 
            -
                gem "actionpack", "3.0. | 
| 25 | 
            +
                gem "activesupport", "3.0.3"
         | 
| 26 | 
            +
                gem "actionpack", "3.0.3"
         | 
| 27 27 | 
             
              end
         | 
| 28 28 | 
             
            else
         | 
| 29 29 | 
             
              group :test do
         | 
| 30 | 
            -
                gem "activesupport", "2.3. | 
| 31 | 
            -
                gem "actionpack", "2.3. | 
| 30 | 
            +
                gem "activesupport", "2.3.10"
         | 
| 31 | 
            +
                gem "actionpack", "2.3.10"
         | 
| 32 32 | 
             
              end
         | 
| 33 33 | 
             
            end
         | 
    
        data/Gemfile.lock
    CHANGED
    
    | @@ -6,15 +6,15 @@ GEM | |
| 6 6 | 
             
                  sexp_processor (>= 3.0.0)
         | 
| 7 7 | 
             
                RubyInline (3.8.6)
         | 
| 8 8 | 
             
                  ZenTest (~> 4.3)
         | 
| 9 | 
            -
                ZenTest (4.4. | 
| 9 | 
            +
                ZenTest (4.4.2)
         | 
| 10 10 | 
             
                abstract (1.0.0)
         | 
| 11 | 
            -
                actionpack (2.3. | 
| 12 | 
            -
                  activesupport (= 2.3. | 
| 11 | 
            +
                actionpack (2.3.10)
         | 
| 12 | 
            +
                  activesupport (= 2.3.10)
         | 
| 13 13 | 
             
                  rack (~> 1.1.0)
         | 
| 14 | 
            -
                activesupport (2.3. | 
| 15 | 
            -
                addressable (2.2. | 
| 14 | 
            +
                activesupport (2.3.10)
         | 
| 15 | 
            +
                addressable (2.2.2)
         | 
| 16 16 | 
             
                bcrypt-ruby (2.1.2)
         | 
| 17 | 
            -
                columnize (0.3. | 
| 17 | 
            +
                columnize (0.3.2)
         | 
| 18 18 | 
             
                data_objects (0.10.2)
         | 
| 19 19 | 
             
                  addressable (~> 2.1)
         | 
| 20 20 | 
             
                diff-lcs (1.1.2)
         | 
| @@ -51,15 +51,14 @@ GEM | |
| 51 51 | 
             
                  abstract (>= 1.0.0)
         | 
| 52 52 | 
             
                extlib (0.9.15)
         | 
| 53 53 | 
             
                fastercsv (1.5.3)
         | 
| 54 | 
            -
                gemcutter (0.6.1)
         | 
| 55 54 | 
             
                git (1.2.5)
         | 
| 56 | 
            -
                haml (3.0. | 
| 55 | 
            +
                haml (3.0.24)
         | 
| 57 56 | 
             
                highline (1.6.1)
         | 
| 58 | 
            -
                i18n (0. | 
| 59 | 
            -
                jeweler (1. | 
| 60 | 
            -
                   | 
| 57 | 
            +
                i18n (0.5.0)
         | 
| 58 | 
            +
                jeweler (1.5.1)
         | 
| 59 | 
            +
                  bundler (~> 1.0.0)
         | 
| 61 60 | 
             
                  git (>= 1.2.5)
         | 
| 62 | 
            -
                   | 
| 61 | 
            +
                  rake
         | 
| 63 62 | 
             
                json_pure (1.2.4)
         | 
| 64 63 | 
             
                linecache (0.43)
         | 
| 65 64 | 
             
                mailfactory (1.4.0)
         | 
| @@ -139,25 +138,23 @@ GEM | |
| 139 138 | 
             
                  merb-core (~> 1.1.0)
         | 
| 140 139 | 
             
                mime-types (1.16)
         | 
| 141 140 | 
             
                rack (1.1.0)
         | 
| 142 | 
            -
                rack-cache (0.5. | 
| 141 | 
            +
                rack-cache (0.5.3)
         | 
| 143 142 | 
             
                  rack (>= 0.4)
         | 
| 144 143 | 
             
                rake (0.8.7)
         | 
| 145 144 | 
             
                randexp (0.1.5)
         | 
| 146 145 | 
             
                  ParseTree
         | 
| 147 | 
            -
                redis (2. | 
| 146 | 
            +
                redis (2.1.1)
         | 
| 148 147 | 
             
                rspec (1.3.0)
         | 
| 149 | 
            -
                ruby-debug (0.10. | 
| 148 | 
            +
                ruby-debug (0.10.4)
         | 
| 150 149 | 
             
                  columnize (>= 0.1)
         | 
| 151 | 
            -
                  ruby-debug-base (~> 0.10. | 
| 152 | 
            -
                ruby-debug-base (0.10. | 
| 150 | 
            +
                  ruby-debug-base (~> 0.10.4.0)
         | 
| 151 | 
            +
                ruby-debug-base (0.10.4)
         | 
| 153 152 | 
             
                  linecache (>= 0.3)
         | 
| 154 153 | 
             
                ruby2ruby (1.2.5)
         | 
| 155 154 | 
             
                  ruby_parser (~> 2.0)
         | 
| 156 155 | 
             
                  sexp_processor (~> 3.0)
         | 
| 157 156 | 
             
                ruby_parser (2.0.5)
         | 
| 158 157 | 
             
                  sexp_processor (~> 3.0)
         | 
| 159 | 
            -
                rubyforge (2.0.4)
         | 
| 160 | 
            -
                  json_pure (>= 1.1.7)
         | 
| 161 158 | 
             
                sexp_processor (3.0.5)
         | 
| 162 159 | 
             
                stringex (1.1.0)
         | 
| 163 160 | 
             
                templater (1.0.0)
         | 
| @@ -170,8 +167,8 @@ PLATFORMS | |
| 170 167 | 
             
              ruby
         | 
| 171 168 |  | 
| 172 169 | 
             
            DEPENDENCIES
         | 
| 173 | 
            -
              actionpack (= 2.3. | 
| 174 | 
            -
              activesupport (= 2.3. | 
| 170 | 
            +
              actionpack (= 2.3.10)
         | 
| 171 | 
            +
              activesupport (= 2.3.10)
         | 
| 175 172 | 
             
              git
         | 
| 176 173 | 
             
              i18n
         | 
| 177 174 | 
             
              jeweler
         | 
| @@ -179,5 +176,5 @@ DEPENDENCIES | |
| 179 176 | 
             
              rack
         | 
| 180 177 | 
             
              rack-cache
         | 
| 181 178 | 
             
              redis (>= 2.0.0)
         | 
| 182 | 
            -
              rspec
         | 
| 179 | 
            +
              rspec (= 1.3.0)
         | 
| 183 180 | 
             
              ruby-debug
         | 
    
        data/README.md
    CHANGED
    
    | @@ -29,13 +29,13 @@ By default each store try to connect on `localhost` with the port `6379` and the | |
| 29 29 | 
             
                password: secret
         | 
| 30 30 |  | 
| 31 31 | 
             
            If you want to specify the `namespace` optional, you have to pass the `db` param too.
         | 
| 32 | 
            -
            #### __Important__: for now ( | 
| 32 | 
            +
            #### __Important__: for now (beta4) `namespace` is only supported for single, non-distributed stores.
         | 
| 33 33 |  | 
| 34 34 | 
             
            ### Hash
         | 
| 35 35 |  | 
| 36 36 | 
             
                { :host => 192.168.1.100, :port => 23682, :db => 13, :namespace => "theplaylist", :password => "secret" }
         | 
| 37 37 |  | 
| 38 | 
            -
            #### __Important__: for now ( | 
| 38 | 
            +
            #### __Important__: for now (beta4) `namespace` is only supported for single, non-distributed stores.
         | 
| 39 39 |  | 
| 40 40 | 
             
            ## Cache store
         | 
| 41 41 |  | 
| @@ -46,21 +46,30 @@ Provides a cache store for your Ruby web framework of choice. | |
| 46 46 | 
             
                config.gem "redis-store"
         | 
| 47 47 | 
             
                config.cache_store = :redis_store
         | 
| 48 48 |  | 
| 49 | 
            +
            ### Rails 2.x (with Bundler)
         | 
| 50 | 
            +
             | 
| 51 | 
            +
                # Gemfile
         | 
| 52 | 
            +
                gem "redis-store"
         | 
| 53 | 
            +
             | 
| 54 | 
            +
                # in your configuration
         | 
| 55 | 
            +
                config.gem "redis-store"
         | 
| 56 | 
            +
                config.cache_store = :redis_store, { ... optional configuration ... }
         | 
| 57 | 
            +
             | 
| 49 58 | 
             
            ### Rails 3.x
         | 
| 50 59 |  | 
| 51 60 | 
             
                # Gemfile
         | 
| 52 | 
            -
                gem 'rails', '3.0. | 
| 61 | 
            +
                gem 'rails', '3.0.3'
         | 
| 53 62 | 
             
                gem 'redis'
         | 
| 54 | 
            -
                gem 'redis-store', '1.0.0. | 
| 63 | 
            +
                gem 'redis-store', '1.0.0.beta4'
         | 
| 55 64 |  | 
| 56 65 | 
             
                # config/environments/production.rb
         | 
| 57 | 
            -
                config.cache_store = :redis_store
         | 
| 66 | 
            +
                config.cache_store = :redis_store, { ... optional configuration ... }
         | 
| 58 67 |  | 
| 59 68 | 
             
            For advanced configurations scenarios please visit [the wiki](http://wiki.github.com/jodosha/redis-store/rails).
         | 
| 60 69 |  | 
| 61 70 | 
             
            ### Merb
         | 
| 62 71 |  | 
| 63 | 
            -
                dependency "redis-store", "1.0.0. | 
| 72 | 
            +
                dependency "redis-store", "1.0.0.beta4"
         | 
| 64 73 | 
             
                dependency("merb-cache", merb_gems_version) do
         | 
| 65 74 | 
             
                  Merb::Cache.setup do
         | 
| 66 75 | 
             
                    register(:redis, Merb::Cache::RedisStore, :servers => ["127.0.0.1:6379"])
         | 
| @@ -92,15 +101,52 @@ Provides a Redis store for Rack::Session. See [http://rack.rubyforge.org/doc/Rac | |
| 92 101 |  | 
| 93 102 | 
             
            ### Rails 2.x
         | 
| 94 103 |  | 
| 104 | 
            +
                # config/environment.rb
         | 
| 95 105 | 
             
                config.gem "redis-store"
         | 
| 106 | 
            +
             | 
| 107 | 
            +
                # then configure as following:
         | 
| 108 | 
            +
             | 
| 109 | 
            +
                # config/environments/*.rb
         | 
| 110 | 
            +
                config.cache_store = :redis_store
         | 
| 111 | 
            +
             | 
| 112 | 
            +
                # or
         | 
| 113 | 
            +
             | 
| 114 | 
            +
                # config/initializers/session_store.rb
         | 
| 115 | 
            +
                ActionController::Base.session = {
         | 
| 116 | 
            +
                  :key         => APPLICATION['session_key'],
         | 
| 117 | 
            +
                  :secret      => APPLICATION['session_secret'],
         | 
| 118 | 
            +
                  :key_prefix  => Rails.env
         | 
| 119 | 
            +
                }
         | 
| 120 | 
            +
             | 
| 121 | 
            +
                ActionController::Base.session_store = :redis_session_store
         | 
| 122 | 
            +
             | 
| 123 | 
            +
            ### Rails 2.x (with Bundler)
         | 
| 124 | 
            +
             | 
| 125 | 
            +
                # Gemfile
         | 
| 126 | 
            +
                gem "redis-store"
         | 
| 127 | 
            +
             | 
| 128 | 
            +
                # then configure as following:
         | 
| 129 | 
            +
             | 
| 130 | 
            +
                # config/environments/*.rb
         | 
| 131 | 
            +
                config.cache_store = :redis_store
         | 
| 132 | 
            +
             | 
| 133 | 
            +
                # or
         | 
| 134 | 
            +
             | 
| 135 | 
            +
                # config/initializers/session_store.rb
         | 
| 136 | 
            +
                ActionController::Base.session = {
         | 
| 137 | 
            +
                  :key         => APPLICATION['session_key'],
         | 
| 138 | 
            +
                  :secret      => APPLICATION['session_secret'],
         | 
| 139 | 
            +
                  :key_prefix  => Rails.env
         | 
| 140 | 
            +
                }
         | 
| 141 | 
            +
             | 
| 96 142 | 
             
                ActionController::Base.session_store = :redis_session_store
         | 
| 97 143 |  | 
| 98 144 | 
             
            ### Rails 3.x
         | 
| 99 145 |  | 
| 100 146 | 
             
                # Gemfile
         | 
| 101 | 
            -
                gem 'rails', '3.0. | 
| 147 | 
            +
                gem 'rails', '3.0.3'
         | 
| 102 148 | 
             
                gem 'redis'
         | 
| 103 | 
            -
                gem 'redis-store', '1.0.0. | 
| 149 | 
            +
                gem 'redis-store', '1.0.0.beta4'
         | 
| 104 150 |  | 
| 105 151 | 
             
                # config/initializers/session_store.rb
         | 
| 106 152 | 
             
                MyApp::Application.config.session_store :redis_session_store
         | 
| @@ -109,7 +155,7 @@ For advanced configurations scenarios please visit [the wiki](http://wiki.github | |
| 109 155 |  | 
| 110 156 | 
             
            ### Merb
         | 
| 111 157 |  | 
| 112 | 
            -
                dependency "redis-store", "1.0.0. | 
| 158 | 
            +
                dependency "redis-store", "1.0.0.beta4"
         | 
| 113 159 | 
             
                Merb::Config.use do |c|
         | 
| 114 160 | 
             
                  c[:session_store] = "redis"
         | 
| 115 161 | 
             
                end
         | 
    
        data/VERSION
    CHANGED
    
    | @@ -1 +1 @@ | |
| 1 | 
            -
            1.0.0. | 
| 1 | 
            +
            1.0.0.beta4
         | 
| @@ -7,12 +7,12 @@ module RedisStore | |
| 7 7 | 
             
                  # the MemCacheStore code, simply dropping in Redis instead.
         | 
| 8 8 | 
             
                  #
         | 
| 9 9 | 
             
                  # Options:
         | 
| 10 | 
            -
                  #  :key | 
| 11 | 
            -
                  #  :secret | 
| 12 | 
            -
                  #  :host | 
| 13 | 
            -
                  #  :port | 
| 14 | 
            -
                  #  :db | 
| 15 | 
            -
                  #  :key_prefix | 
| 10 | 
            +
                  #  :key          => Same as with the other cookie stores, key name
         | 
| 11 | 
            +
                  #  :secret       => Encryption secret for the key
         | 
| 12 | 
            +
                  #  :host         => Redis host name, default is localhost
         | 
| 13 | 
            +
                  #  :port         => Redis port, default is 6379
         | 
| 14 | 
            +
                  #  :db           => Database number, defaults to 0. Useful to separate your session storage from other data
         | 
| 15 | 
            +
                  #  :key_prefix   => Prefix for keys used in Redis, e.g. myapp-. Useful to separate session storage keys visibly from others
         | 
| 16 16 | 
             
                  #  :expire_after => A number in seconds to set the timeout interval for the session. Will map directly to expiry in Redis
         | 
| 17 17 | 
             
                  module Rails
         | 
| 18 18 | 
             
                    def initialize(app, options = {})
         | 
| @@ -21,12 +21,12 @@ module RedisStore | |
| 21 21 |  | 
| 22 22 | 
             
                      super
         | 
| 23 23 |  | 
| 24 | 
            -
                       | 
| 25 | 
            -
             | 
| 26 | 
            -
             | 
| 27 | 
            -
             | 
| 28 | 
            -
             | 
| 29 | 
            -
                         | 
| 24 | 
            +
                      options = options.dup
         | 
| 25 | 
            +
                      servers = [ options.delete(:servers) ].flatten.compact
         | 
| 26 | 
            +
                      servers = [ "redis://localhost:6379/0" ] if servers.empty?
         | 
| 27 | 
            +
                      servers.map! do |server|
         | 
| 28 | 
            +
                        server = Redis::Factory.convert_to_redis_client_options(server)
         | 
| 29 | 
            +
                        server.merge(options)
         | 
| 30 30 | 
             
                      end
         | 
| 31 31 |  | 
| 32 32 | 
             
                      @pool = Redis::Factory.create(*servers)
         | 
| @@ -46,7 +46,7 @@ module RedisStore | |
| 46 46 | 
             
                      def set_session(env, sid, session_data)
         | 
| 47 47 | 
             
                        options = env['rack.session.options']
         | 
| 48 48 | 
             
                        @pool.set(sid, session_data, options)
         | 
| 49 | 
            -
                        return true
         | 
| 49 | 
            +
                        return(::Redis::Store.rails3? ? sid : true)
         | 
| 50 50 | 
             
                      rescue Errno::ECONNREFUSED
         | 
| 51 51 | 
             
                        return false
         | 
| 52 52 | 
             
                      end
         | 
| @@ -3,6 +3,30 @@ require "redis-store" | |
| 3 3 | 
             
            module ::RedisStore
         | 
| 4 4 | 
             
              module Cache
         | 
| 5 5 | 
             
                module Rails2
         | 
| 6 | 
            +
                  # Instantiate the store.
         | 
| 7 | 
            +
                  #
         | 
| 8 | 
            +
                  # Example:
         | 
| 9 | 
            +
                  #   RedisStore.new
         | 
| 10 | 
            +
                  #     # => host: localhost,   port: 6379,  db: 0
         | 
| 11 | 
            +
                  #
         | 
| 12 | 
            +
                  #   RedisStore.new "example.com"
         | 
| 13 | 
            +
                  #     # => host: example.com, port: 6379,  db: 0
         | 
| 14 | 
            +
                  #
         | 
| 15 | 
            +
                  #   RedisStore.new "example.com:23682"
         | 
| 16 | 
            +
                  #     # => host: example.com, port: 23682, db: 0
         | 
| 17 | 
            +
                  #
         | 
| 18 | 
            +
                  #   RedisStore.new "example.com:23682/1"
         | 
| 19 | 
            +
                  #     # => host: example.com, port: 23682, db: 1
         | 
| 20 | 
            +
                  #
         | 
| 21 | 
            +
                  #   RedisStore.new "example.com:23682/1/theplaylist"
         | 
| 22 | 
            +
                  #     # => host: example.com, port: 23682, db: 1, namespace: theplaylist
         | 
| 23 | 
            +
                  #
         | 
| 24 | 
            +
                  #   RedisStore.new "localhost:6379/0", "localhost:6380/0"
         | 
| 25 | 
            +
                  #     # => instantiate a cluster
         | 
| 26 | 
            +
                  def initialize(*addresses)
         | 
| 27 | 
            +
                    @data = ::Redis::Factory.create(addresses)
         | 
| 28 | 
            +
                  end
         | 
| 29 | 
            +
             | 
| 6 30 | 
             
                  def write(key, value, options = nil)
         | 
| 7 31 | 
             
                    super
         | 
| 8 32 | 
             
                    method = options && options[:unless_exist] ? :setnx : :set
         | 
| @@ -42,6 +66,31 @@ module ::RedisStore | |
| 42 66 | 
             
                end
         | 
| 43 67 |  | 
| 44 68 | 
             
                module Rails3
         | 
| 69 | 
            +
                  # Instantiate the store.
         | 
| 70 | 
            +
                  #
         | 
| 71 | 
            +
                  # Example:
         | 
| 72 | 
            +
                  #   RedisStore.new
         | 
| 73 | 
            +
                  #     # => host: localhost,   port: 6379,  db: 0
         | 
| 74 | 
            +
                  #
         | 
| 75 | 
            +
                  #   RedisStore.new "example.com"
         | 
| 76 | 
            +
                  #     # => host: example.com, port: 6379,  db: 0
         | 
| 77 | 
            +
                  #
         | 
| 78 | 
            +
                  #   RedisStore.new "example.com:23682"
         | 
| 79 | 
            +
                  #     # => host: example.com, port: 23682, db: 0
         | 
| 80 | 
            +
                  #
         | 
| 81 | 
            +
                  #   RedisStore.new "example.com:23682/1"
         | 
| 82 | 
            +
                  #     # => host: example.com, port: 23682, db: 1
         | 
| 83 | 
            +
                  #
         | 
| 84 | 
            +
                  #   RedisStore.new "example.com:23682/1/theplaylist"
         | 
| 85 | 
            +
                  #     # => host: example.com, port: 23682, db: 1, namespace: theplaylist
         | 
| 86 | 
            +
                  #
         | 
| 87 | 
            +
                  #   RedisStore.new "localhost:6379/0", "localhost:6380/0"
         | 
| 88 | 
            +
                  #     # => instantiate a cluster
         | 
| 89 | 
            +
                  def initialize(*addresses)
         | 
| 90 | 
            +
                    @data = ::Redis::Factory.create(addresses)
         | 
| 91 | 
            +
                    super(addresses.extract_options!)
         | 
| 92 | 
            +
                  end
         | 
| 93 | 
            +
             | 
| 45 94 | 
             
                  # Delete objects for matched keys.
         | 
| 46 95 | 
             
                  #
         | 
| 47 96 | 
             
                  # Example:
         | 
| @@ -98,31 +147,6 @@ module ActiveSupport | |
| 98 147 | 
             
                class RedisStore < Store
         | 
| 99 148 | 
             
                  include ::RedisStore::Cache::Store
         | 
| 100 149 |  | 
| 101 | 
            -
                  # Instantiate the store.
         | 
| 102 | 
            -
                  #
         | 
| 103 | 
            -
                  # Example:
         | 
| 104 | 
            -
                  #   RedisStore.new
         | 
| 105 | 
            -
                  #     # => host: localhost,   port: 6379,  db: 0
         | 
| 106 | 
            -
                  #
         | 
| 107 | 
            -
                  #   RedisStore.new "example.com"
         | 
| 108 | 
            -
                  #     # => host: example.com, port: 6379,  db: 0
         | 
| 109 | 
            -
                  #
         | 
| 110 | 
            -
                  #   RedisStore.new "example.com:23682"
         | 
| 111 | 
            -
                  #     # => host: example.com, port: 23682, db: 0
         | 
| 112 | 
            -
                  #
         | 
| 113 | 
            -
                  #   RedisStore.new "example.com:23682/1"
         | 
| 114 | 
            -
                  #     # => host: example.com, port: 23682, db: 1
         | 
| 115 | 
            -
                  #
         | 
| 116 | 
            -
                  #   RedisStore.new "example.com:23682/1/theplaylist"
         | 
| 117 | 
            -
                  #     # => host: example.com, port: 23682, db: 1, namespace: theplaylist
         | 
| 118 | 
            -
                  #
         | 
| 119 | 
            -
                  #   RedisStore.new "localhost:6379/0", "localhost:6380/0"
         | 
| 120 | 
            -
                  #     # => instantiate a cluster
         | 
| 121 | 
            -
                  def initialize(*addresses)
         | 
| 122 | 
            -
                    @data = ::Redis::Factory.create(addresses)
         | 
| 123 | 
            -
                    super(addresses.extract_options!)
         | 
| 124 | 
            -
                  end
         | 
| 125 | 
            -
             | 
| 126 150 | 
             
                  # Reads multiple keys from the cache using a single call to the
         | 
| 127 151 | 
             
                  # servers for all keys. Options can be passed in the last argument.
         | 
| 128 152 | 
             
                  #
         | 
| @@ -15,7 +15,7 @@ module Rack | |
| 15 15 | 
             
                    def self.resolve(uri)
         | 
| 16 16 | 
             
                      db = uri.path.sub(/^\//, '')
         | 
| 17 17 | 
             
                      db = "0" if db.empty?
         | 
| 18 | 
            -
                      server = { :host => uri.host, :port => uri.port || "6379", :db => db }
         | 
| 18 | 
            +
                      server = { :host => uri.host, :port => uri.port || "6379", :db => db, :password => uri.password }
         | 
| 19 19 | 
             
                      new server
         | 
| 20 20 | 
             
                    end
         | 
| 21 21 | 
             
                  end
         | 
| @@ -10,7 +10,7 @@ module Rack | |
| 10 10 | 
             
                    def self.resolve(uri)
         | 
| 11 11 | 
             
                      db = uri.path.sub(/^\//, '')
         | 
| 12 12 | 
             
                      db = "0" if db.empty?
         | 
| 13 | 
            -
                      server = { :host => uri.host, :port => uri.port || "6379", :db => db }
         | 
| 13 | 
            +
                      server = { :host => uri.host, :port => uri.port || "6379", :db => db, :password => uri.password }
         | 
| 14 14 | 
             
                      new server
         | 
| 15 15 | 
             
                    end
         | 
| 16 16 | 
             
                  end
         | 
    
        data/lib/rack/session/redis.rb
    CHANGED
    
    | @@ -68,7 +68,7 @@ module Rack | |
| 68 68 |  | 
| 69 69 | 
             
                      delete = old.keys - new.keys
         | 
| 70 70 | 
             
                      warn "//@#{sid}: dropping #{delete*','}" if $DEBUG and not delete.empty?
         | 
| 71 | 
            -
                      delete.each{|k| cur. | 
| 71 | 
            +
                      delete.each{|k| cur.delete k }
         | 
| 72 72 |  | 
| 73 73 | 
             
                      update = new.keys.select{|k| new[k] != old[k] }
         | 
| 74 74 | 
             
                      warn "//@#{sid}: updating #{update*','}" if $DEBUG and not update.empty?
         | 
    
        data/lib/redis-store.rb
    CHANGED
    
    | @@ -16,6 +16,8 @@ elsif defined?(Merb) | |
| 16 16 | 
             
              # HACK for cyclic dependency: redis-store is required before merb-cache
         | 
| 17 17 | 
             
              module Merb; module Cache; class AbstractStore; end end end
         | 
| 18 18 | 
             
              require "cache/merb/redis_store"
         | 
| 19 | 
            +
            elsif defined?(ActiveSupport)
         | 
| 20 | 
            +
              require "active_support/cache/redis_store"
         | 
| 19 21 | 
             
            end
         | 
| 20 22 |  | 
| 21 23 | 
             
            # Rack::Session
         | 
| @@ -27,8 +29,7 @@ if defined?(Rack::Session) | |
| 27 29 | 
             
              end
         | 
| 28 30 | 
             
            end
         | 
| 29 31 |  | 
| 30 | 
            -
             | 
| 31 | 
            -
            if ::Redis::Store.rails3?
         | 
| 32 | 
            +
            if defined?(Rails)
         | 
| 32 33 | 
             
              require "action_controller/session/redis_session_store"
         | 
| 33 34 | 
             
            end
         | 
| 34 35 |  | 
    
        data/lib/redis/factory.rb
    CHANGED
    
    | @@ -33,11 +33,11 @@ class Redis | |
| 33 33 | 
             
                    end
         | 
| 34 34 |  | 
| 35 35 | 
             
                    options = {}
         | 
| 36 | 
            -
                    options[:host] = host || uri.host
         | 
| 37 | 
            -
                    options[:port] = port || uri.port
         | 
| 36 | 
            +
                    options[:host] = host || uri && uri.host
         | 
| 37 | 
            +
                    options[:port] = port || uri && uri.port
         | 
| 38 38 | 
             
                    options[:db]  = db.to_i if db
         | 
| 39 39 | 
             
                    options[:namespace] = namespace if namespace
         | 
| 40 | 
            -
                    options[:password]  = password || uri.password
         | 
| 40 | 
            +
                    options[:password]  = password || uri && uri.password
         | 
| 41 41 | 
             
                    options
         | 
| 42 42 | 
             
                  end
         | 
| 43 43 | 
             
                end
         | 
    
        data/lib/redis/store.rb
    CHANGED
    
    
    
        data/lib/redis/store/version.rb
    CHANGED
    
    
    
        data/redis-store.gemspec
    CHANGED
    
    | @@ -1,90 +1,88 @@ | |
| 1 1 | 
             
            # Generated by jeweler
         | 
| 2 2 | 
             
            # DO NOT EDIT THIS FILE DIRECTLY
         | 
| 3 | 
            -
            # Instead, edit Jeweler::Tasks in Rakefile, and run  | 
| 3 | 
            +
            # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
         | 
| 4 4 | 
             
            # -*- encoding: utf-8 -*-
         | 
| 5 5 |  | 
| 6 6 | 
             
            Gem::Specification.new do |s|
         | 
| 7 7 | 
             
              s.name = %q{redis-store}
         | 
| 8 | 
            -
              s.version = "1.0.0. | 
| 8 | 
            +
              s.version = "1.0.0.beta4"
         | 
| 9 9 |  | 
| 10 10 | 
             
              s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
         | 
| 11 11 | 
             
              s.authors = ["Luca Guidi"]
         | 
| 12 | 
            -
              s.date = %q{2010- | 
| 12 | 
            +
              s.date = %q{2010-12-15}
         | 
| 13 13 | 
             
              s.description = %q{Namespaced Rack::Session, Rack::Cache, I18n and cache Redis stores for Ruby web frameworks.}
         | 
| 14 14 | 
             
              s.email = %q{guidi.luca@gmail.com}
         | 
| 15 15 | 
             
              s.extra_rdoc_files = [
         | 
| 16 16 | 
             
                "README.md"
         | 
| 17 17 | 
             
              ]
         | 
| 18 18 | 
             
              s.files = [
         | 
| 19 | 
            -
                " | 
| 20 | 
            -
             | 
| 21 | 
            -
             | 
| 22 | 
            -
             | 
| 23 | 
            -
             | 
| 24 | 
            -
             | 
| 25 | 
            -
             | 
| 26 | 
            -
             | 
| 27 | 
            -
             | 
| 28 | 
            -
             | 
| 29 | 
            -
             | 
| 30 | 
            -
             | 
| 31 | 
            -
             | 
| 32 | 
            -
             | 
| 33 | 
            -
             | 
| 34 | 
            -
             | 
| 35 | 
            -
             | 
| 36 | 
            -
             | 
| 37 | 
            -
             | 
| 38 | 
            -
             | 
| 39 | 
            -
             | 
| 40 | 
            -
             | 
| 41 | 
            -
             | 
| 42 | 
            -
             | 
| 43 | 
            -
             | 
| 44 | 
            -
             | 
| 45 | 
            -
             | 
| 46 | 
            -
             | 
| 47 | 
            -
             | 
| 48 | 
            -
             | 
| 49 | 
            -
             | 
| 50 | 
            -
             | 
| 51 | 
            -
             | 
| 52 | 
            -
             | 
| 53 | 
            -
             | 
| 54 | 
            -
             | 
| 55 | 
            -
             | 
| 56 | 
            -
             | 
| 57 | 
            -
             | 
| 58 | 
            -
             | 
| 59 | 
            -
             | 
| 60 | 
            -
             | 
| 61 | 
            -
             | 
| 62 | 
            -
             | 
| 63 | 
            -
             | 
| 64 | 
            -
             | 
| 65 | 
            -
                 "tasks/redis.tasks.rb"
         | 
| 19 | 
            +
                "CHANGELOG",
         | 
| 20 | 
            +
                "Gemfile",
         | 
| 21 | 
            +
                "Gemfile.lock",
         | 
| 22 | 
            +
                "MIT-LICENSE",
         | 
| 23 | 
            +
                "README.md",
         | 
| 24 | 
            +
                "Rakefile",
         | 
| 25 | 
            +
                "VERSION",
         | 
| 26 | 
            +
                "lib/action_controller/session/redis_session_store.rb",
         | 
| 27 | 
            +
                "lib/active_support/cache/redis_store.rb",
         | 
| 28 | 
            +
                "lib/cache/merb/redis_store.rb",
         | 
| 29 | 
            +
                "lib/cache/sinatra/redis_store.rb",
         | 
| 30 | 
            +
                "lib/i18n/backend/redis.rb",
         | 
| 31 | 
            +
                "lib/rack/cache/redis_entitystore.rb",
         | 
| 32 | 
            +
                "lib/rack/cache/redis_metastore.rb",
         | 
| 33 | 
            +
                "lib/rack/session/merb.rb",
         | 
| 34 | 
            +
                "lib/rack/session/redis.rb",
         | 
| 35 | 
            +
                "lib/redis-store.rb",
         | 
| 36 | 
            +
                "lib/redis/distributed_store.rb",
         | 
| 37 | 
            +
                "lib/redis/factory.rb",
         | 
| 38 | 
            +
                "lib/redis/store.rb",
         | 
| 39 | 
            +
                "lib/redis/store/interface.rb",
         | 
| 40 | 
            +
                "lib/redis/store/marshalling.rb",
         | 
| 41 | 
            +
                "lib/redis/store/namespace.rb",
         | 
| 42 | 
            +
                "lib/redis/store/ttl.rb",
         | 
| 43 | 
            +
                "lib/redis/store/version.rb",
         | 
| 44 | 
            +
                "redis-store.gemspec",
         | 
| 45 | 
            +
                "spec/action_controller/session/redis_session_store_spec.rb",
         | 
| 46 | 
            +
                "spec/active_support/cache/redis_store_spec.rb",
         | 
| 47 | 
            +
                "spec/cache/merb/redis_store_spec.rb",
         | 
| 48 | 
            +
                "spec/cache/sinatra/redis_store_spec.rb",
         | 
| 49 | 
            +
                "spec/config/master.conf",
         | 
| 50 | 
            +
                "spec/config/single.conf",
         | 
| 51 | 
            +
                "spec/config/slave.conf",
         | 
| 52 | 
            +
                "spec/i18n/backend/redis_spec.rb",
         | 
| 53 | 
            +
                "spec/rack/cache/entitystore/pony.jpg",
         | 
| 54 | 
            +
                "spec/rack/cache/entitystore/redis_spec.rb",
         | 
| 55 | 
            +
                "spec/rack/cache/metastore/redis_spec.rb",
         | 
| 56 | 
            +
                "spec/rack/session/redis_spec.rb",
         | 
| 57 | 
            +
                "spec/redis/distributed_store_spec.rb",
         | 
| 58 | 
            +
                "spec/redis/factory_spec.rb",
         | 
| 59 | 
            +
                "spec/redis/store/interface_spec.rb",
         | 
| 60 | 
            +
                "spec/redis/store/marshalling_spec.rb",
         | 
| 61 | 
            +
                "spec/redis/store/namespace_spec.rb",
         | 
| 62 | 
            +
                "spec/redis/store/version_spec.rb",
         | 
| 63 | 
            +
                "spec/spec_helper.rb",
         | 
| 64 | 
            +
                "tasks/redis.tasks.rb"
         | 
| 66 65 | 
             
              ]
         | 
| 67 66 | 
             
              s.homepage = %q{http://github.com/jodosha/redis-store}
         | 
| 68 | 
            -
              s.rdoc_options = ["--charset=UTF-8"]
         | 
| 69 67 | 
             
              s.require_paths = ["lib"]
         | 
| 70 68 | 
             
              s.rubygems_version = %q{1.3.7}
         | 
| 71 69 | 
             
              s.summary = %q{Namespaced Rack::Session, Rack::Cache, I18n and cache Redis stores for Ruby web frameworks.}
         | 
| 72 70 | 
             
              s.test_files = [
         | 
| 73 71 | 
             
                "spec/action_controller/session/redis_session_store_spec.rb",
         | 
| 74 | 
            -
             | 
| 75 | 
            -
             | 
| 76 | 
            -
             | 
| 77 | 
            -
             | 
| 78 | 
            -
             | 
| 79 | 
            -
             | 
| 80 | 
            -
             | 
| 81 | 
            -
             | 
| 82 | 
            -
             | 
| 83 | 
            -
             | 
| 84 | 
            -
             | 
| 85 | 
            -
             | 
| 86 | 
            -
             | 
| 87 | 
            -
             | 
| 72 | 
            +
                "spec/active_support/cache/redis_store_spec.rb",
         | 
| 73 | 
            +
                "spec/cache/merb/redis_store_spec.rb",
         | 
| 74 | 
            +
                "spec/cache/sinatra/redis_store_spec.rb",
         | 
| 75 | 
            +
                "spec/i18n/backend/redis_spec.rb",
         | 
| 76 | 
            +
                "spec/rack/cache/entitystore/redis_spec.rb",
         | 
| 77 | 
            +
                "spec/rack/cache/metastore/redis_spec.rb",
         | 
| 78 | 
            +
                "spec/rack/session/redis_spec.rb",
         | 
| 79 | 
            +
                "spec/redis/distributed_store_spec.rb",
         | 
| 80 | 
            +
                "spec/redis/factory_spec.rb",
         | 
| 81 | 
            +
                "spec/redis/store/interface_spec.rb",
         | 
| 82 | 
            +
                "spec/redis/store/marshalling_spec.rb",
         | 
| 83 | 
            +
                "spec/redis/store/namespace_spec.rb",
         | 
| 84 | 
            +
                "spec/redis/store/version_spec.rb",
         | 
| 85 | 
            +
                "spec/spec_helper.rb"
         | 
| 88 86 | 
             
              ]
         | 
| 89 87 |  | 
| 90 88 | 
             
              if s.respond_to? :specification_version then
         | 
| @@ -93,11 +91,38 @@ Gem::Specification.new do |s| | |
| 93 91 |  | 
| 94 92 | 
             
                if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
         | 
| 95 93 | 
             
                  s.add_runtime_dependency(%q<redis>, [">= 2.0.0"])
         | 
| 94 | 
            +
                  s.add_development_dependency(%q<jeweler>, [">= 0"])
         | 
| 95 | 
            +
                  s.add_development_dependency(%q<git>, [">= 0"])
         | 
| 96 | 
            +
                  s.add_development_dependency(%q<rack>, [">= 0"])
         | 
| 97 | 
            +
                  s.add_development_dependency(%q<rack-cache>, [">= 0"])
         | 
| 98 | 
            +
                  s.add_development_dependency(%q<merb>, ["= 1.1.0"])
         | 
| 99 | 
            +
                  s.add_development_dependency(%q<rspec>, ["= 1.3.0"])
         | 
| 100 | 
            +
                  s.add_development_dependency(%q<i18n>, [">= 0"])
         | 
| 101 | 
            +
                  s.add_development_dependency(%q<ruby-debug>, [">= 0"])
         | 
| 102 | 
            +
                  s.add_runtime_dependency(%q<redis>, [">= 2.0.0"])
         | 
| 96 103 | 
             
                else
         | 
| 97 104 | 
             
                  s.add_dependency(%q<redis>, [">= 2.0.0"])
         | 
| 105 | 
            +
                  s.add_dependency(%q<jeweler>, [">= 0"])
         | 
| 106 | 
            +
                  s.add_dependency(%q<git>, [">= 0"])
         | 
| 107 | 
            +
                  s.add_dependency(%q<rack>, [">= 0"])
         | 
| 108 | 
            +
                  s.add_dependency(%q<rack-cache>, [">= 0"])
         | 
| 109 | 
            +
                  s.add_dependency(%q<merb>, ["= 1.1.0"])
         | 
| 110 | 
            +
                  s.add_dependency(%q<rspec>, ["= 1.3.0"])
         | 
| 111 | 
            +
                  s.add_dependency(%q<i18n>, [">= 0"])
         | 
| 112 | 
            +
                  s.add_dependency(%q<ruby-debug>, [">= 0"])
         | 
| 113 | 
            +
                  s.add_dependency(%q<redis>, [">= 2.0.0"])
         | 
| 98 114 | 
             
                end
         | 
| 99 115 | 
             
              else
         | 
| 100 116 | 
             
                s.add_dependency(%q<redis>, [">= 2.0.0"])
         | 
| 117 | 
            +
                s.add_dependency(%q<jeweler>, [">= 0"])
         | 
| 118 | 
            +
                s.add_dependency(%q<git>, [">= 0"])
         | 
| 119 | 
            +
                s.add_dependency(%q<rack>, [">= 0"])
         | 
| 120 | 
            +
                s.add_dependency(%q<rack-cache>, [">= 0"])
         | 
| 121 | 
            +
                s.add_dependency(%q<merb>, ["= 1.1.0"])
         | 
| 122 | 
            +
                s.add_dependency(%q<rspec>, ["= 1.3.0"])
         | 
| 123 | 
            +
                s.add_dependency(%q<i18n>, [">= 0"])
         | 
| 124 | 
            +
                s.add_dependency(%q<ruby-debug>, [">= 0"])
         | 
| 125 | 
            +
                s.add_dependency(%q<redis>, [">= 2.0.0"])
         | 
| 101 126 | 
             
              end
         | 
| 102 127 | 
             
            end
         | 
| 103 128 |  | 
| @@ -25,7 +25,7 @@ describe RAILS_SESSION_STORE_CLASS do | |
| 25 25 |  | 
| 26 26 | 
             
              it "should accept string connection params" do
         | 
| 27 27 | 
             
                redis = instantiate_store
         | 
| 28 | 
            -
                redis.to_s.should == "Redis Client connected to  | 
| 28 | 
            +
                redis.to_s.should == "Redis Client connected to localhost:6379 against DB 0"
         | 
| 29 29 |  | 
| 30 30 | 
             
                redis = instantiate_store :servers => "redis://localhost"
         | 
| 31 31 | 
             
                redis.to_s.should == "Redis Client connected to localhost:6379 against DB 0"
         | 
| @@ -45,12 +45,17 @@ describe RAILS_SESSION_STORE_CLASS do | |
| 45 45 | 
             
                redis.to_s.should == "Redis Client connected to 192.168.0.1:6379 against DB 0"
         | 
| 46 46 |  | 
| 47 47 | 
             
                redis = instantiate_store :servers => [{ :port => "6380" }]
         | 
| 48 | 
            -
                redis.to_s.should == "Redis Client connected to  | 
| 48 | 
            +
                redis.to_s.should == "Redis Client connected to 127.0.0.1:6380 against DB 0"
         | 
| 49 49 |  | 
| 50 50 | 
             
                redis = instantiate_store :servers => [{ :db => 13 }]
         | 
| 51 | 
            -
                redis.to_s.should == "Redis Client connected to  | 
| 51 | 
            +
                redis.to_s.should == "Redis Client connected to 127.0.0.1:6379 against DB 13"
         | 
| 52 52 |  | 
| 53 53 | 
             
                redis = instantiate_store :servers => [{ :key_prefix => "theplaylist" }]
         | 
| 54 | 
            +
                redis.to_s.should == "Redis Client connected to 127.0.0.1:6379 against DB 0 with namespace theplaylist"
         | 
| 55 | 
            +
              end
         | 
| 56 | 
            +
             | 
| 57 | 
            +
              it "should accept options when :servers key isn't passed" do
         | 
| 58 | 
            +
                redis = RAILS_SESSION_STORE_CLASS.new(app, :key_prefix => "theplaylist").instance_variable_get(:@pool)
         | 
| 54 59 | 
             
                redis.to_s.should == "Redis Client connected to localhost:6379 against DB 0 with namespace theplaylist"
         | 
| 55 60 | 
             
              end
         | 
| 56 61 |  | 
| @@ -31,6 +31,10 @@ module Rack | |
| 31 31 |  | 
| 32 32 | 
             
                      cache = Rack::Cache::EntityStore::Redis.resolve(uri("redis://127.0.0.1/13")).cache
         | 
| 33 33 | 
             
                      cache.id.should == "redis://127.0.0.1:6379/13"
         | 
| 34 | 
            +
             | 
| 35 | 
            +
                      cache = Rack::Cache::EntityStore::Redis.resolve(uri("redis://:secret@127.0.0.1")).cache
         | 
| 36 | 
            +
                      cache.id.should == "redis://127.0.0.1:6379/0"
         | 
| 37 | 
            +
                      cache.client.password.should == 'secret'
         | 
| 34 38 | 
             
                    end
         | 
| 35 39 |  | 
| 36 40 | 
             
                    # Entity store shared examples ===========================================
         | 
| @@ -31,6 +31,10 @@ module Rack | |
| 31 31 |  | 
| 32 32 | 
             
                      cache = Rack::Cache::MetaStore::Redis.resolve(uri("redis://127.0.0.1/13")).cache
         | 
| 33 33 | 
             
                      cache.to_s.should == "Redis Client connected to 127.0.0.1:6379 against DB 13"
         | 
| 34 | 
            +
             | 
| 35 | 
            +
                      cache = Rack::Cache::MetaStore::Redis.resolve(uri("redis://:secret@127.0.0.1")).cache
         | 
| 36 | 
            +
                      cache.id.should == "redis://127.0.0.1:6379/0"
         | 
| 37 | 
            +
                      cache.client.password.should == 'secret'
         | 
| 34 38 | 
             
                    end
         | 
| 35 39 |  | 
| 36 40 | 
             
                    # Low-level implementation methods ===========================================
         | 
    
        data/spec/spec_helper.rb
    CHANGED
    
    | @@ -19,7 +19,11 @@ begin | |
| 19 19 | 
             
              require "action_controller/session/abstract_store" # Rails 2.3.x
         | 
| 20 20 | 
             
            rescue LoadError
         | 
| 21 21 | 
             
              require "action_dispatch/middleware/session/abstract_store" # Rails 3.x
         | 
| 22 | 
            -
              module Rails | 
| 22 | 
            +
              module ::Rails
         | 
| 23 | 
            +
                module VERSION
         | 
| 24 | 
            +
                  MAJOR = 3
         | 
| 25 | 
            +
                end
         | 
| 26 | 
            +
              end
         | 
| 23 27 | 
             
            end
         | 
| 24 28 | 
             
            require "active_support/cache/redis_store"
         | 
| 25 29 | 
             
            require "action_controller/session/redis_session_store"
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification 
         | 
| 2 2 | 
             
            name: redis-store
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version 
         | 
| 4 | 
            -
              hash: - | 
| 4 | 
            +
              hash: -1848230056
         | 
| 5 5 | 
             
              prerelease: true
         | 
| 6 6 | 
             
              segments: 
         | 
| 7 7 | 
             
              - 1
         | 
| 8 8 | 
             
              - 0
         | 
| 9 9 | 
             
              - 0
         | 
| 10 | 
            -
              -  | 
| 11 | 
            -
              version: 1.0.0. | 
| 10 | 
            +
              - beta4
         | 
| 11 | 
            +
              version: 1.0.0.beta4
         | 
| 12 12 | 
             
            platform: ruby
         | 
| 13 13 | 
             
            authors: 
         | 
| 14 14 | 
             
            - Luca Guidi
         | 
| @@ -16,7 +16,7 @@ autorequire: | |
| 16 16 | 
             
            bindir: bin
         | 
| 17 17 | 
             
            cert_chain: []
         | 
| 18 18 |  | 
| 19 | 
            -
            date: 2010- | 
| 19 | 
            +
            date: 2010-12-15 00:00:00 +01:00
         | 
| 20 20 | 
             
            default_executable: 
         | 
| 21 21 | 
             
            dependencies: 
         | 
| 22 22 | 
             
            - !ruby/object:Gem::Dependency 
         | 
| @@ -35,6 +35,138 @@ dependencies: | |
| 35 35 | 
             
                    version: 2.0.0
         | 
| 36 36 | 
             
              type: :runtime
         | 
| 37 37 | 
             
              version_requirements: *id001
         | 
| 38 | 
            +
            - !ruby/object:Gem::Dependency 
         | 
| 39 | 
            +
              name: jeweler
         | 
| 40 | 
            +
              prerelease: false
         | 
| 41 | 
            +
              requirement: &id002 !ruby/object:Gem::Requirement 
         | 
| 42 | 
            +
                none: false
         | 
| 43 | 
            +
                requirements: 
         | 
| 44 | 
            +
                - - ">="
         | 
| 45 | 
            +
                  - !ruby/object:Gem::Version 
         | 
| 46 | 
            +
                    hash: 3
         | 
| 47 | 
            +
                    segments: 
         | 
| 48 | 
            +
                    - 0
         | 
| 49 | 
            +
                    version: "0"
         | 
| 50 | 
            +
              type: :development
         | 
| 51 | 
            +
              version_requirements: *id002
         | 
| 52 | 
            +
            - !ruby/object:Gem::Dependency 
         | 
| 53 | 
            +
              name: git
         | 
| 54 | 
            +
              prerelease: false
         | 
| 55 | 
            +
              requirement: &id003 !ruby/object:Gem::Requirement 
         | 
| 56 | 
            +
                none: false
         | 
| 57 | 
            +
                requirements: 
         | 
| 58 | 
            +
                - - ">="
         | 
| 59 | 
            +
                  - !ruby/object:Gem::Version 
         | 
| 60 | 
            +
                    hash: 3
         | 
| 61 | 
            +
                    segments: 
         | 
| 62 | 
            +
                    - 0
         | 
| 63 | 
            +
                    version: "0"
         | 
| 64 | 
            +
              type: :development
         | 
| 65 | 
            +
              version_requirements: *id003
         | 
| 66 | 
            +
            - !ruby/object:Gem::Dependency 
         | 
| 67 | 
            +
              name: rack
         | 
| 68 | 
            +
              prerelease: false
         | 
| 69 | 
            +
              requirement: &id004 !ruby/object:Gem::Requirement 
         | 
| 70 | 
            +
                none: false
         | 
| 71 | 
            +
                requirements: 
         | 
| 72 | 
            +
                - - ">="
         | 
| 73 | 
            +
                  - !ruby/object:Gem::Version 
         | 
| 74 | 
            +
                    hash: 3
         | 
| 75 | 
            +
                    segments: 
         | 
| 76 | 
            +
                    - 0
         | 
| 77 | 
            +
                    version: "0"
         | 
| 78 | 
            +
              type: :development
         | 
| 79 | 
            +
              version_requirements: *id004
         | 
| 80 | 
            +
            - !ruby/object:Gem::Dependency 
         | 
| 81 | 
            +
              name: rack-cache
         | 
| 82 | 
            +
              prerelease: false
         | 
| 83 | 
            +
              requirement: &id005 !ruby/object:Gem::Requirement 
         | 
| 84 | 
            +
                none: false
         | 
| 85 | 
            +
                requirements: 
         | 
| 86 | 
            +
                - - ">="
         | 
| 87 | 
            +
                  - !ruby/object:Gem::Version 
         | 
| 88 | 
            +
                    hash: 3
         | 
| 89 | 
            +
                    segments: 
         | 
| 90 | 
            +
                    - 0
         | 
| 91 | 
            +
                    version: "0"
         | 
| 92 | 
            +
              type: :development
         | 
| 93 | 
            +
              version_requirements: *id005
         | 
| 94 | 
            +
            - !ruby/object:Gem::Dependency 
         | 
| 95 | 
            +
              name: merb
         | 
| 96 | 
            +
              prerelease: false
         | 
| 97 | 
            +
              requirement: &id006 !ruby/object:Gem::Requirement 
         | 
| 98 | 
            +
                none: false
         | 
| 99 | 
            +
                requirements: 
         | 
| 100 | 
            +
                - - "="
         | 
| 101 | 
            +
                  - !ruby/object:Gem::Version 
         | 
| 102 | 
            +
                    hash: 19
         | 
| 103 | 
            +
                    segments: 
         | 
| 104 | 
            +
                    - 1
         | 
| 105 | 
            +
                    - 1
         | 
| 106 | 
            +
                    - 0
         | 
| 107 | 
            +
                    version: 1.1.0
         | 
| 108 | 
            +
              type: :development
         | 
| 109 | 
            +
              version_requirements: *id006
         | 
| 110 | 
            +
            - !ruby/object:Gem::Dependency 
         | 
| 111 | 
            +
              name: rspec
         | 
| 112 | 
            +
              prerelease: false
         | 
| 113 | 
            +
              requirement: &id007 !ruby/object:Gem::Requirement 
         | 
| 114 | 
            +
                none: false
         | 
| 115 | 
            +
                requirements: 
         | 
| 116 | 
            +
                - - "="
         | 
| 117 | 
            +
                  - !ruby/object:Gem::Version 
         | 
| 118 | 
            +
                    hash: 27
         | 
| 119 | 
            +
                    segments: 
         | 
| 120 | 
            +
                    - 1
         | 
| 121 | 
            +
                    - 3
         | 
| 122 | 
            +
                    - 0
         | 
| 123 | 
            +
                    version: 1.3.0
         | 
| 124 | 
            +
              type: :development
         | 
| 125 | 
            +
              version_requirements: *id007
         | 
| 126 | 
            +
            - !ruby/object:Gem::Dependency 
         | 
| 127 | 
            +
              name: i18n
         | 
| 128 | 
            +
              prerelease: false
         | 
| 129 | 
            +
              requirement: &id008 !ruby/object:Gem::Requirement 
         | 
| 130 | 
            +
                none: false
         | 
| 131 | 
            +
                requirements: 
         | 
| 132 | 
            +
                - - ">="
         | 
| 133 | 
            +
                  - !ruby/object:Gem::Version 
         | 
| 134 | 
            +
                    hash: 3
         | 
| 135 | 
            +
                    segments: 
         | 
| 136 | 
            +
                    - 0
         | 
| 137 | 
            +
                    version: "0"
         | 
| 138 | 
            +
              type: :development
         | 
| 139 | 
            +
              version_requirements: *id008
         | 
| 140 | 
            +
            - !ruby/object:Gem::Dependency 
         | 
| 141 | 
            +
              name: ruby-debug
         | 
| 142 | 
            +
              prerelease: false
         | 
| 143 | 
            +
              requirement: &id009 !ruby/object:Gem::Requirement 
         | 
| 144 | 
            +
                none: false
         | 
| 145 | 
            +
                requirements: 
         | 
| 146 | 
            +
                - - ">="
         | 
| 147 | 
            +
                  - !ruby/object:Gem::Version 
         | 
| 148 | 
            +
                    hash: 3
         | 
| 149 | 
            +
                    segments: 
         | 
| 150 | 
            +
                    - 0
         | 
| 151 | 
            +
                    version: "0"
         | 
| 152 | 
            +
              type: :development
         | 
| 153 | 
            +
              version_requirements: *id009
         | 
| 154 | 
            +
            - !ruby/object:Gem::Dependency 
         | 
| 155 | 
            +
              name: redis
         | 
| 156 | 
            +
              prerelease: false
         | 
| 157 | 
            +
              requirement: &id010 !ruby/object:Gem::Requirement 
         | 
| 158 | 
            +
                none: false
         | 
| 159 | 
            +
                requirements: 
         | 
| 160 | 
            +
                - - ">="
         | 
| 161 | 
            +
                  - !ruby/object:Gem::Version 
         | 
| 162 | 
            +
                    hash: 15
         | 
| 163 | 
            +
                    segments: 
         | 
| 164 | 
            +
                    - 2
         | 
| 165 | 
            +
                    - 0
         | 
| 166 | 
            +
                    - 0
         | 
| 167 | 
            +
                    version: 2.0.0
         | 
| 168 | 
            +
              type: :runtime
         | 
| 169 | 
            +
              version_requirements: *id010
         | 
| 38 170 | 
             
            description: Namespaced Rack::Session, Rack::Cache, I18n and cache Redis stores for Ruby web frameworks.
         | 
| 39 171 | 
             
            email: guidi.luca@gmail.com
         | 
| 40 172 | 
             
            executables: []
         | 
| @@ -44,7 +176,6 @@ extensions: [] | |
| 44 176 | 
             
            extra_rdoc_files: 
         | 
| 45 177 | 
             
            - README.md
         | 
| 46 178 | 
             
            files: 
         | 
| 47 | 
            -
            - .gitignore
         | 
| 48 179 | 
             
            - CHANGELOG
         | 
| 49 180 | 
             
            - Gemfile
         | 
| 50 181 | 
             
            - Gemfile.lock
         | 
| @@ -96,8 +227,8 @@ homepage: http://github.com/jodosha/redis-store | |
| 96 227 | 
             
            licenses: []
         | 
| 97 228 |  | 
| 98 229 | 
             
            post_install_message: 
         | 
| 99 | 
            -
            rdoc_options: 
         | 
| 100 | 
            -
             | 
| 230 | 
            +
            rdoc_options: []
         | 
| 231 | 
            +
             | 
| 101 232 | 
             
            require_paths: 
         | 
| 102 233 | 
             
            - lib
         | 
| 103 234 | 
             
            required_ruby_version: !ruby/object:Gem::Requirement 
         |