unparser 0.2.2 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: eb5573681eec41d2aa209f031b3df7d661396098
4
- data.tar.gz: 093c81030d89b0e97c49f7336f23479d4de7e8f0
3
+ metadata.gz: 72b3825e97d60720db496c242e5357cfb754ce0e
4
+ data.tar.gz: e0323d215ba4c0acf5652ca4c0403ef2442f27ce
5
5
  SHA512:
6
- metadata.gz: 7daf56a27b08facf64be33437d5f1ba12b2f2419e730a119bd3791ccf9dcd5518884a43fec8535c5d5aacffbd0027514d9cc305987b2d6a78503813a11c59991
7
- data.tar.gz: effaf9c5ec7e85b7e4135d8d4b8eb5443dcdd610cc48bb94c38164a69a2951e842e9001b5280fad86f2702e4929fffb2de3b6d268bb4c8624c0c561f9baa734a
6
+ metadata.gz: 2f2fa16b0648154c56234c76ceaaabdcd4ca1e5d41d0472cc498a4539245e1a05da12d85629cfa42e8aa4bcd3f7f9ceb1fcaa23796edb0b0b359138a468d30df
7
+ data.tar.gz: 2861a96bb2e77e0d5f3c7eecdfbcf4a314680e1ddfa4bff2ce7e3c7ffde05ec6d0b691044206200dc22f39ea6c61e699ff8e3f0a34b0325826029bb986757d69
data/.travis.yml CHANGED
@@ -2,9 +2,9 @@ sudo: false
2
2
  language: ruby
3
3
  script: 'bundle exec rake ci'
4
4
  rvm:
5
- - 2.0.0
6
- - 2.1.4
7
- - 2.2.0
5
+ - '2.0'
6
+ - '2.1'
7
+ - '2.2'
8
8
  - rbx-2
9
9
  matrix:
10
10
  include:
data/Changelog.md CHANGED
@@ -1,3 +1,7 @@
1
+ # v0.2.3 2015-04-28
2
+
3
+ * Compatibility with parser ~>2.2.2, >2.2.2.2
4
+
1
5
  # v0.2.2 2015-01-14
2
6
 
3
7
  * Really add back unofficial support for 1.9.3
data/Gemfile CHANGED
@@ -9,4 +9,3 @@ gem 'morpher', '~> 0.2.2'
9
9
 
10
10
  gem 'devtools', git: 'https://github.com/rom-rb/devtools.git'
11
11
  gem 'mutant', git: 'https://github.com/mbj/mutant.git'
12
- eval_gemfile 'Gemfile.devtools'
data/README.md CHANGED
@@ -29,6 +29,38 @@ ast, comments = Parser::CurrentRuby.parse_with_comments(your_source)
29
29
  Unparser.unparse(ast, comments) # => "the code # with comments"
30
30
  ```
31
31
 
32
+ Passing in manually constructed AST:
33
+ ```ruby
34
+ require 'parser/current'
35
+ require 'unparser'
36
+
37
+ module YourHelper
38
+ def s(type, *children)
39
+ Parser::AST::Node.new(type, children)
40
+ end
41
+ end
42
+
43
+ include YourHelper
44
+
45
+ node = s(:def,
46
+ :foo,
47
+ s(:args,
48
+ s(:arg, :x)
49
+ ),
50
+ s(:send,
51
+ s(:lvar, :x),
52
+ :+,
53
+ s(:int, 3)
54
+ )
55
+ )
56
+
57
+ Unparser.unparse(node) # => "def foo(x)\n x + 3\nend"
58
+ ```
59
+
60
+ Note: DO NOT attempt to pass in nodes generated via `AST::Sexp#s`, these ones return
61
+ API incompatible `AST::Node` instances, unparser needs `Parser::AST::Node` instances.
62
+
63
+
32
64
  Equivalent vs identical:
33
65
 
34
66
  ```ruby
data/circle.yml CHANGED
@@ -1,6 +1,6 @@
1
1
  machine:
2
2
  ruby:
3
- version: '2.1'
3
+ version: '2.2'
4
4
  test:
5
5
  override:
6
6
  - bundle exec rake ci
data/lib/unparser.rb CHANGED
@@ -16,7 +16,7 @@ module Unparser
16
16
 
17
17
  # Unparse an AST (and, optionally, comments) into a string
18
18
  #
19
- # @param [Parser::Node, nil] node
19
+ # @param [Parser::AST::Node, nil] node
20
20
  # @param [Array] comment_array
21
21
  #
22
22
  # @return [String]
@@ -47,7 +47,7 @@ module Unparser
47
47
 
48
48
  # Emit segment
49
49
  #
50
- # @param [Parser::Node] node
50
+ # @param [Parser::AST::Node] node
51
51
  #
52
52
  # @return [undefined]
53
53
  #
@@ -73,7 +73,7 @@ module Unparser
73
73
 
74
74
  # Emit str segment
75
75
  #
76
- # @param [Parser::Node] node
76
+ # @param [Parser::AST::Node] node
77
77
  #
78
78
  # @return [undefined]
79
79
  #
@@ -90,7 +90,7 @@ module Unparser
90
90
 
91
91
  # Emit interpolated segment
92
92
  #
93
- # @param [Parser::Node] node
93
+ # @param [Parser::AST::Node] node
94
94
  #
95
95
  # @return [undefined]
96
96
  #
@@ -189,7 +189,8 @@ describe Unparser do
189
189
 
190
190
  context 'regexp' do
191
191
  assert_terminated '/foo/'
192
- assert_terminated %q(/[^-+',.\/:@[:alnum:]\[\]\x80-\xff]+/)
192
+ assert_terminated %q(/[\x80-\xff]+/), %w(1.9)
193
+ assert_terminated %q(/[^-+',.\/:@[:alnum:]\[\]]+/)
193
194
  assert_terminated '/foo#{@bar}/'
194
195
  assert_terminated '/foo#{@bar}/imx'
195
196
  assert_terminated '/#{"\x00"}/', %w(1.9)
@@ -205,7 +206,7 @@ describe Unparser do
205
206
  end
206
207
  RUBY
207
208
  assert_generates '%r(/)', '/\//'
208
- assert_generates '%r(\))', '/)/'
209
+ assert_generates '%r(\))', '/\)/'
209
210
  assert_generates '%r(#{@bar}baz)', '/#{@bar}baz/'
210
211
  assert_terminated '/\/\//x'
211
212
  end
data/unparser.gemspec CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |gem|
4
4
  gem.name = 'unparser'
5
- gem.version = '0.2.2'
5
+ gem.version = '0.2.3'
6
6
 
7
7
  gem.authors = ['Markus Schirp']
8
8
  gem.email = 'mbj@schir-dso.com'
@@ -19,7 +19,7 @@ Gem::Specification.new do |gem|
19
19
 
20
20
  gem.required_ruby_version = '>= 1.9.3'
21
21
 
22
- gem.add_dependency('parser', '~> 2.2.0.2')
22
+ gem.add_dependency('parser', '~> 2.2.2', '>= 2.2.2.2')
23
23
  gem.add_dependency('procto', '~> 0.0.2')
24
24
  gem.add_dependency('concord', '~> 0.1.5')
25
25
  gem.add_dependency('adamantium', '~> 0.2.0')
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: unparser
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Markus Schirp
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-14 00:00:00.000000000 Z
11
+ date: 2015-04-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: parser
@@ -16,14 +16,20 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 2.2.0.2
19
+ version: 2.2.2
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 2.2.2.2
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
27
  - - "~>"
25
28
  - !ruby/object:Gem::Version
26
- version: 2.2.0.2
29
+ version: 2.2.2
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 2.2.2.2
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: procto
29
35
  requirement: !ruby/object:Gem::Requirement
@@ -122,7 +128,6 @@ files:
122
128
  - ".travis.yml"
123
129
  - Changelog.md
124
130
  - Gemfile
125
- - Gemfile.devtools
126
131
  - Guardfile
127
132
  - LICENSE
128
133
  - README.md
data/Gemfile.devtools DELETED
@@ -1,39 +0,0 @@
1
- group :development do
2
- platform :rbx do
3
- gem 'rubysl-singleton', '~> 2.0.0'
4
- end
5
- end
6
-
7
- group :guard do
8
- gem 'guard', '~> 2.10.3'
9
- gem 'guard-bundler', '~> 2.1.0'
10
- gem 'guard-rspec', '~> 4.5.0'
11
- gem 'guard-rubocop', '~> 1.2.0'
12
-
13
- # file system change event handling
14
- gem 'listen', '~> 2.8.4'
15
- gem 'rb-fchange', '~> 0.0.6', require: false
16
- gem 'rb-fsevent', '~> 0.9.4', require: false
17
- gem 'rb-inotify', '~> 0.9.5', require: false
18
-
19
- # notification handling
20
- gem 'libnotify', '~> 0.9.0', require: false
21
- gem 'rb-notifu', '~> 0.0.4', require: false
22
- gem 'terminal-notifier-guard', '~> 1.6.4', require: false
23
- end
24
-
25
- group :metrics do
26
- platform :rbx do
27
- gem 'json', '~> 1.8.1'
28
- gem 'racc', '~> 1.4.12'
29
- gem 'rubysl-logger', '~> 2.1.0'
30
- gem 'rubysl-open-uri', '~> 2.0.0'
31
- gem 'rubysl-prettyprint', '~> 2.0.3'
32
- end
33
- end
34
-
35
- platform :jruby do
36
- group :jruby do
37
- gem 'jruby-openssl', '~> 0.9.4'
38
- end
39
- end