active_orm 3.0.0 → 4.0.0
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.
- checksums.yaml +4 -4
- data/.DS_Store +0 -0
- data/.fasterer.yml +19 -0
- data/.reek +34 -0
- data/.rubocop.yml +42 -0
- data/Gemfile +1 -1
- data/README.md +10 -11
- data/Rakefile +2 -2
- data/active_orm.gemspec +21 -17
- data/bin/console +4 -4
- data/bin/rake +6 -7
- data/lib/.DS_Store +0 -0
- data/lib/active_orm.rb +9 -27
- data/lib/active_orm/.DS_Store +0 -0
- data/lib/active_orm/base.rb +0 -4
- data/lib/active_orm/railtie.rb +7 -0
- data/lib/active_orm/redis.rb +7 -7
- data/lib/active_orm/redis/.DS_Store +0 -0
- data/lib/active_orm/redis/base.rb +24 -17
- data/lib/active_orm/redis/connection.rb +2 -6
- data/lib/active_orm/redis/hash.rb +8 -2
- data/lib/active_orm/redis/key.rb +23 -13
- data/lib/active_orm/redis/list.rb +36 -22
- data/lib/active_orm/redis/set.rb +2 -2
- data/lib/active_orm/redis/sorted_set.rb +22 -20
- data/lib/active_orm/redis/string.rb +20 -10
- data/lib/active_orm/version.rb +1 -1
- data/lib/generators/active_orm/install_generator.rb +6 -8
- data/lib/tasks/redis.rake +10 -10
- metadata +66 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f553533ee1d9e00017974e9be0f066242baaf401
|
4
|
+
data.tar.gz: 8dc77ee230e832e299ef3bf08dba9c8cea08be5b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 060aeaf9aa0a1bc68ab5646e39379aaa06a838c6b18b855471e958fa01b04bf1c551583c4e3d94c68c0aaa5336d79d058ecfb3f1771551d358168098f53186f3
|
7
|
+
data.tar.gz: be4c7ba86630e1c45d9cff37d83d10561cd59beae5745419f2d4661eb43bf287d07590c774e85b84d89ad75dfa41127ba4828b89b67f75aef531e7f652f78d62
|
data/.DS_Store
ADDED
Binary file
|
data/.fasterer.yml
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
speedups:
|
2
|
+
rescue_vs_respond_to: true
|
3
|
+
module_eval: true
|
4
|
+
shuffle_first_vs_sample: true
|
5
|
+
for_loop_vs_each: true
|
6
|
+
each_with_index_vs_while: false
|
7
|
+
map_flatten_vs_flat_map: true
|
8
|
+
reverse_each_vs_reverse_each: true
|
9
|
+
select_first_vs_detect: true
|
10
|
+
sort_vs_sort_by: true
|
11
|
+
fetch_with_argument_vs_block: true
|
12
|
+
keys_each_vs_each_key: true
|
13
|
+
hash_merge_bang_vs_hash_brackets: true
|
14
|
+
block_vs_symbol_to_proc: true
|
15
|
+
proc_call_vs_yield: true
|
16
|
+
gsub_vs_tr: true
|
17
|
+
select_last_vs_reverse_detect: true
|
18
|
+
getter_vs_attr_reader: true
|
19
|
+
setter_vs_attr_writer: true
|
data/.reek
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
---
|
2
|
+
Attribute:
|
3
|
+
enabled: false
|
4
|
+
BooleanParameter:
|
5
|
+
enabled: false
|
6
|
+
ClassVariable:
|
7
|
+
enabled: false
|
8
|
+
ControlParameter:
|
9
|
+
enabled: false
|
10
|
+
DuplicateMethodCall:
|
11
|
+
exclude:
|
12
|
+
- 'Base#metamorph'
|
13
|
+
FeatureEnvy:
|
14
|
+
enabled: false
|
15
|
+
IrresponsibleModule:
|
16
|
+
enabled: false
|
17
|
+
LongParameterList:
|
18
|
+
enabled: false
|
19
|
+
ManualDispatch:
|
20
|
+
enabled: false
|
21
|
+
NestedIterators:
|
22
|
+
max_allowed_nesting: 2
|
23
|
+
NilCheck:
|
24
|
+
enabled: false
|
25
|
+
PrimaDonnaMethod:
|
26
|
+
enabled: false
|
27
|
+
RepeatedConditional:
|
28
|
+
enabled: false
|
29
|
+
TooManyStatements:
|
30
|
+
max_statements: 10
|
31
|
+
exclude:
|
32
|
+
- 'Base#metamorph'
|
33
|
+
UtilityFunction:
|
34
|
+
enabled: false
|
data/.rubocop.yml
ADDED
@@ -0,0 +1,42 @@
|
|
1
|
+
AllCops:
|
2
|
+
DisplayCopNames: true
|
3
|
+
DisplayStyleGuide: true
|
4
|
+
TargetRubyVersion: 2.3
|
5
|
+
Exclude:
|
6
|
+
- 'spec/**/**/*'
|
7
|
+
LineLength:
|
8
|
+
Max: 100
|
9
|
+
Metrics/ClassLength:
|
10
|
+
Enabled: false
|
11
|
+
Metrics/ModuleLength:
|
12
|
+
Enabled: false
|
13
|
+
Style/Alias:
|
14
|
+
EnforcedStyle: prefer_alias_method
|
15
|
+
Style/BracesAroundHashParameters:
|
16
|
+
Enabled: false
|
17
|
+
Style/ClassAndModuleChildren:
|
18
|
+
EnforcedStyle: compact
|
19
|
+
Style/ClassVars:
|
20
|
+
Enabled: false
|
21
|
+
Style/ClosingParenthesisIndentation:
|
22
|
+
Enabled: false
|
23
|
+
Style/Documentation:
|
24
|
+
Enabled: false
|
25
|
+
Style/EmptyLinesAroundBlockBody:
|
26
|
+
Enabled: false
|
27
|
+
Style/EmptyLinesAroundClassBody:
|
28
|
+
Enabled: false
|
29
|
+
Style/EmptyLinesAroundModuleBody:
|
30
|
+
Enabled: false
|
31
|
+
Style/HashSyntax:
|
32
|
+
Enabled: false
|
33
|
+
Style/FirstParameterIndentation:
|
34
|
+
Enabled: false
|
35
|
+
Style/FrozenStringLiteralComment:
|
36
|
+
Enabled: false
|
37
|
+
Style/MultilineMethodCallIndentation:
|
38
|
+
EnforcedStyle: aligned
|
39
|
+
Style/NumericLiterals:
|
40
|
+
Enabled: false
|
41
|
+
Style/RescueModifier:
|
42
|
+
Enabled: false
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -18,7 +18,7 @@ ActiveOrm is a library for object ruby mapping of different databases.
|
|
18
18
|
Add this line to your application's Gemfile:
|
19
19
|
|
20
20
|
```ruby
|
21
|
-
gem
|
21
|
+
gem 'active_orm'
|
22
22
|
```
|
23
23
|
|
24
24
|
And then execute:
|
@@ -40,14 +40,13 @@ Or install it yourself as:
|
|
40
40
|
**Options:**
|
41
41
|
* client: add a custom Redis client
|
42
42
|
|
43
|
-
`rails generate active_orm:install` will generate the following
|
43
|
+
`rails generate active_orm:install` will generate the following file:
|
44
|
+
`../config/initalizers/active_orm.rb`
|
44
45
|
|
45
46
|
```ruby
|
46
|
-
# config/initalizers/active_orm.rb
|
47
|
-
|
48
47
|
if defined?(Redis)
|
49
48
|
ActiveOrm::Redis.configure do |config|
|
50
|
-
config.client = Redis.new(:
|
49
|
+
config.client = Redis.new(host: '10.0.1.1', port: 6380, db: 15)
|
51
50
|
end
|
52
51
|
end
|
53
52
|
```
|
@@ -68,13 +67,13 @@ end
|
|
68
67
|
* Transaction
|
69
68
|
|
70
69
|
```ruby
|
71
|
-
ActiveOrm::Redis::String.create(:month,
|
72
|
-
ActiveOrm::Redis::String.find(:month)
|
73
|
-
ActiveOrm::Redis::String.evaluate.find(:month)
|
70
|
+
ActiveOrm::Redis::String.create(:month, '01')
|
71
|
+
ActiveOrm::Redis::String.find(:month) #=> '01'
|
72
|
+
ActiveOrm::Redis::String.evaluate.find(:month) #=> 1
|
74
73
|
|
75
|
-
ActiveOrm::Redis::List.create(:user_1, { id: 32123, name:
|
76
|
-
ActiveOrm::Redis::List.find(:user_1)
|
77
|
-
ActiveOrm::Redis::List.evaluate.find(:user_1)
|
74
|
+
ActiveOrm::Redis::List.create(:user_1, { id: 32123, name: 'James Dean', username: 'alpha123' })
|
75
|
+
ActiveOrm::Redis::List.find(:user_1) #=> { id: '32123', name: 'James Dean', username: 'alpha123' }
|
76
|
+
ActiveOrm::Redis::List.evaluate.find(:user_1) #=> { id: 32123, name: 'James Dean', username: 'alpha123' }
|
78
77
|
```
|
79
78
|
|
80
79
|
**Rake:**
|
data/Rakefile
CHANGED
data/active_orm.gemspec
CHANGED
@@ -1,29 +1,33 @@
|
|
1
1
|
# coding: utf-8
|
2
|
-
lib = File.expand_path(
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
3
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
-
require
|
4
|
+
require 'active_orm/version'
|
5
5
|
|
6
6
|
Gem::Specification.new do |spec|
|
7
|
-
spec.name =
|
7
|
+
spec.name = 'active_orm'
|
8
8
|
spec.version = ActiveOrm::VERSION
|
9
|
-
spec.authors = [
|
10
|
-
spec.email = [
|
9
|
+
spec.authors = ['Juan Gomez']
|
10
|
+
spec.email = ['j.gomez@drexed.com']
|
11
11
|
|
12
|
-
spec.summary =
|
13
|
-
spec.description =
|
14
|
-
spec.homepage =
|
15
|
-
spec.license =
|
12
|
+
spec.summary = 'Gem for commonly used database ORM.'
|
13
|
+
spec.description = 'ORM for non-supported databases.'
|
14
|
+
spec.homepage = 'http://drexed.github.io/active_orm'
|
15
|
+
spec.license = 'MIT'
|
16
16
|
|
17
17
|
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
18
|
-
spec.bindir =
|
18
|
+
spec.bindir = 'exe'
|
19
19
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
20
|
-
spec.require_paths = [
|
20
|
+
spec.require_paths = ['lib']
|
21
21
|
|
22
|
-
spec.add_runtime_dependency
|
22
|
+
spec.add_runtime_dependency 'rails'
|
23
|
+
spec.add_runtime_dependency 'dry-configurable'
|
23
24
|
|
24
|
-
spec.add_development_dependency
|
25
|
-
spec.add_development_dependency
|
26
|
-
spec.add_development_dependency
|
27
|
-
spec.add_development_dependency
|
28
|
-
spec.add_development_dependency
|
25
|
+
spec.add_development_dependency 'bundler'
|
26
|
+
spec.add_development_dependency 'coveralls'
|
27
|
+
spec.add_development_dependency 'rake'
|
28
|
+
spec.add_development_dependency 'rspec'
|
29
|
+
spec.add_development_dependency 'generator_spec'
|
30
|
+
spec.add_development_dependency 'fasterer'
|
31
|
+
spec.add_development_dependency 'reek'
|
32
|
+
spec.add_development_dependency 'rubocop'
|
29
33
|
end
|
data/bin/console
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
-
require
|
4
|
-
require
|
3
|
+
require 'bundler/setup'
|
4
|
+
require 'active_orm'
|
5
5
|
|
6
6
|
# You can add fixtures and/or initialization code here to make experimenting
|
7
7
|
# with your gem easier. You can also use a different console, if you like.
|
8
8
|
|
9
9
|
# (If you use this, don't forget to add pry to your Gemfile!)
|
10
|
-
# require
|
10
|
+
# require 'pry'
|
11
11
|
# Pry.start
|
12
12
|
|
13
|
-
require
|
13
|
+
require 'irb'
|
14
14
|
IRB.start
|
data/bin/rake
CHANGED
@@ -2,15 +2,14 @@
|
|
2
2
|
#
|
3
3
|
# This file was generated by Bundler.
|
4
4
|
#
|
5
|
-
# The application
|
5
|
+
# The application 'rake' is installed as part of a gem, and
|
6
6
|
# this file is here to facilitate running it.
|
7
7
|
#
|
8
8
|
|
9
|
-
require
|
10
|
-
ENV[
|
11
|
-
Pathname.new(__FILE__).realpath)
|
9
|
+
require 'pathname'
|
10
|
+
ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', Pathname.new(__FILE__).realpath)
|
12
11
|
|
13
|
-
require
|
14
|
-
require
|
12
|
+
require 'rubygems'
|
13
|
+
require 'bundler/setup'
|
15
14
|
|
16
|
-
load Gem.bin_path(
|
15
|
+
load Gem.bin_path('rake', 'rake')
|
data/lib/.DS_Store
ADDED
Binary file
|
data/lib/active_orm.rb
CHANGED
@@ -1,30 +1,12 @@
|
|
1
|
-
require
|
1
|
+
require 'rails/railtie'
|
2
2
|
|
3
|
-
|
4
|
-
require "active_orm
|
5
|
-
|
6
|
-
require "active_orm/redis"
|
7
|
-
require "active_orm/redis/connection"
|
8
|
-
require "active_orm/redis/geo"
|
9
|
-
require "active_orm/redis/hash"
|
10
|
-
require "active_orm/redis/hyper_log_log"
|
11
|
-
require "active_orm/redis/key"
|
12
|
-
require "active_orm/redis/list"
|
13
|
-
require "active_orm/redis/pub_sub"
|
14
|
-
require "active_orm/redis/script"
|
15
|
-
require "active_orm/redis/set"
|
16
|
-
require "active_orm/redis/sorted_set"
|
17
|
-
require "active_orm/redis/string"
|
18
|
-
require "active_orm/redis/transaction"
|
19
|
-
|
20
|
-
require "generators/active_orm/install_generator"
|
21
|
-
|
22
|
-
module ActiveOrm
|
23
|
-
class Railtie < Rails::Railtie
|
24
|
-
|
25
|
-
rake_tasks do
|
26
|
-
Dir[File.expand_path("tasks/*.rake", File.dirname(__FILE__))].each { |ext| load(ext) }
|
27
|
-
end
|
3
|
+
%w(version railtie base redis).each do |file_name|
|
4
|
+
require "active_orm/#{file_name}"
|
5
|
+
end
|
28
6
|
|
7
|
+
%w(connection geo hash hyper_log_log key list pub_sub script set sorted_set string transaction)
|
8
|
+
.each do |file_name|
|
9
|
+
require "active_orm/redis/#{file_name}"
|
29
10
|
end
|
30
|
-
|
11
|
+
|
12
|
+
require 'generators/active_orm/install_generator'
|
Binary file
|
data/lib/active_orm/base.rb
CHANGED
data/lib/active_orm/redis.rb
CHANGED
@@ -1,22 +1,22 @@
|
|
1
1
|
begin
|
2
|
-
require
|
2
|
+
require 'fakeredis'
|
3
3
|
rescue LoadError
|
4
|
-
require
|
4
|
+
require 'redis'
|
5
5
|
end
|
6
6
|
|
7
|
-
require
|
8
|
-
require
|
9
|
-
class ActiveOrm::Redis < ActiveOrm::Base
|
7
|
+
require 'active_orm/redis/base'
|
8
|
+
require 'active_orm/redis/configuration'
|
10
9
|
|
10
|
+
class ActiveOrm::Redis < ActiveOrm::Base
|
11
11
|
extend Base
|
12
12
|
|
13
13
|
attr_accessor :client
|
14
14
|
|
15
|
-
def initialize(client=nil)
|
15
|
+
def initialize(client = nil)
|
16
16
|
@client ||= (client.nil? ? ActiveOrm::Redis.configuration.client : client)
|
17
17
|
end
|
18
18
|
|
19
|
-
def self.client(client=nil)
|
19
|
+
def self.client(client = nil)
|
20
20
|
client.nil? ? new.client : new(client).client
|
21
21
|
end
|
22
22
|
|
Binary file
|
@@ -2,7 +2,7 @@ module Base
|
|
2
2
|
|
3
3
|
@@evaluate = false
|
4
4
|
|
5
|
-
def evaluate(value=true)
|
5
|
+
def evaluate(value = true)
|
6
6
|
@@evaluate = value
|
7
7
|
self
|
8
8
|
end
|
@@ -10,44 +10,51 @@ module Base
|
|
10
10
|
private
|
11
11
|
|
12
12
|
def evaluate?
|
13
|
-
value
|
13
|
+
value = @@evaluate
|
14
14
|
@@evaluate = false
|
15
15
|
value
|
16
16
|
end
|
17
17
|
|
18
18
|
def append?(order)
|
19
|
-
|
19
|
+
'append' == order.to_s
|
20
20
|
end
|
21
21
|
|
22
|
+
# rubocop:disable Lint/Eval, Lint/RescueException
|
22
23
|
def metaform(value)
|
23
24
|
value.nil? ? value : eval(value)
|
24
|
-
rescue Exception
|
25
|
+
rescue Exception
|
25
26
|
value
|
26
27
|
end
|
28
|
+
# rubocop:enable Lint/Eval, Lint/RescueException
|
27
29
|
|
30
|
+
# rubocop:disable Metrics/AbcSize, Metrics/MethodLength
|
28
31
|
def metamorph(datum)
|
29
32
|
case datum.class.name
|
30
|
-
when
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
datum.map { |
|
33
|
+
when 'Array'
|
34
|
+
data = datum.first
|
35
|
+
|
36
|
+
if data.is_a?(Array)
|
37
|
+
datum.map { |arr| arr.map { |val| metaform(val) } }
|
38
|
+
elsif data.is_a?(Hash)
|
39
|
+
datum.map { |hsh| hsh.each { |key, val| hash.store(key, metaform(val)) } }
|
35
40
|
else
|
36
|
-
datum.map { |
|
41
|
+
datum.map { |val| metaform(val) }
|
37
42
|
end
|
38
|
-
when
|
39
|
-
datum.each { |key,
|
43
|
+
when 'Hash'
|
44
|
+
datum.each { |key, val| datum.store(key, metaform(val)) }
|
40
45
|
else
|
41
46
|
metaform(datum)
|
42
47
|
end
|
43
48
|
end
|
49
|
+
# rubocop:enable Metrics/AbcSize, Metrics/MethodLength
|
44
50
|
|
45
51
|
def metatransform(datum)
|
46
|
-
|
52
|
+
return(nil) if datum.empty?
|
53
|
+
evaluate? ? metamorph(datum) : datum
|
47
54
|
end
|
48
55
|
|
49
56
|
def milliseconds?(format)
|
50
|
-
|
57
|
+
'milliseconds' == format.to_s
|
51
58
|
end
|
52
59
|
|
53
60
|
def normalize_key(key)
|
@@ -55,15 +62,15 @@ module Base
|
|
55
62
|
end
|
56
63
|
|
57
64
|
def prepend?(order)
|
58
|
-
|
65
|
+
'prepend' == order.to_s
|
59
66
|
end
|
60
67
|
|
61
68
|
def seconds?(format)
|
62
|
-
|
69
|
+
'seconds' == format.to_s
|
63
70
|
end
|
64
71
|
|
65
72
|
def stringify_keys(value)
|
66
|
-
value.map { |
|
73
|
+
value.map { |key, _| key.to_s }
|
67
74
|
end
|
68
75
|
|
69
76
|
end
|
@@ -72,15 +72,11 @@ class ActiveOrm::Redis::Connection < ActiveOrm::Redis
|
|
72
72
|
client.shutdown
|
73
73
|
end
|
74
74
|
|
75
|
-
def self.shutdown
|
76
|
-
client.shutdown
|
77
|
-
end
|
78
|
-
|
79
75
|
def self.slave_of(host, port)
|
80
76
|
client.slaveof(host, port)
|
81
77
|
end
|
82
78
|
|
83
|
-
def self.slowlog(command, length=nil)
|
79
|
+
def self.slowlog(command, length = nil)
|
84
80
|
client.slowlog(command, length)
|
85
81
|
end
|
86
82
|
|
@@ -92,7 +88,7 @@ class ActiveOrm::Redis::Connection < ActiveOrm::Redis
|
|
92
88
|
client.time
|
93
89
|
end
|
94
90
|
|
95
|
-
def self.with_reconnect(val=true, &block)
|
91
|
+
def self.with_reconnect(val = true, &block)
|
96
92
|
client.with_reconnect(val, &block)
|
97
93
|
end
|
98
94
|
|
@@ -55,14 +55,20 @@ class ActiveOrm::Redis::Hash < ActiveOrm::Redis
|
|
55
55
|
end
|
56
56
|
|
57
57
|
def self.increment(key, field, value)
|
58
|
-
|
58
|
+
normalized_key = normalize_key(key)
|
59
|
+
|
60
|
+
if value.is_a?(Float)
|
61
|
+
client.hincrbyfloat(normalized_key, field, value)
|
62
|
+
else
|
63
|
+
client.hincrby(normalized_key, field, value)
|
64
|
+
end
|
59
65
|
end
|
60
66
|
|
61
67
|
def self.destroy(key, *args)
|
62
68
|
client.hdel(normalize_key(key), *args)
|
63
69
|
end
|
64
70
|
|
65
|
-
def self.scan(key, cursor, opts={})
|
71
|
+
def self.scan(key, cursor, opts = {})
|
66
72
|
client.hdel(normalize_key(key), cursor, opts)
|
67
73
|
end
|
68
74
|
|
data/lib/active_orm/redis/key.rb
CHANGED
@@ -8,11 +8,13 @@ class ActiveOrm::Redis::Key < ActiveOrm::Redis
|
|
8
8
|
client.type(normalize_key(key))
|
9
9
|
end
|
10
10
|
|
11
|
-
def self.ttl?(key, format
|
12
|
-
|
11
|
+
def self.ttl?(key, format = :seconds)
|
12
|
+
normalized_key = normalize_key(key)
|
13
|
+
|
14
|
+
seconds?(format) ? client.ttl(normalized_key) : client.pttl(normalized_key)
|
13
15
|
end
|
14
16
|
|
15
|
-
def self.sort(key, opts={})
|
17
|
+
def self.sort(key, opts = {})
|
16
18
|
client.sort(normalize_key(key), opts)
|
17
19
|
end
|
18
20
|
|
@@ -36,19 +38,31 @@ class ActiveOrm::Redis::Key < ActiveOrm::Redis
|
|
36
38
|
client.persist(normalize_key(key))
|
37
39
|
end
|
38
40
|
|
39
|
-
def self.expire(key, seconds, format
|
40
|
-
|
41
|
+
def self.expire(key, seconds, format = :seconds)
|
42
|
+
normalized_key = normalize_key(key)
|
43
|
+
|
44
|
+
if seconds?(format)
|
45
|
+
client.expire(normalized_key, seconds)
|
46
|
+
else
|
47
|
+
client.pexpire(normalized_key, seconds)
|
48
|
+
end
|
41
49
|
end
|
42
50
|
|
43
|
-
def self.expire_at(key, seconds, format
|
44
|
-
|
51
|
+
def self.expire_at(key, seconds, format = :seconds)
|
52
|
+
normalized_key = normalize_key(key)
|
53
|
+
|
54
|
+
if seconds?(format)
|
55
|
+
client.expireat(normalized_key, seconds)
|
56
|
+
else
|
57
|
+
client.pexpireat(normalized_key, seconds)
|
58
|
+
end
|
45
59
|
end
|
46
60
|
|
47
61
|
def self.dump(key)
|
48
62
|
client.dump(normalize_key(key))
|
49
63
|
end
|
50
64
|
|
51
|
-
def self.match(pattern='*')
|
65
|
+
def self.match(pattern = '*')
|
52
66
|
value = client.keys(normalize_key(pattern))
|
53
67
|
value = nil if value.empty?
|
54
68
|
value
|
@@ -70,11 +84,7 @@ class ActiveOrm::Redis::Key < ActiveOrm::Redis
|
|
70
84
|
client.restore(normalize_key(key), milliseconds, value)
|
71
85
|
end
|
72
86
|
|
73
|
-
def self.
|
74
|
-
client.sort(normalize_key(key), opts)
|
75
|
-
end
|
76
|
-
|
77
|
-
def self.scan(cursor, opts={})
|
87
|
+
def self.scan(cursor, opts = {})
|
78
88
|
client.scan(cursor, opts)
|
79
89
|
end
|
80
90
|
|
@@ -1,26 +1,26 @@
|
|
1
1
|
class ActiveOrm::Redis::List < ActiveOrm::Redis
|
2
2
|
|
3
|
-
def self.find(key, position=1)
|
3
|
+
def self.find(key, position = 1)
|
4
4
|
value = client.lindex(normalize_key(key), (position - 1))
|
5
5
|
value = metamorph(value) if evaluate?
|
6
6
|
value
|
7
7
|
end
|
8
8
|
|
9
|
-
def self.first(key, limit=1)
|
9
|
+
def self.first(key, limit = 1)
|
10
10
|
value = client.lrange(normalize_key(key), 0, -1)
|
11
|
-
value = (
|
11
|
+
value = (limit == 1 ? value.first : value.first(limit))
|
12
12
|
value = metamorph(value) if evaluate?
|
13
13
|
value
|
14
14
|
end
|
15
15
|
|
16
|
-
def self.last(key, limit=1)
|
16
|
+
def self.last(key, limit = 1)
|
17
17
|
value = client.lrange(normalize_key(key), 0, -1)
|
18
|
-
value = (
|
18
|
+
value = (limit == 1 ? value.last : value.last(limit))
|
19
19
|
value = metamorph(value) if evaluate?
|
20
20
|
value
|
21
21
|
end
|
22
22
|
|
23
|
-
def self.between(key, start=1, finish=0)
|
23
|
+
def self.between(key, start = 1, finish = 0)
|
24
24
|
value = client.lrange(normalize_key(key), (start - 1), (finish - 1))
|
25
25
|
value = metatransform(value)
|
26
26
|
value
|
@@ -36,22 +36,30 @@ class ActiveOrm::Redis::List < ActiveOrm::Redis
|
|
36
36
|
client.llen(normalize_key(key))
|
37
37
|
end
|
38
38
|
|
39
|
-
def self.create(key, value, order
|
40
|
-
|
39
|
+
def self.create(key, value, order = :prepend)
|
40
|
+
normalized_key = normalize_key(key)
|
41
|
+
|
42
|
+
append?(order) ? client.rpush(normalized_key, value) : client.lpush(normalized_key, value)
|
41
43
|
end
|
42
44
|
|
43
|
-
def self.create!(key, value, order
|
44
|
-
|
45
|
+
def self.create!(key, value, order = :prepend)
|
46
|
+
normalized_key = normalize_key(key)
|
47
|
+
|
48
|
+
append?(order) ? client.rpushx(normalized_key, value) : client.lpushx(normalized_key, value)
|
45
49
|
end
|
46
50
|
|
47
|
-
def self.create_limit(key, value, limit, order
|
48
|
-
|
49
|
-
|
51
|
+
def self.create_limit(key, value, limit, order = :prepend)
|
52
|
+
normalized_key = normalize_key(key)
|
53
|
+
|
54
|
+
append?(order) ? client.rpush(normalized_key, value) : client.lpush(normalized_key, value)
|
55
|
+
client.ltrim(normalized_key, 0, (limit - 1))
|
50
56
|
end
|
51
57
|
|
52
|
-
def self.create_limit!(key, value, limit, order
|
53
|
-
|
54
|
-
|
58
|
+
def self.create_limit!(key, value, limit, order = :prepend)
|
59
|
+
normalized_key = normalize_key(key)
|
60
|
+
|
61
|
+
append?(order) ? client.rpushx(normalized_key, value) : client.lpushx(normalized_key, value)
|
62
|
+
client.ltrim(normalized_key, 0, (limit - 1))
|
55
63
|
end
|
56
64
|
|
57
65
|
def self.create_before(key, pivot, value)
|
@@ -72,7 +80,7 @@ class ActiveOrm::Redis::List < ActiveOrm::Redis
|
|
72
80
|
value
|
73
81
|
end
|
74
82
|
|
75
|
-
def self.move_blocking(key, desination
|
83
|
+
def self.move_blocking(key, desination)
|
76
84
|
value = brpoplpush(normalize_key(key), normalize_key(desination))
|
77
85
|
value = metamorph(value) if evaluate?
|
78
86
|
value
|
@@ -82,11 +90,11 @@ class ActiveOrm::Redis::List < ActiveOrm::Redis
|
|
82
90
|
client.lrem(normalize_key(key), count, value)
|
83
91
|
end
|
84
92
|
|
85
|
-
def self.destroy_first(key, limit=1)
|
93
|
+
def self.destroy_first(key, limit = 1)
|
86
94
|
client.ltrim(normalize_key(key), limit, -1)
|
87
95
|
end
|
88
96
|
|
89
|
-
def self.destroy_last(key, limit=1)
|
97
|
+
def self.destroy_last(key, limit = 1)
|
90
98
|
client.ltrim(normalize_key(key), 0, -(limit + 1))
|
91
99
|
end
|
92
100
|
|
@@ -98,14 +106,20 @@ class ActiveOrm::Redis::List < ActiveOrm::Redis
|
|
98
106
|
client.ltrim(normalize_key(key), -1, 0)
|
99
107
|
end
|
100
108
|
|
101
|
-
def self.pop(key, order
|
109
|
+
def self.pop(key, order = :prepend)
|
102
110
|
value = append?(order) ? client.rpop(key) : client.lpop(key)
|
103
111
|
value = metamorph(value) if evaluate?
|
104
112
|
value
|
105
113
|
end
|
106
114
|
|
107
|
-
def self.pop_blocking(keys, opts={})
|
108
|
-
|
115
|
+
def self.pop_blocking(keys, opts = {})
|
116
|
+
timeout = opts[:timeout] || 0
|
117
|
+
value = if append?(opts[:order] || :prepend)
|
118
|
+
client.brpop(keys, timeout)
|
119
|
+
else
|
120
|
+
client.blpop(keys, timeout)
|
121
|
+
end
|
122
|
+
|
109
123
|
value = metamorph(value) if evaluate?
|
110
124
|
value
|
111
125
|
end
|
data/lib/active_orm/redis/set.rb
CHANGED
@@ -24,7 +24,7 @@ class ActiveOrm::Redis::Set < ActiveOrm::Redis
|
|
24
24
|
value
|
25
25
|
end
|
26
26
|
|
27
|
-
def self.sample(key, value=1)
|
27
|
+
def self.sample(key, value = 1)
|
28
28
|
value = client.srandmember(normalize_key(key), value)
|
29
29
|
value = metatransform(value)
|
30
30
|
value
|
@@ -66,7 +66,7 @@ class ActiveOrm::Redis::Set < ActiveOrm::Redis
|
|
66
66
|
client.spop(normalize_key(key))
|
67
67
|
end
|
68
68
|
|
69
|
-
def self.scan(key, cursor, opts={})
|
69
|
+
def self.scan(key, cursor, opts = {})
|
70
70
|
client.sscan(normalize_key(key), cursor, opts)
|
71
71
|
end
|
72
72
|
|
@@ -1,84 +1,86 @@
|
|
1
1
|
class ActiveOrm::Redis::SortedSet < ActiveOrm::Redis
|
2
2
|
|
3
|
-
def self.find(key, position, opts={})
|
4
|
-
|
3
|
+
def self.find(key, position, opts = {})
|
4
|
+
position -= 1
|
5
|
+
|
6
|
+
value = client.zrange(normalize_key(key), position, position, opts)
|
5
7
|
value = value.first
|
6
8
|
value = metamorph(value) if evaluate?
|
7
9
|
value
|
8
10
|
end
|
9
11
|
|
10
|
-
def self.find_score(key, position, opts={})
|
12
|
+
def self.find_score(key, position, opts = {})
|
11
13
|
value = client.zrangebyscore(normalize_key(key), position, position, opts)
|
12
14
|
value = value.first
|
13
15
|
value = metamorph(value) if evaluate?
|
14
16
|
value
|
15
17
|
end
|
16
18
|
|
17
|
-
def self.first(key, opts={})
|
19
|
+
def self.first(key, opts = {})
|
18
20
|
value = client.zrange(normalize_key(key), 0, 0, opts)
|
19
21
|
value = value.first
|
20
22
|
value = metamorph(value) if evaluate?
|
21
23
|
value
|
22
24
|
end
|
23
25
|
|
24
|
-
def self.first_score(key, opts={})
|
26
|
+
def self.first_score(key, opts = {})
|
25
27
|
value = client.zrangebyscore(normalize_key(key), 1, 1, opts)
|
26
28
|
value = value.first
|
27
29
|
value = metamorph(value) if evaluate?
|
28
30
|
value
|
29
31
|
end
|
30
32
|
|
31
|
-
def self.last(key, opts={})
|
33
|
+
def self.last(key, opts = {})
|
32
34
|
value = client.zrevrange(normalize_key(key), 0, 0, opts)
|
33
35
|
value = value.first
|
34
36
|
value = metamorph(value) if evaluate?
|
35
37
|
value
|
36
38
|
end
|
37
39
|
|
38
|
-
def self.last_score(key, opts={})
|
40
|
+
def self.last_score(key, opts = {})
|
39
41
|
value = client.zrevrangebyscore(normalize_key(key), 1, 1, opts)
|
40
42
|
value = value.first
|
41
43
|
value = metamorph(value) if evaluate?
|
42
44
|
value
|
43
45
|
end
|
44
46
|
|
45
|
-
def self.between(key, start, finish, opts={})
|
47
|
+
def self.between(key, start, finish, opts = {})
|
46
48
|
value = client.zrange(normalize_key(key), (start - 1), (finish - 1), opts)
|
47
49
|
value = metatransform(value)
|
48
50
|
value
|
49
51
|
end
|
50
52
|
|
51
|
-
def self.between_reverse(key, start, finish, opts={})
|
53
|
+
def self.between_reverse(key, start, finish, opts = {})
|
52
54
|
value = client.zrevrange(normalize_key(key), (start - 1), (finish - 1), opts)
|
53
55
|
value = metatransform(value)
|
54
56
|
value
|
55
57
|
end
|
56
58
|
|
57
|
-
def self.between_scores(key, min, max, opts={})
|
59
|
+
def self.between_scores(key, min, max, opts = {})
|
58
60
|
value = client.zrangebyscore(normalize_key(key), min, max, opts)
|
59
61
|
value = metatransform(value)
|
60
62
|
value
|
61
63
|
end
|
62
64
|
|
63
|
-
def self.between_scores_reverse(key, min, max, opts={})
|
65
|
+
def self.between_scores_reverse(key, min, max, opts = {})
|
64
66
|
value = client.zrevrangebyscore(normalize_key(key), min, max, opts)
|
65
67
|
value = metatransform(value)
|
66
68
|
value
|
67
69
|
end
|
68
70
|
|
69
|
-
def self.between_lex(key, min, max, opts={})
|
71
|
+
def self.between_lex(key, min, max, opts = {})
|
70
72
|
value = client.zrangebylex(normalize_key(key), min, max, opts)
|
71
73
|
value = metatransform(value)
|
72
74
|
value
|
73
75
|
end
|
74
76
|
|
75
|
-
def self.between_lex_reverse(key, min, max, opts={})
|
77
|
+
def self.between_lex_reverse(key, min, max, opts = {})
|
76
78
|
value = client.zrevrangebylex(normalize_key(key), min, max, opts)
|
77
79
|
value = metatransform(value)
|
78
80
|
value
|
79
81
|
end
|
80
82
|
|
81
|
-
def self.all(key, opts={})
|
83
|
+
def self.all(key, opts = {})
|
82
84
|
value = client.zrange(normalize_key(key), '-inf', '+inf', opts)
|
83
85
|
value = metatransform(value)
|
84
86
|
value
|
@@ -86,13 +88,13 @@ class ActiveOrm::Redis::SortedSet < ActiveOrm::Redis
|
|
86
88
|
|
87
89
|
def self.position(key, value)
|
88
90
|
value = client.zrank(normalize_key(key), value)
|
89
|
-
value
|
91
|
+
value += 1 unless value.nil?
|
90
92
|
value
|
91
93
|
end
|
92
94
|
|
93
95
|
def self.position_reverse(key, value)
|
94
96
|
value = client.zrevrank(normalize_key(key), value)
|
95
|
-
value
|
97
|
+
value += 1 unless value.nil?
|
96
98
|
value
|
97
99
|
end
|
98
100
|
|
@@ -112,11 +114,11 @@ class ActiveOrm::Redis::SortedSet < ActiveOrm::Redis
|
|
112
114
|
client.zadd(normalize_key(key), args)
|
113
115
|
end
|
114
116
|
|
115
|
-
def self.create_intersection(key, keys, opts={})
|
117
|
+
def self.create_intersection(key, keys, opts = {})
|
116
118
|
client.zinterstore(normalize_key(key), keys, opts)
|
117
119
|
end
|
118
120
|
|
119
|
-
def self.create_combination(key, keys, opts={})
|
121
|
+
def self.create_combination(key, keys, opts = {})
|
120
122
|
client.zunionstore(normalize_key(key), keys, opts)
|
121
123
|
end
|
122
124
|
|
@@ -136,11 +138,11 @@ class ActiveOrm::Redis::SortedSet < ActiveOrm::Redis
|
|
136
138
|
client.zremrangebyscore(normalize_key(key), min, max)
|
137
139
|
end
|
138
140
|
|
139
|
-
def self.destroy_lex(key, min, max, opts={})
|
141
|
+
def self.destroy_lex(key, min, max, opts = {})
|
140
142
|
client.zrevrangebylex(normalize_key(key), max, min, opts)
|
141
143
|
end
|
142
144
|
|
143
|
-
def self.scan(key, cursor, opts={})
|
145
|
+
def self.scan(key, cursor, opts = {})
|
144
146
|
client.zscan(normalize_key(key), cursor, opts)
|
145
147
|
end
|
146
148
|
|
@@ -21,7 +21,7 @@ class ActiveOrm::Redis::String < ActiveOrm::Redis
|
|
21
21
|
client.getrange(normalize_key(key), start, finish)
|
22
22
|
end
|
23
23
|
|
24
|
-
def self.create(key, value, opts={})
|
24
|
+
def self.create(key, value, opts = {})
|
25
25
|
client.set(normalize_key(key), value, opts)
|
26
26
|
end
|
27
27
|
|
@@ -39,8 +39,14 @@ class ActiveOrm::Redis::String < ActiveOrm::Redis
|
|
39
39
|
client.msetnx(args)
|
40
40
|
end
|
41
41
|
|
42
|
-
def self.create_until(key, value, seconds, format
|
43
|
-
|
42
|
+
def self.create_until(key, value, seconds, format = :seconds)
|
43
|
+
normalized_key = normalize_key(key)
|
44
|
+
|
45
|
+
if seconds?(format)
|
46
|
+
client.setex(normalized_key, seconds, value)
|
47
|
+
else
|
48
|
+
client.psetex(normalized_key, seconds, value)
|
49
|
+
end
|
44
50
|
end
|
45
51
|
|
46
52
|
def self.append(key, value)
|
@@ -51,23 +57,27 @@ class ActiveOrm::Redis::String < ActiveOrm::Redis
|
|
51
57
|
client.setrange(normalize_key(key), offset, value)
|
52
58
|
end
|
53
59
|
|
54
|
-
def self.decrement(key, value=1)
|
55
|
-
|
60
|
+
def self.decrement(key, value = 1)
|
61
|
+
normalized_key = normalize_key(key)
|
62
|
+
|
63
|
+
value == 1 ? client.decr(normalized_key) : client.decrby(normalized_key, value)
|
56
64
|
end
|
57
65
|
|
58
|
-
def self.increment(key, value=1)
|
66
|
+
def self.increment(key, value = 1)
|
67
|
+
normalized_key = normalize_key(key)
|
68
|
+
|
59
69
|
if value.is_a?(Float)
|
60
|
-
client.incrbyfloat(
|
70
|
+
client.incrbyfloat(normalized_key, value)
|
61
71
|
else
|
62
|
-
|
72
|
+
value == 1 ? client.incr(normalized_key) : client.incrby(normalized_key, value)
|
63
73
|
end
|
64
74
|
end
|
65
75
|
|
66
|
-
def self.reset(key, value=0)
|
76
|
+
def self.reset(key, value = 0)
|
67
77
|
client.getset(normalize_key(key), value)
|
68
78
|
end
|
69
79
|
|
70
|
-
def self.bit_count(key, start=0, finish
|
80
|
+
def self.bit_count(key, start = 0, finish = -1)
|
71
81
|
client.bitcount(normalize_key(key), start, finish)
|
72
82
|
end
|
73
83
|
|
data/lib/active_orm/version.rb
CHANGED
@@ -1,12 +1,10 @@
|
|
1
|
-
require
|
1
|
+
require 'rails/generators'
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
source_root File.expand_path("../templates", __FILE__)
|
6
|
-
|
7
|
-
def copy_initializer_file
|
8
|
-
copy_file("install.rb", "config/initializers/active_orm.rb")
|
9
|
-
end
|
3
|
+
class ActiveOrm::InstallGenerator < Rails::Generators::Base
|
4
|
+
source_root File.expand_path('../templates', __FILE__)
|
10
5
|
|
6
|
+
def copy_initializer_file
|
7
|
+
copy_file('install.rb', 'config/initializers/active_orm.rb')
|
11
8
|
end
|
9
|
+
|
12
10
|
end
|
data/lib/tasks/redis.rake
CHANGED
@@ -1,30 +1,30 @@
|
|
1
1
|
namespace :db do
|
2
2
|
namespace :redis do
|
3
3
|
|
4
|
-
desc
|
4
|
+
desc 'Reset Redis database'
|
5
5
|
task reset: :environment do
|
6
|
-
puts
|
6
|
+
puts '== Reset: reseting Redis '.ljust(80, '=')
|
7
7
|
total_task_start_time = Time.current
|
8
8
|
|
9
|
-
puts
|
9
|
+
puts ' -> Resetting'
|
10
10
|
ActiveOrm::Redis::Connection.flush
|
11
11
|
|
12
12
|
total_task_elapsed_time = (Time.current - total_task_start_time).round(5)
|
13
|
-
puts "== Reset: reset Redis (#{total_task_elapsed_time}s) ".ljust(80,
|
14
|
-
puts
|
13
|
+
puts "== Reset: reset Redis (#{total_task_elapsed_time}s) ".ljust(80, '=')
|
14
|
+
puts ''
|
15
15
|
end
|
16
16
|
|
17
|
-
desc
|
17
|
+
desc 'Reset all Redis databases'
|
18
18
|
task reset_all: :environment do
|
19
|
-
puts
|
19
|
+
puts '== Reset: reseting all Redis '.ljust(80, '=')
|
20
20
|
total_task_start_time = Time.current
|
21
21
|
|
22
|
-
puts
|
22
|
+
puts ' -> Resetting'
|
23
23
|
ActiveOrm::Redis::Connection.flush_all
|
24
24
|
|
25
25
|
total_task_elapsed_time = (Time.current - total_task_start_time).round(5)
|
26
|
-
puts "== Reset: reset all Redis (#{total_task_elapsed_time}s) ".ljust(80,
|
27
|
-
puts
|
26
|
+
puts "== Reset: reset all Redis (#{total_task_elapsed_time}s) ".ljust(80, '=')
|
27
|
+
puts ''
|
28
28
|
end
|
29
29
|
|
30
30
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: active_orm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 4.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Juan Gomez
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-09-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -24,6 +24,20 @@ dependencies:
|
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: dry-configurable
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: bundler
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -94,6 +108,48 @@ dependencies:
|
|
94
108
|
- - ">="
|
95
109
|
- !ruby/object:Gem::Version
|
96
110
|
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: fasterer
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: reek
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - ">="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - ">="
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: rubocop
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - ">="
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '0'
|
146
|
+
type: :development
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - ">="
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0'
|
97
153
|
description: ORM for non-supported databases.
|
98
154
|
email:
|
99
155
|
- j.gomez@drexed.com
|
@@ -101,9 +157,13 @@ executables: []
|
|
101
157
|
extensions: []
|
102
158
|
extra_rdoc_files: []
|
103
159
|
files:
|
160
|
+
- ".DS_Store"
|
104
161
|
- ".coveralls.yml"
|
162
|
+
- ".fasterer.yml"
|
105
163
|
- ".gitignore"
|
164
|
+
- ".reek"
|
106
165
|
- ".rspec"
|
166
|
+
- ".rubocop.yml"
|
107
167
|
- ".travis.yml"
|
108
168
|
- CODE_OF_CONDUCT.md
|
109
169
|
- Gemfile
|
@@ -113,9 +173,13 @@ files:
|
|
113
173
|
- bin/console
|
114
174
|
- bin/rake
|
115
175
|
- bin/setup
|
176
|
+
- lib/.DS_Store
|
116
177
|
- lib/active_orm.rb
|
178
|
+
- lib/active_orm/.DS_Store
|
117
179
|
- lib/active_orm/base.rb
|
180
|
+
- lib/active_orm/railtie.rb
|
118
181
|
- lib/active_orm/redis.rb
|
182
|
+
- lib/active_orm/redis/.DS_Store
|
119
183
|
- lib/active_orm/redis/base.rb
|
120
184
|
- lib/active_orm/redis/configuration.rb
|
121
185
|
- lib/active_orm/redis/connection.rb
|