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.
Files changed (42) hide show
  1. data/.rspec +1 -0
  2. data/Changelog.md +34 -1
  3. data/bin/to_source +2 -8
  4. data/config/flay.yml +1 -1
  5. data/config/site.reek +5 -0
  6. data/lib/to_source.rb +17 -3
  7. data/lib/to_source/emitter.rb +5 -1
  8. data/lib/to_source/emitter/alias.rb +23 -0
  9. data/lib/to_source/emitter/assignment.rb +23 -84
  10. data/lib/to_source/emitter/assignment/attribute.rb +52 -0
  11. data/lib/to_source/emitter/assignment/constant.rb +26 -0
  12. data/lib/to_source/emitter/assignment/element.rb +124 -0
  13. data/lib/to_source/emitter/assignment/variable.rb +29 -0
  14. data/lib/to_source/emitter/assignment_operator.rb +54 -0
  15. data/lib/to_source/emitter/back_ref.rb +23 -0
  16. data/lib/to_source/emitter/binary_operator_method.rb +38 -2
  17. data/lib/to_source/emitter/collect_splat.rb +50 -0
  18. data/lib/to_source/emitter/concat_arguments.rb +16 -1
  19. data/lib/to_source/emitter/element_reference.rb +1 -1
  20. data/lib/to_source/emitter/flip.rb +61 -0
  21. data/lib/to_source/emitter/for.rb +98 -0
  22. data/lib/to_source/emitter/iter.rb +23 -1
  23. data/lib/to_source/emitter/literal.rb +1 -18
  24. data/lib/to_source/emitter/literal/dynamic.rb +0 -23
  25. data/lib/to_source/emitter/literal/dynamic/regexp.rb +69 -0
  26. data/lib/to_source/emitter/literal/regexp.rb +27 -0
  27. data/lib/to_source/emitter/literal/regexp/options.rb +71 -0
  28. data/lib/to_source/emitter/match.rb +21 -0
  29. data/lib/to_source/emitter/match2.rb +25 -0
  30. data/lib/to_source/emitter/multiple_assignment.rb +43 -4
  31. data/lib/to_source/emitter/op_assign1.rb +37 -5
  32. data/lib/to_source/emitter/push_args.rb +42 -0
  33. data/lib/to_source/emitter/send.rb +21 -16
  34. data/lib/to_source/emitter/splat.rb +40 -1
  35. data/lib/to_source/emitter/static.rb +32 -0
  36. data/lib/to_source/emitter/toplevel.rb +2 -1
  37. data/lib/to_source/emitter/undef.rb +26 -0
  38. data/spec/unit/to_source/class_methods/run_spec.rb +245 -20
  39. data/to_source.gemspec +1 -1
  40. metadata +18 -4
  41. data/lib/to_source/emitter/attribute_assignment.rb +0 -28
  42. data/lib/to_source/emitter/element_assignment.rb +0 -29
@@ -1,7 +1,7 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
  Gem::Specification.new do |s|
3
3
  s.name = 'to_source'
4
- s.version = '0.2.16'
4
+ s.version = '0.2.17'
5
5
  s.authors = ['Markus Schirp']
6
6
  s.email = ['mbj@seonic.net']
7
7
  s.homepage = 'http://github.com/mbj/to_source'
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.16
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-25 00:00:00.000000000 Z
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/attribute_assignment.rb
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