wolverine 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
data/TODO CHANGED
@@ -1,3 +1,5 @@
1
+ - be smarter about trimming and rearranging the backtrace
2
+ - cache methods on Wolverine, rather than using mm all the time
1
3
  - clean up error handling method
2
4
  - Re-evaluate what actually needs to be exposed as public
3
5
  - Think of more TODO items
@@ -13,7 +13,6 @@ module Wolverine
13
13
  @digest = Digest::SHA1.hexdigest @content
14
14
  end
15
15
 
16
- # Wolverine::InvalidScriptError: ERR Error running script (call to f_f5fbb1da9ad036109842747becb4e2abb5e95966): [string "func definition"]:27: attempt to compare nil with number (in #<Pathname:/Users/burke/src/s/shopify/app/wolverine/reservations/reserve.lua>)
17
16
  def call redis, *args
18
17
  begin
19
18
  run_evalsha redis, *args
@@ -27,8 +26,7 @@ module Wolverine
27
26
  begin
28
27
  raise klass.new(message)
29
28
  rescue => e
30
- e.backtrace.unshift("\tfrom #{relative_path}:#{line_number}")
31
- raise e
29
+ raise correct_lua_backtrace(e, file, line_number)
32
30
  end
33
31
  else
34
32
  raise
@@ -37,11 +35,10 @@ module Wolverine
37
35
 
38
36
  private
39
37
 
40
- def relative_path
41
- file.relative_path_from(Wolverine.config.script_path)
42
- end
43
-
44
- def format_error_message(error)
38
+ def correct_lua_backtrace(error, file, line_number)
39
+ 4.times { error.backtrace.shift }
40
+ error.backtrace.unshift("#{file}:#{line_number}")
41
+ error
45
42
  end
46
43
 
47
44
  def run_evalsha redis, *args
@@ -1,3 +1,3 @@
1
1
  module Wolverine
2
- VERSION = "0.2.0"
2
+ VERSION = "0.2.1"
3
3
  end
@@ -25,7 +25,7 @@ module Wolverine
25
25
  script.call(Redis.new)
26
26
  rescue Wolverine::LuaCompilationError => e
27
27
  assert_equal "'=' expected near '+'", e.message
28
- assert_equal "\tfrom e/file1.lua:1", e.backtrace.first
28
+ assert_equal "e/file1.lua:1", e.backtrace.first
29
29
  end
30
30
  end
31
31
 
@@ -40,11 +40,10 @@ module Wolverine
40
40
  script.call(Redis.new)
41
41
  rescue Wolverine::LuaRuntimeError => e
42
42
  assert_equal "attempt to compare number with nil", e.message
43
- assert_equal "\tfrom e/file1.lua:1", e.backtrace.first
43
+ assert_equal "e/file1.lua:1", e.backtrace.first
44
44
  end
45
45
  end
46
46
 
47
-
48
47
  def test_digest_and_content
49
48
  content = "return 1"
50
49
  assert_equal CONTENT, script.content
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.2.0
4
+ version: 0.2.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2012-03-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: redis
16
- requirement: &70232015308460 !ruby/object:Gem::Requirement
16
+ requirement: &70117913236100 !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: *70232015308460
24
+ version_requirements: *70117913236100
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: mocha
27
- requirement: &70232015306420 !ruby/object:Gem::Requirement
27
+ requirement: &70117913249000 !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: *70232015306420
35
+ version_requirements: *70117913249000
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: minitest
38
- requirement: &70232015303920 !ruby/object:Gem::Requirement
38
+ requirement: &70117913244780 !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: *70232015303920
46
+ version_requirements: *70117913244780
47
47
  description: Wolverine provides a simple way to run server-side redis scripts from
48
48
  a rails app
49
49
  email: