to_source 0.2.1 → 0.2.2
Sign up to get free protection for your applications and to get access to all the features.
- data/Changelog.md +10 -1
- data/lib/to_source.rb +1 -0
- data/lib/to_source/visitor.rb +6 -6
- data/spec/unit/to_source/visitor/class_methods/run_spec.rb +11 -2
- data/to_source.gemspec +1 -5
- metadata +2 -3
- data/lib/to_source/version.rb +0 -3
data/Changelog.md
CHANGED
@@ -1,8 +1,17 @@
|
|
1
|
+
# v0.2.2 2012-12-07
|
2
|
+
|
3
|
+
* [fixed] Emit of pattern arguments with no formal arguments present
|
4
|
+
* [fixed] Missed to require set
|
5
|
+
|
6
|
+
[Compare v0.2.1..v0.2.2](https://github.com/mbj/to_source/compare/v0.2.1...v0.2.2)
|
7
|
+
|
1
8
|
# v0.2.1 2012-12-07
|
2
9
|
|
3
10
|
* [fixed] Emit of def on splat with block
|
4
11
|
* [fixed] Emit of pattern args
|
5
12
|
|
13
|
+
[Compare v0.2.0..v0.2.1](https://github.com/mbj/to_source/compare/v0.2.0...v0.2.1)
|
14
|
+
|
6
15
|
# v0.2.0 2012-12-07
|
7
16
|
|
8
17
|
* [BRAKING CHANGE] Remove core extension Rubinius::AST::Node#to_source (mbj)
|
@@ -13,4 +22,4 @@
|
|
13
22
|
* [feature] Introduce metric tools via devtools
|
14
23
|
* [fixed] Lots of transitvity edge cases
|
15
24
|
|
16
|
-
[Compare v0.1.3..v0.2.0](https://github.com/
|
25
|
+
[Compare v0.1.3..v0.2.0](https://github.com/mbj/to_source/ompare/v0.1.3...v0.2.0)
|
data/lib/to_source.rb
CHANGED
data/lib/to_source/visitor.rb
CHANGED
@@ -1324,7 +1324,7 @@ module ToSource
|
|
1324
1324
|
emit(' do')
|
1325
1325
|
|
1326
1326
|
arguments = node.arguments
|
1327
|
-
unless arguments.
|
1327
|
+
unless arguments.required.empty?
|
1328
1328
|
emit(' ')
|
1329
1329
|
formal_arguments_generic(node.arguments,'|','|')
|
1330
1330
|
end
|
@@ -1575,9 +1575,9 @@ module ToSource
|
|
1575
1575
|
#
|
1576
1576
|
# @api private
|
1577
1577
|
#
|
1578
|
-
def formal_arguments_generic(node,open,close)
|
1579
|
-
|
1580
|
-
required
|
1578
|
+
def formal_arguments_generic(node, open, close)
|
1579
|
+
required, defaults, splat, block_arg = node.required, node.defaults, node.splat, node.block_arg
|
1580
|
+
return unless required.any? or defaults or splat or block_arg
|
1581
1581
|
|
1582
1582
|
emit(open)
|
1583
1583
|
|
@@ -1606,10 +1606,10 @@ module ToSource
|
|
1606
1606
|
end
|
1607
1607
|
end
|
1608
1608
|
|
1609
|
-
if
|
1609
|
+
if block_arg
|
1610
1610
|
emit(', ') unless empty
|
1611
1611
|
|
1612
|
-
dispatch(
|
1612
|
+
dispatch(block_arg)
|
1613
1613
|
end
|
1614
1614
|
|
1615
1615
|
emit(close)
|
@@ -20,7 +20,7 @@ describe ToSource::Visitor,'.run' do
|
|
20
20
|
end
|
21
21
|
|
22
22
|
def self.assert_source(source)
|
23
|
-
let(:node) {
|
23
|
+
let(:node) { source.to_ast }
|
24
24
|
let(:source) { source }
|
25
25
|
let(:expected_source) { source }
|
26
26
|
|
@@ -398,7 +398,7 @@ describe ToSource::Visitor,'.run' do
|
|
398
398
|
end
|
399
399
|
end
|
400
400
|
|
401
|
-
context 'with block that takes pattern arguments' do
|
401
|
+
context 'with block that takes pattern and formal arguments' do
|
402
402
|
assert_source <<-RUBY
|
403
403
|
foo.bar do |(a, b), c|
|
404
404
|
d
|
@@ -406,6 +406,15 @@ describe ToSource::Visitor,'.run' do
|
|
406
406
|
RUBY
|
407
407
|
end
|
408
408
|
|
409
|
+
|
410
|
+
context 'with block that takes pattern and no formal arguments' do
|
411
|
+
assert_source <<-RUBY
|
412
|
+
foo.bar do |(a, b)|
|
413
|
+
d
|
414
|
+
end
|
415
|
+
RUBY
|
416
|
+
end
|
417
|
+
|
409
418
|
context 'with block that takes arguments' do
|
410
419
|
assert_source <<-RUBY
|
411
420
|
foo.bar do |a|
|
data/to_source.gemspec
CHANGED
@@ -1,11 +1,7 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
-
$:.push File.expand_path('../lib', __FILE__)
|
3
|
-
|
4
|
-
require 'to_source/version'
|
5
|
-
|
6
2
|
Gem::Specification.new do |s|
|
7
3
|
s.name = 'to_source'
|
8
|
-
s.version =
|
4
|
+
s.version = '0.2.2'
|
9
5
|
s.authors = ['Josep M. Bach', 'Markus Schirp']
|
10
6
|
s.email = ['josep.m.bach@gmail.com', 'mbj@seonic.net']
|
11
7
|
s.homepage = 'http://github.com/txus/to_source'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: to_source
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2012-12-
|
13
|
+
date: 2012-12-10 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: adamantium
|
@@ -70,7 +70,6 @@ files:
|
|
70
70
|
- config/site.reek
|
71
71
|
- config/yardstick.yml
|
72
72
|
- lib/to_source.rb
|
73
|
-
- lib/to_source/version.rb
|
74
73
|
- lib/to_source/visitor.rb
|
75
74
|
- spec/spec_helper.rb
|
76
75
|
- spec/unit/to_source/visitor/class_methods/run_spec.rb
|
data/lib/to_source/version.rb
DELETED