sourcify 0.1.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.
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