34 lines
633 B
Ruby
34 lines
633 B
Ruby
class Object #:nodoc:
|
|
# A Ruby-ized realization of the K combinator, courtesy of Mikael Brockman.
|
|
#
|
|
# def foo
|
|
# returning values = [] do
|
|
# values << 'bar'
|
|
# values << 'baz'
|
|
# end
|
|
# end
|
|
#
|
|
# foo # => ['bar', 'baz']
|
|
#
|
|
# def foo
|
|
# returning [] do |values|
|
|
# values << 'bar'
|
|
# values << 'baz'
|
|
# end
|
|
# end
|
|
#
|
|
# foo # => ['bar', 'baz']
|
|
#
|
|
def returning(value)
|
|
yield(value)
|
|
value
|
|
end
|
|
|
|
def with_options(options)
|
|
yield ActiveSupport::OptionMerger.new(self, options)
|
|
end
|
|
|
|
def to_json
|
|
ActiveSupport::JSON.encode(self)
|
|
end
|
|
end |