sorcerer 0.3.3 → 0.3.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -466,7 +466,13 @@ module Sorcerer
466
466
  emit(" ")
467
467
  resource(sexp[2])
468
468
  },
469
- :command_call => NYI,
469
+ :command_call => lambda { |sexp|
470
+ resource(sexp[1])
471
+ emit(sexp[2])
472
+ resource(sexp[3])
473
+ emit(" ")
474
+ resource(sexp[4])
475
+ },
470
476
  :const_path_field => lambda { |sexp|
471
477
  resource(sexp[1])
472
478
  emit("::")
@@ -2,7 +2,7 @@ module Sorcerer
2
2
  VERSION_NUMBERS = [
3
3
  VERSION_MAJOR = 0,
4
4
  VERSION_MINOR = 3,
5
- VERSION_BUILD = 3,
5
+ VERSION_BUILD = 4,
6
6
  ]
7
7
 
8
8
  VERSION = VERSION_NUMBERS.join('.')
@@ -163,6 +163,36 @@ class SourcerTest < Test::Unit::TestCase
163
163
  assert_resource "obj.meth(a, *args, &code)"
164
164
  end
165
165
 
166
+ def test_can_source_method_call_without_parens
167
+ assert_resource "obj.meth a"
168
+ assert_resource "obj.meth a, b"
169
+ assert_resource "obj.meth a, b, c"
170
+ assert_resource "obj.meth *args"
171
+ assert_resource "obj.meth a, *args"
172
+ assert_resource "obj.meth &code"
173
+ assert_resource "obj.meth a, &code"
174
+ assert_resource "obj.meth a, *args, &code"
175
+ assert_resource "obj.meth a, *args do |x| x.y end"
176
+ end
177
+
178
+ def test_can_source_method_called_with_scope_op_without_parans
179
+ assert_resource "Const::meth"
180
+ assert_resource "Const::meth a"
181
+ assert_resource "Const::meth a, b"
182
+ assert_resource "Const::meth a, *b"
183
+ assert_resource "Const::meth a, *b, &block"
184
+ end
185
+
186
+ def xtest_can_source_method_called_with_scope_op_with_parens
187
+ # I don't think we get enough info to accurately resource these.
188
+ # All these calls come back with a period rather than a double
189
+ # colon.
190
+ assert_resource "Const::meth(a)"
191
+ assert_resource "Const::meth(a, b)"
192
+ assert_resource "Const::meth(a, *b)"
193
+ assert_resource "Const::meth(a, *b, &block)"
194
+ end
195
+
166
196
  def test_can_source_method_without_explicit_target
167
197
  assert_resource "meth(a)"
168
198
  assert_resource "meth(a, b)"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sorcerer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.3
4
+ version: 0.3.4
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: 2012-09-03 00:00:00.000000000 Z
12
+ date: 2012-09-10 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: Generate the original Ruby source from a Ripper-style abstract syntax
15
15
  tree.