sourcify 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (41) hide show
  1. data/.document +5 -0
  2. data/.gitignore +21 -0
  3. data/HISTORY.txt +4 -0
  4. data/LICENSE +20 -0
  5. data/README.rdoc +154 -0
  6. data/Rakefile +114 -0
  7. data/VERSION +1 -0
  8. data/lib/sourcify.rb +12 -0
  9. data/lib/sourcify/proc.rb +53 -0
  10. data/lib/sourcify/proc/counter.rb +41 -0
  11. data/lib/sourcify/proc/lexer.rb +40 -0
  12. data/lib/sourcify/proc/lexer18.rb +224 -0
  13. data/lib/sourcify/proc/lexer19.rb +195 -0
  14. data/lib/sourcify/proc/parser.rb +74 -0
  15. data/sourcify.gemspec +109 -0
  16. data/spec/proc/19x_extras.rb +27 -0
  17. data/spec/proc/readme +5 -0
  18. data/spec/proc/to_sexp_variables_spec.rb +146 -0
  19. data/spec/proc/to_source_from_braced_block_w_nested_braced_block_spec.rb +33 -0
  20. data/spec/proc/to_source_from_braced_block_w_nested_hash_spec.rb +34 -0
  21. data/spec/proc/to_source_from_braced_block_wo_nesting_complication_spec.rb +46 -0
  22. data/spec/proc/to_source_from_do_end_block_w_nested_begin_spec.rb +35 -0
  23. data/spec/proc/to_source_from_do_end_block_w_nested_case_spec.rb +35 -0
  24. data/spec/proc/to_source_from_do_end_block_w_nested_class_spec.rb +89 -0
  25. data/spec/proc/to_source_from_do_end_block_w_nested_do_end_block_spec.rb +33 -0
  26. data/spec/proc/to_source_from_do_end_block_w_nested_for_spec.rb +132 -0
  27. data/spec/proc/to_source_from_do_end_block_w_nested_if_spec.rb +73 -0
  28. data/spec/proc/to_source_from_do_end_block_w_nested_method_spec.rb +33 -0
  29. data/spec/proc/to_source_from_do_end_block_w_nested_module_spec.rb +49 -0
  30. data/spec/proc/to_source_from_do_end_block_w_nested_unless_spec.rb +73 -0
  31. data/spec/proc/to_source_from_do_end_block_w_nested_until_spec.rb +176 -0
  32. data/spec/proc/to_source_from_do_end_block_w_nested_while_spec.rb +176 -0
  33. data/spec/proc/to_source_from_do_end_block_wo_nesting_complication_spec.rb +46 -0
  34. data/spec/proc/to_source_from_multi_blocks_w_many_matches_spec.rb +73 -0
  35. data/spec/proc/to_source_from_multi_blocks_w_single_match_spec.rb +31 -0
  36. data/spec/proc/to_source_from_multi_do_end_blocks_w_single_match_spec.rb +31 -0
  37. data/spec/proc/to_source_magic_file_var_spec.rb +127 -0
  38. data/spec/proc/to_source_magic_line_var_spec.rb +127 -0
  39. data/spec/proc/to_source_variables_spec.rb +29 -0
  40. data/spec/spec_helper.rb +41 -0
  41. metadata +159 -0
@@ -0,0 +1,31 @@
1
+ require File.join(File.dirname(__FILE__), '..', 'spec_helper')
2
+
3
+ describe 'Proc#to_source from multi blocks w single match' do
4
+
5
+ expected = 'proc { @x%s }'
6
+
7
+ should 'skip non-matching (all do...end blocks)' do
8
+ (
9
+ b1 = lambda do |a| @x1 end; b2 = lambda do @x1 end; b2
10
+ ).should.be having_source(expected%1)
11
+ end
12
+
13
+ should 'skip non-matching (all {...} blocks)' do
14
+ (
15
+ b1 = lambda {|a| @x2 }; b2 = lambda { @x2 }; b2
16
+ ).should.be having_source(expected%2)
17
+ end
18
+
19
+ should 'skip non-matching (mixed {...} with do...end blocks)' do
20
+ (
21
+ b1 = lambda {|a| @x3 }; b2 = lambda do @x3 end; b2
22
+ ).should.be having_source(expected%3)
23
+ end
24
+
25
+ should 'skip non-matching (mixed do...end with {...} blocks)' do
26
+ (
27
+ b1 = lambda do |a| @x4 end; b2 = lambda { @x4 }; b2
28
+ ).should.be having_source(expected%4)
29
+ end
30
+
31
+ end
@@ -0,0 +1,31 @@
1
+ require File.join(File.dirname(__FILE__), '..', 'spec_helper')
2
+
3
+ describe 'Proc#to_source from multi blocks w single match' do
4
+
5
+ expected = 'proc { @x%s }'
6
+
7
+ should 'skip non-matching (all do...end blocks)' do
8
+ (
9
+ b1 = lambda do |a| @x1 end; b2 = lambda do @x1 end; b2
10
+ ).should.be having_source(expected%1)
11
+ end
12
+
13
+ should 'skip non-matching (all {...} blocks)' do
14
+ (
15
+ b1 = lambda {|a| @x2 }; b2 = lambda { @x2 }; b2
16
+ ).should.be having_source(expected%2)
17
+ end
18
+
19
+ should 'skip non-matching (mixed {...} with do...end blocks)' do
20
+ (
21
+ b1 = lambda {|a| @x3 }; b2 = lambda do @x3 end; b2
22
+ ).should.be having_source(expected%3)
23
+ end
24
+
25
+ should 'skip non-matching (mixed do...end with {...} blocks)' do
26
+ (
27
+ b1 = lambda do |a| @x4 end; b2 = lambda { @x4 }; b2
28
+ ).should.be having_source(expected%4)
29
+ end
30
+
31
+ end
@@ -0,0 +1,127 @@
1
+ require File.join(File.dirname(__FILE__), '..', 'spec_helper')
2
+
3
+ describe "Proc#to_source (magic var __FILE__)" do
4
+
5
+ should 'handle single standalone' do
6
+ lambda { __FILE__ }.should.be having_source(%(proc { "#{__FILE__}" }))
7
+ end
8
+
9
+ should 'handle multiple standalones' do
10
+ lambda {
11
+ [
12
+ __FILE__, __FILE__,
13
+ __FILE__
14
+ ]
15
+ }.should.be having_source(%Q(
16
+ proc do
17
+ [
18
+ "#{__FILE__}", "#{__FILE__}",
19
+ "#{__FILE__}"
20
+ ]
21
+ end
22
+ ))
23
+ end
24
+
25
+ should 'handle single interpolation' do
26
+ lambda { "#{__FILE__}" }.should.be having_source(%(proc { "#{__FILE__}" }))
27
+ end
28
+
29
+ should 'handle multiple interpolation (separate)' do
30
+ lambda {
31
+ [
32
+ "#{__FILE__}", "#{__FILE__}",
33
+ "#{__FILE__}"
34
+ ]
35
+ }.should.be having_source(%Q(
36
+ proc do
37
+ [
38
+ "#{__FILE__}", "#{__FILE__}",
39
+ "#{__FILE__}"
40
+ ]
41
+ end
42
+ ))
43
+ end
44
+
45
+ should 'handle multiple interpolation (together)' do
46
+ lambda {
47
+ <<EOL
48
+ #{__FILE__}, #{__FILE__},
49
+ #{__FILE__}
50
+ EOL
51
+ }.should.be having_source(%Q(
52
+ proc do
53
+ <<EOL
54
+ #{__FILE__}, #{__FILE__},
55
+ #{__FILE__}
56
+ EOL
57
+ end
58
+ ))
59
+ end
60
+
61
+ should 'handle interpolation in (") quoted string' do
62
+ lambda { "#{__FILE__}" }.should.be having_source(%Q(proc { "#{__FILE__}" }))
63
+ end
64
+
65
+ should 'handle interpolation in (%) quoted string' do
66
+ lambda { %(#{__FILE__}) }.should.be having_source(%Q(proc { "#{__FILE__}" }))
67
+ end
68
+
69
+ should 'handle interpolation in (%Q) quoted string' do
70
+ lambda { %Q(#{__FILE__}) }.should.be having_source(%Q(proc { "#{__FILE__}" }))
71
+ end
72
+
73
+ should 'handle interpolation in heredoc string' do
74
+ lambda {
75
+ <<-EOL
76
+ #{__FILE__}
77
+ EOL
78
+ }.should.be having_source(%Q(
79
+ proc do
80
+ <<-EOL
81
+ #{__FILE__}
82
+ EOL
83
+ end
84
+ ))
85
+ end
86
+
87
+ should 'handle interpolation in (%r) regexp' do
88
+ lambda { %r(#{__FILE__}) }.should.be having_source(%Q(proc { %r(#{__FILE__}) }))
89
+ end
90
+
91
+ should 'handle interpolation in (/) regexp' do
92
+ lambda { /#{__FILE__}/ }.should.be having_source(%Q(proc { %r(#{__FILE__}) }))
93
+ end
94
+
95
+ should 'handle interpolation in (%x) command' do
96
+ lambda { %x(echo #{__FILE__}) }.should.be having_source(%Q(proc { %x(echo #{__FILE__}) }))
97
+ end
98
+
99
+ should 'handle interpolation in (`) command' do
100
+ lambda { `echo #{__FILE__}` }.should.be having_source(%Q(proc { `echo #{__FILE__}` }))
101
+ end
102
+
103
+ should 'handle interpolation in (%W) array' do
104
+ lambda { %W(#{__FILE__}) }.should.be having_source(%Q(proc { %W(#{__FILE__}) }))
105
+ end
106
+
107
+ should 'not handle interpolation in (\') quoted string' do
108
+ lambda { '#{__FILE__}' }.should.be having_source(%Q(proc { '\#{__FILE__}' }))
109
+ end
110
+
111
+ should 'not handle interpolation in (%q) quoted string' do
112
+ lambda { %q(#{__FILE__}) }.should.be having_source(%Q(proc { '\#{__FILE__}' }))
113
+ end
114
+
115
+ should 'not handle interpolation in (%w) array' do
116
+ lambda { %w(#{__FILE__}) }.should.be having_source(%Q(proc { %w{\#{__FILE__}} }))
117
+ end
118
+
119
+ should 'not handle escaped-interpolation' do
120
+ lambda { "\#{__FILE__}" }.should.be having_source('proc { "\#{__FILE__}" }')
121
+ end
122
+
123
+ should 'not handle non-interpolated' do
124
+ lambda { "__FILE__" }.should.be having_source(%(proc { "__FILE__" }))
125
+ end
126
+
127
+ end
@@ -0,0 +1,127 @@
1
+ require File.join(File.dirname(__FILE__), '..', 'spec_helper')
2
+
3
+ describe "Proc#to_source (magic var __LINE__)" do
4
+
5
+ should 'handle single standalone' do
6
+ lambda { __LINE__ }.should.be having_source(%(proc { #{__LINE__} }))
7
+ end
8
+
9
+ should 'handle multiple standalones' do
10
+ lambda {
11
+ [
12
+ __LINE__, __LINE__,
13
+ __LINE__
14
+ ]
15
+ }.should.be having_source(%Q(
16
+ proc do
17
+ [
18
+ #{__LINE__ - 6}, #{__LINE__ - 6},
19
+ #{__LINE__ - 6}
20
+ ]
21
+ end
22
+ ))
23
+ end
24
+
25
+ should 'handle single interpolation' do
26
+ lambda { "#{__LINE__}" }.should.be having_source(%(proc { "\#{#{__LINE__}}" }))
27
+ end
28
+
29
+ should 'handle multiple interpolation (separate)' do
30
+ lambda {
31
+ [
32
+ "#{__LINE__}", "#{__LINE__}",
33
+ "#{__LINE__}"
34
+ ]
35
+ }.should.be having_source(%Q(
36
+ proc do
37
+ [
38
+ "\#{#{__LINE__ - 6}}", "\#{#{__LINE__ - 6}}",
39
+ "\#{#{__LINE__ - 6}}"
40
+ ]
41
+ end
42
+ ))
43
+ end
44
+
45
+ should 'handle multiple interpolation (together)' do
46
+ lambda {
47
+ <<EOL
48
+ #{__LINE__}, #{__LINE__},
49
+ #{__LINE__}
50
+ EOL
51
+ }.should.be having_source(%Q(
52
+ proc do
53
+ <<EOL
54
+ \#{#{__LINE__ - 6}}, \#{#{__LINE__ - 6}},
55
+ \#{#{__LINE__ - 6}}
56
+ EOL
57
+ end
58
+ ))
59
+ end
60
+
61
+ should 'handle interpolation in (") quoted string' do
62
+ lambda { "#{__LINE__}" }.should.be having_source(%Q(proc { "\#{#{__LINE__}}" }))
63
+ end
64
+
65
+ should 'handle interpolation in (%) quoted string' do
66
+ lambda { %(#{__LINE__}) }.should.be having_source(%Q(proc { "\#{#{__LINE__}}" }))
67
+ end
68
+
69
+ should 'handle interpolation in (%Q) quoted string' do
70
+ lambda { %Q(#{__LINE__}) }.should.be having_source(%Q(proc { "\#{#{__LINE__}}" }))
71
+ end
72
+
73
+ should 'handle interpolation in heredoc string' do
74
+ lambda {
75
+ <<-EOL
76
+ #{__LINE__}
77
+ EOL
78
+ }.should.be having_source(%Q(
79
+ proc do
80
+ <<-EOL
81
+ \#{#{__LINE__ - 5}}
82
+ EOL
83
+ end
84
+ ))
85
+ end
86
+
87
+ should 'handle interpolation in (%r) regexp' do
88
+ lambda { %r(#{__LINE__}) }.should.be having_source(%Q(proc { %r(\#{#{__LINE__}}) }))
89
+ end
90
+
91
+ should 'handle interpolation in (/) regexp' do
92
+ lambda { /#{__LINE__}/ }.should.be having_source(%Q(proc { %r(\#{#{__LINE__}}) }))
93
+ end
94
+
95
+ should 'handle interpolation in (%x) command' do
96
+ lambda { %x(echo #{__LINE__}) }.should.be having_source(%Q(proc { %x(echo \#{#{__LINE__}}) }))
97
+ end
98
+
99
+ should 'handle interpolation in (`) command' do
100
+ lambda { `echo #{__LINE__}` }.should.be having_source(%Q(proc { `echo \#{#{__LINE__}}` }))
101
+ end
102
+
103
+ should 'handle interpolation in (%W) array' do
104
+ lambda { %W(#{__LINE__}) }.should.be having_source(%Q(proc { %W(\#{#{__LINE__}}) }))
105
+ end
106
+
107
+ should 'not handle interpolation in (\') quoted string' do
108
+ lambda { '#{__LINE__}' }.should.be having_source(%Q(proc { '\#{__LINE__}' }))
109
+ end
110
+
111
+ should 'not handle interpolation in (%q) quoted string' do
112
+ lambda { %q(#{__LINE__}) }.should.be having_source(%Q(proc { '\#{__LINE__}' }))
113
+ end
114
+
115
+ should 'not handle interpolation in (%w) array' do
116
+ lambda { %w(#{__LINE__}) }.should.be having_source(%Q(proc { %w{\#{__LINE__}} }))
117
+ end
118
+
119
+ should 'not handle escaped-interpolation' do
120
+ lambda { "\#{__LINE__}" }.should.be having_source('proc { "\#{__LINE__}" }')
121
+ end
122
+
123
+ should 'not handle non-interpolated' do
124
+ lambda { "__LINE__" }.should.be having_source(%(proc { "__LINE__" }))
125
+ end
126
+
127
+ end
@@ -0,0 +1,29 @@
1
+ require File.join(File.dirname(__FILE__), '..', 'spec_helper')
2
+
3
+ describe "Proc#to_source (variables)" do
4
+
5
+ should 'handle non var' do
6
+ lambda { x }.should.be having_source(%|proc { x }|)
7
+ end
8
+
9
+ should 'handle local var' do
10
+ x = 'lx'
11
+ lambda { x }.should.be having_source(%|proc { x }|)
12
+ end
13
+
14
+ should 'handle instance var' do
15
+ @x = 'ix'
16
+ lambda { @x }.should.be having_source(%|proc { @x }|)
17
+ end
18
+
19
+ should 'handle class var' do
20
+ @@x = 'cx'
21
+ lambda { @@x }.should.be having_source(%|proc { @@x }|)
22
+ end
23
+
24
+ should 'handle global var' do
25
+ $x = 'gx'
26
+ lambda { $x }.should.be having_source(%|proc { $x }|)
27
+ end
28
+
29
+ end
@@ -0,0 +1,41 @@
1
+ require 'rubygems'
2
+ require 'bacon'
3
+ require 'ruby2ruby'
4
+
5
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
6
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
7
+ require 'sourcify'
8
+
9
+ Bacon.summary_on_exit
10
+
11
+ def watever(*args, &block)
12
+ Proc.new(&block)
13
+ end
14
+
15
+ def code_to_sexp(code)
16
+ if Object.const_defined?(:ParseTree)
17
+ require 'parse_tree'
18
+ Unifier.new.process(ParseTree.translate(code))
19
+ else
20
+ require 'ruby_parser'
21
+ RubyParser.new.parse(code)
22
+ end
23
+ end
24
+
25
+ def normalize_code(code)
26
+ Ruby2Ruby.new.process(code_to_sexp(code))
27
+ end
28
+
29
+ def having_source(expected)
30
+ lambda do |_proc|
31
+ normalize_code(_proc.to_source) == normalize_code(expected)
32
+ end
33
+ end
34
+
35
+ def having_sexp(expected)
36
+ lambda do |_proc|
37
+ expected = eval(expected) if expected.is_a?(String)
38
+ _proc.to_sexp.inspect == expected.inspect
39
+ end
40
+ end
41
+
metadata ADDED
@@ -0,0 +1,159 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: sourcify
3
+ version: !ruby/object:Gem::Version
4
+ hash: 27
5
+ prerelease: false
6
+ segments:
7
+ - 0
8
+ - 1
9
+ - 0
10
+ version: 0.1.0
11
+ platform: ruby
12
+ authors:
13
+ - NgTzeYang
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2010-08-28 00:00:00 +08:00
19
+ default_executable:
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ name: ruby2ruby
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ hash: 23
30
+ segments:
31
+ - 1
32
+ - 2
33
+ - 4
34
+ version: 1.2.4
35
+ type: :runtime
36
+ version_requirements: *id001
37
+ - !ruby/object:Gem::Dependency
38
+ name: bacon
39
+ prerelease: false
40
+ requirement: &id002 !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ hash: 3
46
+ segments:
47
+ - 0
48
+ version: "0"
49
+ type: :development
50
+ version_requirements: *id002
51
+ description: ""
52
+ email: ngty77@gmail.com
53
+ executables: []
54
+
55
+ extensions: []
56
+
57
+ extra_rdoc_files:
58
+ - LICENSE
59
+ - README.rdoc
60
+ files:
61
+ - .document
62
+ - .gitignore
63
+ - HISTORY.txt
64
+ - LICENSE
65
+ - README.rdoc
66
+ - Rakefile
67
+ - VERSION
68
+ - lib/sourcify.rb
69
+ - lib/sourcify/proc.rb
70
+ - lib/sourcify/proc/counter.rb
71
+ - lib/sourcify/proc/lexer.rb
72
+ - lib/sourcify/proc/lexer18.rb
73
+ - lib/sourcify/proc/lexer19.rb
74
+ - lib/sourcify/proc/parser.rb
75
+ - sourcify.gemspec
76
+ - spec/proc/19x_extras.rb
77
+ - spec/proc/readme
78
+ - spec/proc/to_sexp_variables_spec.rb
79
+ - spec/proc/to_source_from_braced_block_w_nested_braced_block_spec.rb
80
+ - spec/proc/to_source_from_braced_block_w_nested_hash_spec.rb
81
+ - spec/proc/to_source_from_braced_block_wo_nesting_complication_spec.rb
82
+ - spec/proc/to_source_from_do_end_block_w_nested_begin_spec.rb
83
+ - spec/proc/to_source_from_do_end_block_w_nested_case_spec.rb
84
+ - spec/proc/to_source_from_do_end_block_w_nested_class_spec.rb
85
+ - spec/proc/to_source_from_do_end_block_w_nested_do_end_block_spec.rb
86
+ - spec/proc/to_source_from_do_end_block_w_nested_for_spec.rb
87
+ - spec/proc/to_source_from_do_end_block_w_nested_if_spec.rb
88
+ - spec/proc/to_source_from_do_end_block_w_nested_method_spec.rb
89
+ - spec/proc/to_source_from_do_end_block_w_nested_module_spec.rb
90
+ - spec/proc/to_source_from_do_end_block_w_nested_unless_spec.rb
91
+ - spec/proc/to_source_from_do_end_block_w_nested_until_spec.rb
92
+ - spec/proc/to_source_from_do_end_block_w_nested_while_spec.rb
93
+ - spec/proc/to_source_from_do_end_block_wo_nesting_complication_spec.rb
94
+ - spec/proc/to_source_from_multi_blocks_w_many_matches_spec.rb
95
+ - spec/proc/to_source_from_multi_blocks_w_single_match_spec.rb
96
+ - spec/proc/to_source_from_multi_do_end_blocks_w_single_match_spec.rb
97
+ - spec/proc/to_source_magic_file_var_spec.rb
98
+ - spec/proc/to_source_magic_line_var_spec.rb
99
+ - spec/proc/to_source_variables_spec.rb
100
+ - spec/spec_helper.rb
101
+ has_rdoc: true
102
+ homepage: http://github.com/ngty/sourcify
103
+ licenses: []
104
+
105
+ post_install_message:
106
+ rdoc_options:
107
+ - --charset=UTF-8
108
+ require_paths:
109
+ - lib
110
+ required_ruby_version: !ruby/object:Gem::Requirement
111
+ none: false
112
+ requirements:
113
+ - - ">="
114
+ - !ruby/object:Gem::Version
115
+ hash: 3
116
+ segments:
117
+ - 0
118
+ version: "0"
119
+ required_rubygems_version: !ruby/object:Gem::Requirement
120
+ none: false
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ hash: 3
125
+ segments:
126
+ - 0
127
+ version: "0"
128
+ requirements: []
129
+
130
+ rubyforge_project:
131
+ rubygems_version: 1.3.7
132
+ signing_key:
133
+ specification_version: 3
134
+ summary: Workarounds before ruby-core officially supports Proc#to_source (& friends)
135
+ test_files:
136
+ - spec/proc/to_source_from_do_end_block_w_nested_until_spec.rb
137
+ - spec/proc/to_source_from_do_end_block_w_nested_begin_spec.rb
138
+ - spec/proc/to_source_from_braced_block_w_nested_hash_spec.rb
139
+ - spec/proc/to_source_from_braced_block_wo_nesting_complication_spec.rb
140
+ - spec/proc/to_source_from_do_end_block_w_nested_while_spec.rb
141
+ - spec/proc/to_source_from_multi_do_end_blocks_w_single_match_spec.rb
142
+ - spec/proc/to_source_from_multi_blocks_w_many_matches_spec.rb
143
+ - spec/proc/to_source_from_multi_blocks_w_single_match_spec.rb
144
+ - spec/proc/to_source_from_do_end_block_w_nested_module_spec.rb
145
+ - spec/proc/to_source_from_do_end_block_w_nested_do_end_block_spec.rb
146
+ - spec/proc/to_source_from_do_end_block_w_nested_method_spec.rb
147
+ - spec/proc/to_source_from_do_end_block_w_nested_class_spec.rb
148
+ - spec/proc/to_source_from_do_end_block_w_nested_case_spec.rb
149
+ - spec/proc/to_source_magic_line_var_spec.rb
150
+ - spec/proc/to_source_from_do_end_block_w_nested_unless_spec.rb
151
+ - spec/proc/19x_extras.rb
152
+ - spec/proc/to_source_from_braced_block_w_nested_braced_block_spec.rb
153
+ - spec/proc/to_source_from_do_end_block_wo_nesting_complication_spec.rb
154
+ - spec/proc/to_source_variables_spec.rb
155
+ - spec/proc/to_sexp_variables_spec.rb
156
+ - spec/proc/to_source_magic_file_var_spec.rb
157
+ - spec/proc/to_source_from_do_end_block_w_nested_if_spec.rb
158
+ - spec/proc/to_source_from_do_end_block_w_nested_for_spec.rb
159
+ - spec/spec_helper.rb