wolverine 0.0.3 → 0.0.4
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.
- data/lib/wolverine.rb +31 -2
- data/lib/wolverine/version.rb +1 -1
- data/test/wolverine_test.rb +4 -0
- metadata +8 -8
data/lib/wolverine.rb
CHANGED
@@ -1,10 +1,32 @@
|
|
1
1
|
require 'redis'
|
2
2
|
|
3
|
-
require
|
3
|
+
require 'wolverine/version'
|
4
4
|
require 'wolverine/configuration'
|
5
5
|
require 'wolverine/script'
|
6
6
|
|
7
7
|
module Wolverine
|
8
|
+
|
9
|
+
class Directory
|
10
|
+
class MissingTemplate < StandardError ; end
|
11
|
+
def initialize path
|
12
|
+
@path = path
|
13
|
+
end
|
14
|
+
|
15
|
+
def method_missing sym, *args
|
16
|
+
resolve sym, *args
|
17
|
+
end
|
18
|
+
|
19
|
+
def resolve sym, *args
|
20
|
+
if File.directory?(path = @path + sym.to_s)
|
21
|
+
Directory.new(path)
|
22
|
+
elsif File.exists?(path = @path + "#{sym}.lua")
|
23
|
+
Wolverine.call path, *args
|
24
|
+
else
|
25
|
+
raise MissingTemplate
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
8
30
|
def self.config
|
9
31
|
@config ||= Configuration.new
|
10
32
|
end
|
@@ -13,8 +35,15 @@ module Wolverine
|
|
13
35
|
config.redis
|
14
36
|
end
|
15
37
|
|
38
|
+
def self.method_missing sym, *args
|
39
|
+
Directory.new(config.script_path).resolve(sym, *args)
|
40
|
+
rescue Directory::MissingTemplate
|
41
|
+
super
|
42
|
+
end
|
43
|
+
|
16
44
|
def self.call(file, *args)
|
17
|
-
|
45
|
+
pathname = file.kind_of?(Pathname) ? file : full_path(file)
|
46
|
+
Script.new(pathname).call(redis, *args)
|
18
47
|
end
|
19
48
|
|
20
49
|
def self.full_path(file)
|
data/lib/wolverine/version.rb
CHANGED
data/test/wolverine_test.rb
CHANGED
@@ -11,6 +11,10 @@ class WolverineTest < MiniTest::Unit::TestCase
|
|
11
11
|
assert_equal Pathname.new('foo/bar.lua'), Wolverine.full_path('bar')
|
12
12
|
end
|
13
13
|
|
14
|
+
def test_finding_a_file
|
15
|
+
assert_equal 3, Wolverine.three
|
16
|
+
end
|
17
|
+
|
14
18
|
def test_redis
|
15
19
|
assert_equal :redis, Wolverine.redis
|
16
20
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wolverine
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-03-
|
12
|
+
date: 2012-03-02 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: redis
|
16
|
-
requirement: &
|
16
|
+
requirement: &70182207074200 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70182207074200
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: mocha
|
27
|
-
requirement: &
|
27
|
+
requirement: &70182207088260 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70182207088260
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: minitest
|
38
|
-
requirement: &
|
38
|
+
requirement: &70182207086280 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,7 +43,7 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70182207086280
|
47
47
|
description: Wolverine provides a simple way to run server-side redis scripts from
|
48
48
|
a rails app
|
49
49
|
email:
|