class Post
def initialize(parent, thread_id)
@parent = parent
@thread_id = thread_id
end
def create_post(message)
"Posting '#{message}' to thread №#{@thread_id} apikey:#{@parent.key} "
end
end
class SomeApi
attr_reader :key
def initialize(key)
@key = key
end
def fetch_threads(klass, &callback)
(1..10).each do |i|
yield klass.new(self, i) if callback
end
end
end
SomeApi.new("abulik").fetch_threads(Post) do |post|
puts post.create_post("sup 2ch")
end
Y2xhc3MgUG9zdAogIGRlZiBpbml0aWFsaXplKHBhcmVudCwgdGhyZWFkX2lkKQogICAgQHBhcmVudCA9IHBhcmVudAogICAgQHRocmVhZF9pZCA9IHRocmVhZF9pZAogIGVuZAoKICBkZWYgY3JlYXRlX3Bvc3QobWVzc2FnZSkKICAgICJQb3N0aW5nICcje21lc3NhZ2V9JyB0byB0aHJlYWQg4oSWI3tAdGhyZWFkX2lkfSBhcGlrZXk6I3tAcGFyZW50LmtleX0gIgogIGVuZAplbmQKCmNsYXNzIFNvbWVBcGkKICBhdHRyX3JlYWRlciA6a2V5CgogIGRlZiBpbml0aWFsaXplKGtleSkKICAgIEBrZXkgPSBrZXkKICBlbmQKCiAgZGVmIGZldGNoX3RocmVhZHMoa2xhc3MsICZjYWxsYmFjaykKICAgICgxLi4xMCkuZWFjaCBkbyB8aXwKICAgICAgeWllbGQga2xhc3MubmV3KHNlbGYsIGkpIGlmIGNhbGxiYWNrCiAgICBlbmQKICBlbmQKZW5kCgpTb21lQXBpLm5ldygiYWJ1bGlrIikuZmV0Y2hfdGhyZWFkcyhQb3N0KSBkbyB8cG9zdHwKICBwdXRzIHBvc3QuY3JlYXRlX3Bvc3QoInN1cCAyY2giKQplbmQK