public
Created

chaining example

  • Download Gist
gistfile1.rb
Ruby
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
class Search
class << self
def where(args)
Search.new(args)
end
end
def initialize(args)
@search_arguments = args
end
def where(args)
@search_arguments.merge!(args)
self
end
def each
results.each{|a| yield(a)}
end
def results
#Go and get some results!
end
end
 
#irb(main):084:0> Search.where(:foo => 'bar').where(:magic_number => 3)
#=> #<Search:0x10aa5e9d8 @search_arguments={:foo=>"bar", :magic_number=>3}>

Please sign in to comment on this gist.

Something went wrong with that request. Please try again.