synvert-core 0.7.2 → 0.7.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: 05a161409395789ffc4b331ef08c8a068a0ae237
4
- data.tar.gz: 4b67a60c59802819d879cbaa5fbab98f09ed3c04
3
+ metadata.gz: 65ee4f7496e3e7458bb3a7ae54fc0ba696e25fe5
4
+ data.tar.gz: 64eab8f839578d398aa56fbf0c448a9ce6ae7a96
5
5
  SHA512:
6
- metadata.gz: 07a852ebb5502550b0c7ff0481b3ab93342fc5436f658e0449143fbf9f019139f61f170b437ff2257431d6d27065c9d8617e20983eb0c66804d83fa5971b01f1
7
- data.tar.gz: 267260ee8cf4217ffbf201af345debc577819af879f55a3e220bdd7ed6989c7723c3b7ca69dc547a34d33af480ab1cd7be47bec128d6cf14106871833ed32b61
6
+ metadata.gz: 8df05e32d6975c1d6f8ba9a6b0efd1f208a947b980f227f91e7466a2c5fbf661737a57648f38d00242ab3951fc5206be2c7cb42785254ae934c061e533e5a9f2
7
+ data.tar.gz: e4cb8b7ee18ec0de8c2bfaac5a60f579b1e8f9da145ed9461c7f6a24685bdb63d9a1332d204bfb61dcfee6cfc804e09b21f1a64fce868ab6f529bbe80ff1d9c3
data/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 0.7.3
4
+
5
+ * Handle indent for node array source
6
+ * Add line method to ast node
7
+
3
8
  ## 0.7.2
4
9
 
5
10
  * Rescue NoMethodError and output node debug info
data/Guardfile ADDED
@@ -0,0 +1,5 @@
1
+ guard :rspec, cmd: 'bundle exec rspec' do
2
+ watch(%r{^spec/.+_spec\.rb$})
3
+ watch(%r{^lib/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
4
+ watch('spec/spec_helper.rb') { "spec" }
5
+ end
@@ -290,6 +290,13 @@ module Parser::AST
290
290
  self.loc.expression.column
291
291
  end
292
292
 
293
+ # Get the line of current node.
294
+ #
295
+ # @return [Integer] line.
296
+ def line
297
+ self.loc.expression.line
298
+ end
299
+
293
300
  # Recursively iterate all child nodes of current node.
294
301
  #
295
302
  # @yield [child] Gives a child node.
@@ -342,8 +349,18 @@ module Parser::AST
342
349
  evaluated.loc.expression.source
343
350
  when Array, ArgumentsNode
344
351
  if evaluated.size > 0
345
- source = evaluated.first.loc.expression.source_buffer.source
346
- source[evaluated.first.loc.expression.begin_pos...evaluated.last.loc.expression.end_pos]
352
+ file_source = evaluated.first.loc.expression.source_buffer.source
353
+ source = file_source[evaluated.first.loc.expression.begin_pos...evaluated.last.loc.expression.end_pos]
354
+ lines = source.split "\n"
355
+ if lines.length > 1
356
+ new_code = []
357
+ lines.each_with_index { |line, index|
358
+ new_code << (index == 0 ? line : line[evaluated.first.indent-2..-1])
359
+ }
360
+ new_code.join("\n")
361
+ else
362
+ source
363
+ end
347
364
  end
348
365
  when String, Symbol
349
366
  evaluated
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Synvert
4
4
  module Core
5
- VERSION = "0.7.2"
5
+ VERSION = "0.7.3"
6
6
  end
7
7
  end
@@ -270,6 +270,13 @@ describe Parser::AST::Node do
270
270
  end
271
271
  end
272
272
 
273
+ describe '#line' do
274
+ it 'gets line number' do
275
+ node = parse('foobar')
276
+ expect(node.line).to eq 1
277
+ end
278
+ end
279
+
273
280
  describe '#recursive_children' do
274
281
  it 'iterates all children recursively' do
275
282
  node = parse('class Synvert; def current_node; @node; end; end')
data/synvert-core.gemspec CHANGED
@@ -25,4 +25,6 @@ Gem::Specification.new do |spec|
25
25
  spec.add_development_dependency "bundler", "~> 1.6"
26
26
  spec.add_development_dependency "rake"
27
27
  spec.add_development_dependency "rspec"
28
+ spec.add_development_dependency "guard"
29
+ spec.add_development_dependency "guard-rspec"
28
30
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: synvert-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.2
4
+ version: 0.7.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Richard Huang
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-10-01 00:00:00.000000000 Z
11
+ date: 2014-10-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: parser
@@ -94,6 +94,34 @@ dependencies:
94
94
  - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: guard
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: guard-rspec
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
97
125
  description: convert ruby code to better syntax automatically.
98
126
  email:
99
127
  - flyerhzm@gmail.com
@@ -106,6 +134,7 @@ files:
106
134
  - ".travis.yml"
107
135
  - CHANGELOG.md
108
136
  - Gemfile
137
+ - Guardfile
109
138
  - LICENSE.txt
110
139
  - README.md
111
140
  - Rakefile