2014-07-17 41 views
0

我是​​和Gibbon的粉絲,因爲它們讓api查詢非常簡單。我喜歡用grackle的例子,你可以鏈接將插入到url請求的方法。例如:Rails gem api方法鏈接動態

client.users.show? :screen_name=>'some_user' 
#http://twitter.com/users/show.json?screen_name=some_user 

通知的.users.show結果/users/show

我怎麼可以編寫代碼來做到這一點?這樣我可以有

Some_class.method1.method2 
+0

只是返回'自我' – apneadiving

回答

1

方法鏈通常工作通過實施實例方法有兩個目的:

  1. 變化之類的一些內部狀態
  2. 回報實例本身

以下是A Guide to Method Chaining的一個示例:

class Person 

    def name(value) 
    @name = value 
    self 
    end 

    def age(value) 
    @age = value 
    self 
    end 

end 

這樣的話,你可以同時鏈接方法改變內部狀態:

> person = Person.new 
# => #<Person:0x007ff202829e38> 
> person.name('Baz') 
# => #<Person:0x007ff202829e38 @name="Baz"> 
> person.name('Baz').age(21) 
# => #<Person:0x007ff202829e38 @name="Baz", @age=21> 

您可以在後Method chaining and lazy evaluation in Ruby瞭解詳情。

在你的情況下,我會建議分別由方法usersshow設置的@resource@action實例變量。

+2

雖然這個鏈接可能回答這個問題,但最好在這裏包含答案的重要部分並提供參考鏈接。如果鏈接頁面更改,則僅鏈接答案可能會失效。 – toniedzwiedz

+0

@Tom我更新了我的答案。感謝您的反饋,我希望現在的答案更有幫助:)請考慮收回您的downvote。謝謝。 – awendt

+0

我沒有降低答案。只是標記併發布了評論。 – toniedzwiedz