to_source 0.2.16 → 0.2.17
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.
- data/.rspec +1 -0
- data/Changelog.md +34 -1
- data/bin/to_source +2 -8
- data/config/flay.yml +1 -1
- data/config/site.reek +5 -0
- data/lib/to_source.rb +17 -3
- data/lib/to_source/emitter.rb +5 -1
- data/lib/to_source/emitter/alias.rb +23 -0
- data/lib/to_source/emitter/assignment.rb +23 -84
- data/lib/to_source/emitter/assignment/attribute.rb +52 -0
- data/lib/to_source/emitter/assignment/constant.rb +26 -0
- data/lib/to_source/emitter/assignment/element.rb +124 -0
- data/lib/to_source/emitter/assignment/variable.rb +29 -0
- data/lib/to_source/emitter/assignment_operator.rb +54 -0
- data/lib/to_source/emitter/back_ref.rb +23 -0
- data/lib/to_source/emitter/binary_operator_method.rb +38 -2
- data/lib/to_source/emitter/collect_splat.rb +50 -0
- data/lib/to_source/emitter/concat_arguments.rb +16 -1
- data/lib/to_source/emitter/element_reference.rb +1 -1
- data/lib/to_source/emitter/flip.rb +61 -0
- data/lib/to_source/emitter/for.rb +98 -0
- data/lib/to_source/emitter/iter.rb +23 -1
- data/lib/to_source/emitter/literal.rb +1 -18
- data/lib/to_source/emitter/literal/dynamic.rb +0 -23
- data/lib/to_source/emitter/literal/dynamic/regexp.rb +69 -0
- data/lib/to_source/emitter/literal/regexp.rb +27 -0
- data/lib/to_source/emitter/literal/regexp/options.rb +71 -0
- data/lib/to_source/emitter/match.rb +21 -0
- data/lib/to_source/emitter/match2.rb +25 -0
- data/lib/to_source/emitter/multiple_assignment.rb +43 -4
- data/lib/to_source/emitter/op_assign1.rb +37 -5
- data/lib/to_source/emitter/push_args.rb +42 -0
- data/lib/to_source/emitter/send.rb +21 -16
- data/lib/to_source/emitter/splat.rb +40 -1
- data/lib/to_source/emitter/static.rb +32 -0
- data/lib/to_source/emitter/toplevel.rb +2 -1
- data/lib/to_source/emitter/undef.rb +26 -0
- data/spec/unit/to_source/class_methods/run_spec.rb +245 -20
- data/to_source.gemspec +1 -1
- metadata +18 -4
- data/lib/to_source/emitter/attribute_assignment.rb +0 -28
- data/lib/to_source/emitter/element_assignment.rb +0 -29
data/to_source.gemspec
CHANGED
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.17
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-01-
|
12
|
+
date: 2013-01-26 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: adamantium
|
@@ -110,7 +110,12 @@ files:
|
|
110
110
|
- lib/to_source/emitter/actual_arguments.rb
|
111
111
|
- lib/to_source/emitter/alias.rb
|
112
112
|
- lib/to_source/emitter/assignment.rb
|
113
|
-
- lib/to_source/emitter/
|
113
|
+
- lib/to_source/emitter/assignment/attribute.rb
|
114
|
+
- lib/to_source/emitter/assignment/constant.rb
|
115
|
+
- lib/to_source/emitter/assignment/element.rb
|
116
|
+
- lib/to_source/emitter/assignment/variable.rb
|
117
|
+
- lib/to_source/emitter/assignment_operator.rb
|
118
|
+
- lib/to_source/emitter/back_ref.rb
|
114
119
|
- lib/to_source/emitter/begin.rb
|
115
120
|
- lib/to_source/emitter/binary_operator.rb
|
116
121
|
- lib/to_source/emitter/binary_operator_method.rb
|
@@ -119,23 +124,30 @@ files:
|
|
119
124
|
- lib/to_source/emitter/block_pass.rb
|
120
125
|
- lib/to_source/emitter/case.rb
|
121
126
|
- lib/to_source/emitter/class.rb
|
127
|
+
- lib/to_source/emitter/collect_splat.rb
|
122
128
|
- lib/to_source/emitter/concat_arguments.rb
|
123
129
|
- lib/to_source/emitter/default_arguments.rb
|
124
130
|
- lib/to_source/emitter/define.rb
|
125
131
|
- lib/to_source/emitter/defined.rb
|
126
|
-
- lib/to_source/emitter/element_assignment.rb
|
127
132
|
- lib/to_source/emitter/element_reference.rb
|
128
133
|
- lib/to_source/emitter/empty_body.rb
|
129
134
|
- lib/to_source/emitter/ensure.rb
|
130
135
|
- lib/to_source/emitter/ensure_body.rb
|
131
136
|
- lib/to_source/emitter/execute_string.rb
|
137
|
+
- lib/to_source/emitter/flip.rb
|
138
|
+
- lib/to_source/emitter/for.rb
|
132
139
|
- lib/to_source/emitter/formal_arguments.rb
|
133
140
|
- lib/to_source/emitter/if.rb
|
134
141
|
- lib/to_source/emitter/iter.rb
|
135
142
|
- lib/to_source/emitter/keyword_value.rb
|
136
143
|
- lib/to_source/emitter/literal.rb
|
137
144
|
- lib/to_source/emitter/literal/dynamic.rb
|
145
|
+
- lib/to_source/emitter/literal/dynamic/regexp.rb
|
146
|
+
- lib/to_source/emitter/literal/regexp.rb
|
147
|
+
- lib/to_source/emitter/literal/regexp/options.rb
|
138
148
|
- lib/to_source/emitter/loop.rb
|
149
|
+
- lib/to_source/emitter/match.rb
|
150
|
+
- lib/to_source/emitter/match2.rb
|
139
151
|
- lib/to_source/emitter/match3.rb
|
140
152
|
- lib/to_source/emitter/module.rb
|
141
153
|
- lib/to_source/emitter/multiple_assignment.rb
|
@@ -143,6 +155,7 @@ files:
|
|
143
155
|
- lib/to_source/emitter/op_assign1.rb
|
144
156
|
- lib/to_source/emitter/op_assign2.rb
|
145
157
|
- lib/to_source/emitter/pattern_arguments.rb
|
158
|
+
- lib/to_source/emitter/push_args.rb
|
146
159
|
- lib/to_source/emitter/rescue.rb
|
147
160
|
- lib/to_source/emitter/rescue_condition.rb
|
148
161
|
- lib/to_source/emitter/scope.rb
|
@@ -159,6 +172,7 @@ files:
|
|
159
172
|
- lib/to_source/emitter/to_string.rb
|
160
173
|
- lib/to_source/emitter/toplevel.rb
|
161
174
|
- lib/to_source/emitter/unary_operator_method.rb
|
175
|
+
- lib/to_source/emitter/undef.rb
|
162
176
|
- lib/to_source/emitter/unless.rb
|
163
177
|
- lib/to_source/emitter/util.rb
|
164
178
|
- lib/to_source/emitter/when.rb
|
@@ -1,28 +0,0 @@
|
|
1
|
-
module ToSource
|
2
|
-
class Emitter
|
3
|
-
# Emitter for attribute assignments
|
4
|
-
class AttributeAssignment < self
|
5
|
-
|
6
|
-
handle(Rubinius::AST::AttributeAssignment)
|
7
|
-
|
8
|
-
private
|
9
|
-
|
10
|
-
delegate(:receiver, :name)
|
11
|
-
|
12
|
-
# Perform dispatch
|
13
|
-
#
|
14
|
-
# @return [undefined]
|
15
|
-
#
|
16
|
-
# @api private
|
17
|
-
#
|
18
|
-
def dispatch
|
19
|
-
visit(receiver)
|
20
|
-
emit('.')
|
21
|
-
emit(name)
|
22
|
-
space
|
23
|
-
visit(node.arguments.array.first)
|
24
|
-
end
|
25
|
-
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
@@ -1,29 +0,0 @@
|
|
1
|
-
module ToSource
|
2
|
-
class Emitter
|
3
|
-
# Emitter for element assignment nodes
|
4
|
-
class ElementAssignment < self
|
5
|
-
|
6
|
-
handle(Rubinius::AST::ElementAssignment)
|
7
|
-
|
8
|
-
private
|
9
|
-
|
10
|
-
delegate(:receiver)
|
11
|
-
|
12
|
-
# Perform dispatch
|
13
|
-
#
|
14
|
-
# @return [undefined]
|
15
|
-
#
|
16
|
-
# @api private
|
17
|
-
#
|
18
|
-
def dispatch
|
19
|
-
index, value = node.arguments.array
|
20
|
-
visit(receiver)
|
21
|
-
emit('[')
|
22
|
-
visit(index)
|
23
|
-
emit('] = ')
|
24
|
-
visit(value)
|
25
|
-
end
|
26
|
-
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|