easy_redis 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +24 -2
- data/easy_redis.gemspec +3 -2
- data/lib/easy_redis/easy_redis.rb +45 -0
- data/lib/easy_redis/initialize/active_record.rb +7 -0
- data/lib/easy_redis/methods/deleters.rb +19 -0
- data/lib/easy_redis/methods/getters.rb +18 -0
- data/lib/easy_redis/methods/methods.rb +33 -0
- data/lib/easy_redis/methods/setters.rb +17 -0
- data/lib/easy_redis/methods/updaters.rb +20 -0
- data/lib/easy_redis/{version.rb → version/version.rb} +1 -1
- data/lib/easy_redis.rb +1 -2
- metadata +25 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a68248d9943685f76f55cab4a361fbeac38afec1
|
4
|
+
data.tar.gz: e4b13bcfe55bb488d9dd1456d94772783ba35663
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c4fc6e232a524341a9c8ae291f4308713d9d1adcc513c856d272120cd514054e7693362e6e29eddd96f3434e4c2819f2ea22a09d768fec5b707ee647875cdc23
|
7
|
+
data.tar.gz: e34e377338aa09c874a6212671c941faca290b05353c551bca5658743f37b775a343bb5f9ae0ec0f8062e12b27d28a6b39ccb4c22e2c4786b5efa6ec65fb74ad
|
data/README.md
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
# EasyRedis
|
2
2
|
|
3
|
-
|
3
|
+
Helper methods for activerecord objects to use redis easily
|
4
|
+
Don't worry about the type casting. EasyRedis does type conversions!
|
4
5
|
|
5
6
|
## Installation
|
6
7
|
|
@@ -18,7 +19,28 @@ Or install it yourself as:
|
|
18
19
|
|
19
20
|
## Usage
|
20
21
|
|
21
|
-
|
22
|
+
Create a file under initializers directory and set a redis client like above:
|
23
|
+
|
24
|
+
EasyRedis::Redis.configure(:redis => Redis.new)
|
25
|
+
|
26
|
+
Examples:
|
27
|
+
|
28
|
+
u = User.find(1)
|
29
|
+
u.r_set("key", "value")
|
30
|
+
u.redis_set("key", "value")
|
31
|
+
u.redis_set_key("value")
|
32
|
+
|
33
|
+
u.r_get("key")
|
34
|
+
u.redis_get("key")
|
35
|
+
u.redis_get_key
|
36
|
+
|
37
|
+
u.r_del("key")
|
38
|
+
u.redis_del("key")
|
39
|
+
u.redis_del_key
|
40
|
+
|
41
|
+
u.r_update("key", "value")
|
42
|
+
u.redis_update("key", "value")
|
43
|
+
u.redis_update_key("value")
|
22
44
|
|
23
45
|
## Contributing
|
24
46
|
|
data/easy_redis.gemspec
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# coding: utf-8
|
2
2
|
lib = File.expand_path('../lib', __FILE__)
|
3
3
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
-
require 'easy_redis/version'
|
4
|
+
require 'easy_redis/version/version'
|
5
5
|
|
6
6
|
Gem::Specification.new do |spec|
|
7
7
|
spec.name = "easy_redis"
|
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
|
|
10
10
|
spec.email = ["mehmetemininac@gmail.com"]
|
11
11
|
spec.summary = %q{Less coding for redis store}
|
12
12
|
spec.description = %q{Creates getter and setter methods for redis store.}
|
13
|
-
spec.homepage = ""
|
13
|
+
spec.homepage = "http://github.com/meinac/easy_redis"
|
14
14
|
spec.license = "MIT"
|
15
15
|
|
16
16
|
spec.files = `git ls-files -z`.split("\x0")
|
@@ -18,6 +18,7 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
19
|
spec.require_paths = ["lib"]
|
20
20
|
|
21
|
+
spec.add_dependency "redis"
|
21
22
|
spec.add_development_dependency "bundler", "~> 1.6"
|
22
23
|
spec.add_development_dependency "rake"
|
23
24
|
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
require "easy_redis/version/version"
|
2
|
+
require "easy_redis/initialize/active_record"
|
3
|
+
|
4
|
+
module EasyRedis
|
5
|
+
|
6
|
+
class Redis
|
7
|
+
|
8
|
+
@@redis = nil
|
9
|
+
@@config = {
|
10
|
+
namespace: "easyredis",
|
11
|
+
type_cast: true,
|
12
|
+
redis: nil
|
13
|
+
}
|
14
|
+
@@valid_config_keys = @@config.keys
|
15
|
+
|
16
|
+
class << self
|
17
|
+
|
18
|
+
def redis
|
19
|
+
@@redis
|
20
|
+
end
|
21
|
+
|
22
|
+
def redis=(redis)
|
23
|
+
@@redis = redis
|
24
|
+
end
|
25
|
+
|
26
|
+
def namespace
|
27
|
+
@@config[:namespace]
|
28
|
+
end
|
29
|
+
|
30
|
+
def use_type_casting?
|
31
|
+
@@config[:type_cast]
|
32
|
+
end
|
33
|
+
|
34
|
+
def configure(opts = {})
|
35
|
+
opts.each do |k,v|
|
36
|
+
@@config[k.to_sym] = v if @@valid_config_keys.include? k.to_sym
|
37
|
+
end
|
38
|
+
self.redis = @@config[:redis] if @@config[:redis].present?
|
39
|
+
end
|
40
|
+
|
41
|
+
end
|
42
|
+
|
43
|
+
end
|
44
|
+
|
45
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module EasyRedis
|
2
|
+
|
3
|
+
module Deleters
|
4
|
+
|
5
|
+
def r_del(attribute)
|
6
|
+
self.redis_cli.hdel(redis_key, attribute)
|
7
|
+
end
|
8
|
+
|
9
|
+
def method_missing(meth, *args, &block)
|
10
|
+
(meth.to_s =~ /^redis_del_(.+)$/ || meth.to_s =~ /^r_del_(.+)$/) ? r_del($1) : super
|
11
|
+
end
|
12
|
+
|
13
|
+
alias_method :r_delete, :r_del
|
14
|
+
alias_method :redis_del, :r_del
|
15
|
+
alias_method :redis_delete, :r_del
|
16
|
+
|
17
|
+
end
|
18
|
+
|
19
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
module EasyRedis
|
2
|
+
|
3
|
+
module Getters
|
4
|
+
|
5
|
+
def r_get(attribute)
|
6
|
+
val = self.redis_cli.hget(redis_key, attribute)
|
7
|
+
self.use_type_casting? ? YAML.load(val.to_s) : val
|
8
|
+
end
|
9
|
+
|
10
|
+
def method_missing(meth, *args, &block)
|
11
|
+
(meth.to_s =~ /^redis_get_(.+)$/ || meth.to_s =~ /^r_get_(.+)$/) ? r_get($1, *args) : super
|
12
|
+
end
|
13
|
+
|
14
|
+
alias_method :redis_get, :r_get
|
15
|
+
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require "easy_redis/methods/getters"
|
2
|
+
require "easy_redis/methods/setters"
|
3
|
+
require "easy_redis/methods/deleters"
|
4
|
+
require "easy_redis/methods/updaters"
|
5
|
+
|
6
|
+
module EasyRedis
|
7
|
+
|
8
|
+
module Methods
|
9
|
+
|
10
|
+
def self.included(klass)
|
11
|
+
klass.class_eval do
|
12
|
+
include EasyRedis::Getters
|
13
|
+
include EasyRedis::Setters
|
14
|
+
include EasyRedis::Deleters
|
15
|
+
include EasyRedis::Updaters
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
def redis_key
|
20
|
+
@redis_key ||= "#{EasyRedis::Redis.namespace}:attributes:#{self.class.name}:#{self.id}"
|
21
|
+
end
|
22
|
+
|
23
|
+
def redis_cli
|
24
|
+
EasyRedis::Redis.redis
|
25
|
+
end
|
26
|
+
|
27
|
+
def use_type_casting?
|
28
|
+
EasyRedis::Redis.use_type_casting?
|
29
|
+
end
|
30
|
+
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module EasyRedis
|
2
|
+
|
3
|
+
module Setters
|
4
|
+
|
5
|
+
def r_set(attribute, value)
|
6
|
+
self.redis_cli.hset(redis_key, attribute, YAML.dump(value))
|
7
|
+
end
|
8
|
+
|
9
|
+
def method_missing(meth, *args, &block)
|
10
|
+
(meth.to_s =~ /^redis_set_(.+)$/ || meth.to_s =~ /^r_set_(.+)$/) ? r_set($1, *args) : super
|
11
|
+
end
|
12
|
+
|
13
|
+
alias_method :redis_set, :r_set
|
14
|
+
|
15
|
+
end
|
16
|
+
|
17
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module EasyRedis
|
2
|
+
|
3
|
+
module Updaters
|
4
|
+
|
5
|
+
def r_update(attribute, value)
|
6
|
+
self.r_del(attribute)
|
7
|
+
self.r_set(attribute, value)
|
8
|
+
end
|
9
|
+
|
10
|
+
def method_missing(meth, *args, &block)
|
11
|
+
(meth.to_s =~ /^redis_update_(.+)$/ || meth.to_s =~ /^r_update_(.+)$/) ? r_delete($1, *args) : super
|
12
|
+
end
|
13
|
+
|
14
|
+
alias_method :redis_update, :r_update
|
15
|
+
|
16
|
+
|
17
|
+
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
data/lib/easy_redis.rb
CHANGED
metadata
CHANGED
@@ -1,15 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: easy_redis
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mehmet Emin İNAÇ
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-06-
|
11
|
+
date: 2014-06-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: redis
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: bundler
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -52,8 +66,15 @@ files:
|
|
52
66
|
- Rakefile
|
53
67
|
- easy_redis.gemspec
|
54
68
|
- lib/easy_redis.rb
|
55
|
-
- lib/easy_redis/
|
56
|
-
|
69
|
+
- lib/easy_redis/easy_redis.rb
|
70
|
+
- lib/easy_redis/initialize/active_record.rb
|
71
|
+
- lib/easy_redis/methods/deleters.rb
|
72
|
+
- lib/easy_redis/methods/getters.rb
|
73
|
+
- lib/easy_redis/methods/methods.rb
|
74
|
+
- lib/easy_redis/methods/setters.rb
|
75
|
+
- lib/easy_redis/methods/updaters.rb
|
76
|
+
- lib/easy_redis/version/version.rb
|
77
|
+
homepage: http://github.com/meinac/easy_redis
|
57
78
|
licenses:
|
58
79
|
- MIT
|
59
80
|
metadata: {}
|