synvert-core 0.6.2 → 0.6.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: 079eed43515b9c0ced48b90c9b7d7fab17e7872e
4
- data.tar.gz: 3200bedd4b2f1311b5ce2ec826deac323bb08be0
3
+ metadata.gz: bccfebdd70bca3e49d4fd8cf7ca2fb766cdc8d2c
4
+ data.tar.gz: 40b8ff41f248de2a48a289ceaaf00303d3f78c14
5
5
  SHA512:
6
- metadata.gz: ed6c1b35b071e790eb80591651a714543176a94c5b904d22f1cf32dfaf8f554a16f75b41f4d0936b229258f815154d63c79ec96c647b3511a0b48f914e48da22
7
- data.tar.gz: 0aa34e7146a19118beb3cc0670bb324d6504b9774f9453682154498221e429a4aed3916a5065f28ce90e9dd74a31d7184a8da8867bfd6cec594f739b5a86d5c2
6
+ metadata.gz: 1724274f0715e0a0b523ed0f4985c7665c6a8deee24244378eabd5b934d1a895742a3fc3bc0bc33ba637ad5110d75afae77091857df895f5aacc0d3721c978df
7
+ data.tar.gz: 2578b1a620f8798376fcf4868e2cfce426b6552426dd28ae3fd34bcc157d0223fed65ad7eb7966b2ad19f037ff527bd25f49eca4182c1594f276786f5de6df5e
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 0.6.3
4
+
5
+ * Rewriter.available always returns a hash
6
+
3
7
  ## 0.6.2
4
8
 
5
9
  * Support ArgumentsNode in rewritten_source
@@ -49,9 +49,8 @@ module Synvert::Core
49
49
  # @param rewriter [Synvert::Core::Rewriter] the rewriter to register.
50
50
  def register(group, name, rewriter)
51
51
  group, name = group.to_s, name.to_s
52
- @rewriters ||= {}
53
- @rewriters[group] ||= {}
54
- @rewriters[group][name] = rewriter
52
+ rewriters[group] ||= {}
53
+ rewriters[group][name] = rewriter
55
54
  end
56
55
 
57
56
  # Fetch a rewriter by group and name.
@@ -63,7 +62,7 @@ module Synvert::Core
63
62
  def fetch(group, name)
64
63
  group, name = group.to_s, name.to_s
65
64
  if exist? group, name
66
- @rewriters[group][name]
65
+ rewriters[group][name]
67
66
  else
68
67
  raise RewriterNotFound.new "Rewriter #{group} #{name} not found"
69
68
  end
@@ -78,7 +77,7 @@ module Synvert::Core
78
77
  def call(group, name)
79
78
  group, name = group.to_s, name.to_s
80
79
  if exist? group, name
81
- rewriter = @rewriters[group][name]
80
+ rewriter = rewriters[group][name]
82
81
  rewriter.process
83
82
  rewriter
84
83
  else
@@ -93,7 +92,7 @@ module Synvert::Core
93
92
  # @return [Boolean] true if the rewriter exist.
94
93
  def exist?(group, name)
95
94
  group, name = group.to_s, name.to_s
96
- if @rewriters && @rewriters[group] && @rewriters[group][name]
95
+ if rewriters[group] && rewriters[group][name]
97
96
  true
98
97
  else
99
98
  false
@@ -104,12 +103,18 @@ module Synvert::Core
104
103
  #
105
104
  # @return [Hash<String, Hash<String, Rewriter>>]
106
105
  def availables
107
- @rewriters
106
+ rewriters
108
107
  end
109
108
 
110
109
  # Clear all registered rewriters.
111
110
  def clear
112
- @rewriters.clear if @rewriters
111
+ rewriters.clear
112
+ end
113
+
114
+ private
115
+
116
+ def rewriters
117
+ @rewriters ||= {}
113
118
  end
114
119
  end
115
120
 
@@ -35,26 +35,5 @@ module Synvert::Core
35
35
  .sub(/^\[(.*)\]$/) { $1 }
36
36
  .sub(/^{(.*)}$/) { $1 }
37
37
  end
38
-
39
- # Set current_node to node and process.
40
- #
41
- # @param node [Parser::AST::Node] node set to current_node
42
- # @yield process
43
- def process_with_node(node)
44
- self.current_node = node
45
- yield
46
- self.current_node = node
47
- end
48
-
49
- # Set current_node properly, process and set current_node back to original current_node.
50
- #
51
- # @param node [Parser::AST::Node] node set to current_node
52
- # @yield process
53
- def process_with_other_node(node)
54
- original_node = self.current_node
55
- self.current_node = node
56
- yield
57
- self.current_node = original_node
58
- end
59
38
  end
60
39
  end
@@ -119,6 +119,27 @@ module Synvert::Core
119
119
  @current_node
120
120
  end
121
121
 
122
+ # Set current_node to node and process.
123
+ #
124
+ # @param node [Parser::AST::Node] node set to current_node
125
+ # @yield process
126
+ def process_with_node(node)
127
+ self.current_node = node
128
+ yield
129
+ self.current_node = node
130
+ end
131
+
132
+ # Set current_node properly, process and set current_node back to original current_node.
133
+ #
134
+ # @param node [Parser::AST::Node] node set to current_node
135
+ # @yield process
136
+ def process_with_other_node(node)
137
+ original_node = self.current_node
138
+ self.current_node = node
139
+ yield
140
+ self.current_node = original_node
141
+ end
142
+
122
143
  #######
123
144
  # DSL #
124
145
  #######
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Synvert
4
4
  module Core
5
- VERSION = "0.6.2"
5
+ VERSION = "0.6.3"
6
6
  end
7
7
  end
@@ -45,31 +45,5 @@ module Synvert::Core
45
45
  expect(dummy_instance.strip_brackets("(123]")).to eq "(123]"
46
46
  end
47
47
  end
48
-
49
- describe '#process_with_node' do
50
- it 'resets current_node' do
51
- node1 = double()
52
- node2 = double()
53
- instance.process_with_node(node1) do
54
- instance.current_node = node2
55
- expect(instance.current_node).to eq node2
56
- end
57
- expect(instance.current_node).to eq node1
58
- end
59
- end
60
-
61
- describe '#process_with_other_node' do
62
- it 'resets current_node' do
63
- node1 = double()
64
- node2 = double()
65
- node3 = double()
66
- instance.current_node = node1
67
- instance.process_with_other_node(node2) do
68
- instance.current_node = node3
69
- expect(instance.current_node).to eq node3
70
- end
71
- expect(instance.current_node).to eq node1
72
- end
73
- end
74
48
  end
75
49
  end
@@ -219,5 +219,31 @@ end
219
219
  expect(instance.instance_variable_get :@actions).to eq [action3]
220
220
  end
221
221
  end
222
+
223
+ describe '#process_with_node' do
224
+ it 'resets current_node' do
225
+ node1 = double()
226
+ node2 = double()
227
+ instance.process_with_node(node1) do
228
+ instance.current_node = node2
229
+ expect(instance.current_node).to eq node2
230
+ end
231
+ expect(instance.current_node).to eq node1
232
+ end
233
+ end
234
+
235
+ describe '#process_with_other_node' do
236
+ it 'resets current_node' do
237
+ node1 = double()
238
+ node2 = double()
239
+ node3 = double()
240
+ instance.current_node = node1
241
+ instance.process_with_other_node(node2) do
242
+ instance.current_node = node3
243
+ expect(instance.current_node).to eq node3
244
+ end
245
+ expect(instance.current_node).to eq node1
246
+ end
247
+ end
222
248
  end
223
249
  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.6.2
4
+ version: 0.6.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-09-01 00:00:00.000000000 Z
11
+ date: 2014-09-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: parser
@@ -176,4 +176,3 @@ test_files:
176
176
  - spec/synvert/core/rewriter/scope_spec.rb
177
177
  - spec/synvert/core/rewriter/warning_spec.rb
178
178
  - spec/synvert/core/rewriter_spec.rb
179
- has_rdoc: