summaryrefslogtreecommitdiff
path: root/spec/ruby/language/fixtures/yield.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/ruby/language/fixtures/yield.rb')
-rw-r--r--spec/ruby/language/fixtures/yield.rb41
1 files changed, 41 insertions, 0 deletions
diff --git a/spec/ruby/language/fixtures/yield.rb b/spec/ruby/language/fixtures/yield.rb
new file mode 100644
index 0000000000..9f7a2ba238
--- /dev/null
+++ b/spec/ruby/language/fixtures/yield.rb
@@ -0,0 +1,41 @@
+module YieldSpecs
+ class Yielder
+ def z
+ yield
+ end
+
+ def ze(&block)
+ block = proc { block }
+ yield
+ end
+
+ def s(a)
+ yield(a)
+ end
+
+ def m(a, b, c)
+ yield(a, b, c)
+ end
+
+ def r(a)
+ yield(*a)
+ end
+
+ def k(a)
+ yield(*a, b: true)
+ end
+
+ def rs(a, b, c)
+ yield(a, b, *c)
+ end
+
+ def self.define_deep(&inned_block)
+ define_method 'deep' do |v|
+ # should yield to inner_block
+ yield v
+ end
+ end
+
+ define_deep { |v| v * 2}
+ end
+end