motion_blender 0.1.3 → 0.1.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.
- checksums.yaml +4 -4
- data/lib/motion_blender/analyzer/parser.rb +8 -3
- data/lib/motion_blender/version.rb +1 -1
- data/lib/motion_blender.rb +17 -2
- data/motion/ext.rb +7 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4453bab74e26706478046e31503f168eb4f7ea9a
|
4
|
+
data.tar.gz: 50a4811dd59a01f165228252ee61ebccb4131f20
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d6d3128e4e23934d58f79e0e11ebf371f283255b531e3083ad91158f4cbc854e381ab2a0a112ac2165961f207d30651f538024ca841a45dd41663aa41017bf9c
|
7
|
+
data.tar.gz: 2ef7abbf5bd66df5c2b26800fa811b189c4cf29ef320dd7406307c7ca116803e6ab83855a153be00cda5933941c857ce7b642998e59804345843472af1c712d3
|
@@ -24,7 +24,7 @@ module MotionBlender
|
|
24
24
|
|
25
25
|
def traverse ast, stack = []
|
26
26
|
@exclude_files ||= Set.new
|
27
|
-
if
|
27
|
+
if require_command?(ast)
|
28
28
|
@last_trace = trace_for ast
|
29
29
|
Evaluator.new(@file, ast, stack).parse_args.each do |arg|
|
30
30
|
req = Require.new(@file, ast.children[1], arg)
|
@@ -33,7 +33,7 @@ module MotionBlender
|
|
33
33
|
req.trace = @last_trace
|
34
34
|
@requires << req
|
35
35
|
end
|
36
|
-
|
36
|
+
elsif !raketime_block?(ast)
|
37
37
|
ast.children
|
38
38
|
.select { |node| node.is_a?(::Parser::AST::Node) }
|
39
39
|
.each { |node| traverse node, [*stack, ast] }
|
@@ -41,7 +41,12 @@ module MotionBlender
|
|
41
41
|
end
|
42
42
|
|
43
43
|
def require_command? ast
|
44
|
-
REQUIREMENT_TOKENS.include?(ast.children[1])
|
44
|
+
(ast.type == :send) && REQUIREMENT_TOKENS.include?(ast.children[1])
|
45
|
+
end
|
46
|
+
|
47
|
+
def raketime_block? ast
|
48
|
+
(ast.type == :block) &&
|
49
|
+
(ast.children.first.loc.expression.source == 'MotionBlender.raketime')
|
45
50
|
end
|
46
51
|
|
47
52
|
def trace_for ast
|
data/lib/motion_blender.rb
CHANGED
@@ -34,7 +34,15 @@ module MotionBlender
|
|
34
34
|
def use_motion_dir dir = nil
|
35
35
|
return unless motion?
|
36
36
|
|
37
|
-
dir
|
37
|
+
unless dir
|
38
|
+
file = caller.first.split(':', 2).first
|
39
|
+
Pathname.new(file).dirname.ascend do |path|
|
40
|
+
if $LOAD_PATH.include?(path.to_s)
|
41
|
+
dir = path.dirname.join('motion').to_s
|
42
|
+
break
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
38
46
|
$LOAD_PATH.delete dir
|
39
47
|
$LOAD_PATH.unshift dir
|
40
48
|
end
|
@@ -43,11 +51,18 @@ module MotionBlender
|
|
43
51
|
defined?(Motion::Project::Config)
|
44
52
|
end
|
45
53
|
|
54
|
+
def raketime &proc
|
55
|
+
proc.call
|
56
|
+
end
|
57
|
+
|
58
|
+
def runtime &_
|
59
|
+
end
|
60
|
+
|
46
61
|
def ext_file
|
47
62
|
File.expand_path('../../motion/ext.rb', __FILE__)
|
48
63
|
end
|
49
64
|
|
50
65
|
def builtin_features
|
51
|
-
%w(bigdecimal date thread)
|
66
|
+
%w(bigdecimal rational date thread)
|
52
67
|
end
|
53
68
|
end
|
data/motion/ext.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: motion_blender
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- kayhide
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-10-
|
11
|
+
date: 2015-10-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: parser
|