What have you found for these years?

2009-11-16

pagify for Innate

幾小時前上傳了 pagify 0.7.0, 加上了 Innate helper,
因此順便把一些相同的程式從 Rails helper 中抽出來。

用法非常單純,就 require 'pagify/helper/innate',
然後 controller/node 裡面加上 :pagify 就行了。
例如我用了這些 helper:

helper :xhtml, :form, :flash, :pagify

在 view 裡面就這樣用就好:
pagify_links(@comments)

我在想會不會把結構拆太細了,因為這邊其實套了兩個 helper.
一個是 html helper, 另一個是 innate helper,
前者處理 link 的產生,後者處理 page 與 uri 的問題。

程式也變得愈來愈慢,測試要跑的時間愈來愈長...
有時候會覺得這樣很恐怖。不過反正能動,而且看起來挺好的,
那就先這樣吧。效率的問題,page cache 比較重要對吧?

倒是我急著放出去,然後離開。結果文件都忘記更新.....
算了,反正也只有我在用而已 :/ 慢慢再補就好。

***

另一方面,Innate 的 render_file 不合我預期。
我找不到可以對應 Rails 的 render :partial
居然抓不到目前 action 的 instance variable.

翻翻程式碼..... 我講真的,Innate/Ramaze,
去查手冊,絕對比看程式碼還要慢 @@
Innate/Ramaze 程式碼太簡潔易懂了,看不用幾分鐘就懂了。
文件反而不見得會寫出你想知道的事。

看了幾分鐘就發現他有 sync_variables, 但是沒效果,
因為後面又有 action.variables = variables 蓋掉了。
想了一下,覺得不應該是這樣,就稍微改了一下,順手加上 spec,
噢他的 spec 超乾淨好懂,每個部份都是獨立分開的,
測試都非常簡潔,數量也不是很多。我想數量不多是因為,
行為本身都很單純,所以並不需要複雜的測試!

我 commit 了之後就 send pull request.
幾分鐘後發覺 variables.dup 很不必要,
因此再 commit 了一次,把他拿掉。但這次就沒
send pull request 了,避免 spam.

再幾分鐘後,我就看到 manveru 回應了,而且兩個 patch
都 merge 了。不需要我說,他自己會注意。同時也就是說,
到目前為止我替 Innate 寫的三個 patch, 全部都 merge 了,
而且時間差都非常短,尤其這次只有幾分鐘...

這讓我想到之前替 rubycas-server 寫了一堆 patch,
有 merge 的沒幾個,而且有些修正的 patch 他沒 merge...
這樣變成修一半,中文翻譯會有缺陷 :/
我應該有跟他講過才是,不知道他到底有沒有看到。

天差地遠,天差地遠....

manveru 真好(灑花)

看到這麼乾淨的程式,真自嘆不如 @@
比 DataMapper 或 Merb 都強很多,
但跟 Unicorn 比又是另一種不同的乾淨。
最欣賞的還是 Innate/Ramaze.

也許應該模仿一下他的架構的,
尤其我 test case 幾乎都亂寫的,超亂...... -__-

0 retries:

Post a Comment

All texts are licensed under CC Attribution 3.0