Tôi có một giao diện Flickr mà tôi đã viết một lúc trước và một phần của nó làm phiền tôi và tôi muốn làm cho nó đẹp hơn. Cách nó hoạt động là tôi sử dụng phương pháp thiếu để xây dựng các tham số url cho cuộc gọi flickr từ các phương thức được gọi trên đối tượng flickr, ví dụ.Làm thế nào để phát hiện sự kết thúc của một chuỗi phương pháp trong Ruby
@flickr.groups.pools.getPhotos(:user_id => "[email protected]", :group_id => "[email protected]")
Những 'phương pháp gọi là' xây dựng một cuộc gọi api trông như thế này
http://api.flickr.com/services/rest/?method=groups.pools.getPhotos&user_id=1848466274& group_id= [email protected]
(Tôi đã rời khỏi api chút key) Nó làm điều này bằng cách ghi nhớ từng 'phương pháp' cho đến khi một phương pháp được gọi với các đối số tại thời điểm nó xây dựng url và thực hiện cuộc gọi tới Flickr.
Lý do tôi thực hiện phương pháp này là mã ruby khớp với tài liệu trên trang Flickr, bạn có thể sao chép và dán nó và hầu hết sẽ hoạt động, và hy vọng nó sẽ làm cho nó trở nên linh hoạt hơn đối với thay đổi api vì tôi không có phương pháp mã hóa cứng.
Điều gì gây khó chịu cho điều này mặc dù trong ví dụ này, id nhóm đang được chuyển sang phương thức getPhotos thay vì phương pháp nhóm. Tôi sẽ khá giống như thế này.
@flickr.groups(:group_id => "[email protected]").pools.getPhotos(:user_id => "[email protected]")
Vì vậy, câu hỏi của tôi. Có cách nào trong Ruby mà tôi có thể phát hiện ra phương pháp cuối cùng đã được gọi để tôi có thể kích hoạt cuộc gọi tới Flickr không?
Tại sao "@flickr" trong phạm vi bên ngoài? Lợi thế của việc biến nó thành một biến cá thể của Object so với biến cục bộ là gì? –
Không có lợi thế (trong trường hợp này). Chỉ là một brainfart, không có cân nhắc đặc biệt trong nó :) –
Vâng, đây là một phương pháp thay thế tôi đã xem xét. Và sử dụng ghi nhớ trên các thuộc tính. Tôi đã hy vọng có một số phương pháp sôi nổi mà tôi không biết. – Henry