synvert-core 0.7.2 → 0.7.3

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