capistranoの出力をカラーにして見やすくする方法
capistrano
設定方法ですが、まずはGemをインストールします。
1 % sudo gem install capistrano_colors
続いて、config/dep
1 require 'capistrano_colors'
これでOKです。あとは、普通にcapコマンドを使えば、 色づけされた出力が得られます。
capistrano
設定方法ですが、まずはGemをインストールします。
1 % sudo gem install capistrano_colors
続いて、config/dep
1 require 'capistrano_colors'
これでOKです。あとは、普通にcapコマンドを使えば、 色づけされた出力が得られます。
#githubで質問したら、この記事を紹介してくれたので読んでみました。
Gem Rebuilds only on Version Bump
We recently changed the system so that only gemspec pushes that contain a bumped version will be built. This will prevent accidental
gem clobbering and we can now guarantee that when you release a specific gem version, that version will never change.
昔はgemspecファイルがちょっとでも編集されていれば良かったのですが、 1/13の時点で、GitHub上でGemを再生成するためには、バージョン番号を増やさないと駄目になっているようです。
僕は、コメント欄でhalorgiumさんが言っているように、
"next-to-be
とりあえずは、4番目のリビジョン番号を機械的にインクリメントする事で対応しようかなと考えていますが、もっと良い方法はないものかな。
他に気になった話題として、technomanc
I am using merb with passenger on our production
Detail of the issue is as follows.
I wonder there is the master of master processes which keeps LOAD_PATH and it is refusing to use new gems.
I am thinking I should investigat
Update
Finally, the issue was solved!
The solution is found here
Mattettiさんから連絡があって、
forkして開発していたmerb_babel
将来的には、merb-slice
Merbのプラグインを作る場合、merb-gen plugin plugin-nam
でひな形が生成されますが、現状では生成されるspecがほとんど空っぽなので、
ちゃんとしたspecを書くための足場の作り方を紹介します。
まずは、spec/spec_
1 $:.push File.join(File.dirname(__FILE__), '..', 'lib') 2 3 require 'rubygems' 4 require 'merb-core' 5 require 'dm-core' 6 require "spec" 7 require 'dm-has-versions/has/ versions' 8 require 'dm-aggrega tes' 9 10 DataMapper ::Model.append_ext ensions DataMapper ::Has::Versions 11 Merb.disable(:initfile) 12 Merb.start_envi ronment( 13 :testing => true, 14 :adapter => 'runner', 15 :environmen t => ENV['MERB_ENV'] || 'test', 16 :merb_root => File.dirname(__FILE__) / 'fixture', 17 :log_file => File.dirname(__FILE__) / "merb_test. log" 18 ) 19 DataMapper .setup(:default, "sqlite3::m emory:") 20 21 Spec::Runner.configure do |config| 22 config.include(Merb::Test::ViewHelper ) 23 config.include(Merb::Test::RouteHelpe r) 24 config.include(Merb::Test::Controller Helper) 25 26 DataMapper .auto_migra te! 27 end
この例では、DataMapper
テストで利用されるクラス群は、spec/fixtu
1 % tree spec/fixture [~/project/ dm-has-ver sions:mast er] 2 spec/fixtu re 3 `-- app 4 `-- models 5 |-- comment.rb 6 `-- story.rb
DataMapper
dm-is-vers
USAGE:
以下のコードをご覧の通りです。
1 class Story 2 include DataMapper::Resource 3 4 property :id, Integer, :serial => true 5 property :title, String 6 property :updated_at , DateTime 7 8 has_versio ns :ignore => [:updated_at ] 9 end 10 11 Story.auto_upgra de! 12 13 story = Story.create(:title => 'hello') 14 story.version #=> 0 15 story.update_att ributes :title => 'good night' 16 story.version #=> 1 17 story.title #=> 'good night' 18 story.version = 0 19 story.title #=> 'hello'
auto_upgra
諸々の事情があり、最近Windowsを使うはめになってるのですが、TeX環境がまったくインストールされていなかったので、環境整備しています。
そこで、せっかくなので OMakeを使って継続ビルド をしたいと思います。
Windowsを良く使ってる人の参考になれば。この時期は卒論頑張ってる人が多いと思うので。
(Windowsを普段あまり使わない僕がいうのもなんですが・・・)
身長が5cm伸びて、念願の170cm超えです!
The OMake build systemからダウンロードしてきたインストーラを使ってインストールします。
何も考えずにOKとかNextみたいなボタンをクリックすれば大丈夫です。
上に挙げた hayamizさんの記事の手順そのまま実行していきます。
まず、コマンドプロンプトを開いて、作業ディレクトリで omake --install とします。
1 C:\・・・\作業ディレクトリ>omake --install 2 *** omake: creating OMakeroot 3 *** omake: creating OMakefile 4 *** omake: project files OMakefile and OMakeroot have been installed 5 *** omake: you should edit these files before continuing
ファイルの内容を消して、まるまるコピペしてください。
1 LATEX = platex 2 3 LaTeXDocument(main, main) 4 5 .DEFAULT: main.dvi
これで、TeXファイルを保存するたびに、ビルドされ、DVIファイルが作成されます。
ついでにPDFも作成したいときは、
1 LATEX = platex 2 DVIPDFM = dvipdfmx 3 4 LaTeXDocument(main, main) 5 6 .DEFAULT: main.pdf main.dvi
コマンドプロンプトで omake コマンドを実行します。
1 C:\・・・\作業ディレクトリ>omake -P --verbose 2 *** omake: reading OMakefiles3 --- Checking for latex... (found c:\usr\local\bin\latex.exe) 4 --- Checking for uname... (found c:\Program Files\Git\bin\uname.exe) 5 --- Checking LaTeX capabiliti es... (tetex2 mode enabled) 6 *** omake: finished reading OMakefiles (4.14 sec) 7 - scan . scan-latex -main.tex 8 + <compute 1 value dependenci es> 9 - scan . scan-latex -main.tex 10 + Shell.echo () 11 | Shell.run- latex(stdout-to- stderr platex -file-line -error '-output-co mment 12 =LaTeX Output (built with OMake)' -recorder main.tex) 13 This is pTeXk, Version 3.141592-p 3.1.4 (sjis) (Web2C 7.5.3) 14 15 ・ 16 ・ 17 ・ 18
起動すれば、あとはTeXファイルを編集し、保存するだけです。
これで、編集→保存→ビルド→編集→保存→ビルド→・・・というわずらわしいビルドの手間が省けます。
ちなみに・・・
1 --- Checking for uname... (found c:\Program Files\Git\bin\uname.exe)
これは、ついでにバージョン管理もしろってことですね!
Merbの主要な開発者の一人であるwycats氏のgithub上のリポジトリに、 Rails3の元となるかもしれないコードがコミットされているようです。
見慣れないciというディレクトリは、Continuous
Update
ActiveORM なるものを見つけました。これは予想通り、AR, DM, Sequelなどの共通基底となる何かでしょうか?
1 module ActiveORM 2 autoload :VERSION, 'active_orm/version' 3 autoload :Core, 'active_orm /core' 4 5 module Proxies 6 autoload :AbstractPr oxy, 'active_orm /proxies/a bstract_pr oxy' 7 autoload :DataMapper Proxy, 'active_orm /proxies/a ctive_reco rd_proxy' 8 autoload :DataMapper Proxy, 'active_orm /proxies/d atamapper_ proxy' 9 autoload :SequelProx y, 'active_orm /proxies/s equel_prox y' 10 end 11 12 class << self 13 include Core::ClassMetho ds 14 end 15 end
これはBINGOっぽい。
See Also
Recently, I've been making web sites by using Merb.
It was like a battle lacking logistics.
I made and released dm-paginat
Yes, I know dm-is-pagi
You can easily paginate, like this:
1 class Posts 2 def index 3 @posts = Post.paginate(:page => params[:page]) 4 end
Links will be drawn by calling simple helper method.
1 <ul> 2 <% @posts.each do |post| %> 3 <li><%= h(post.body) %></li> 4 <% end %> 5 </ul> 6 <%= paginate @posts %>
merb_slice
You can generate controller
1 % slice-gen controllertop
it generates controller
In addition, there are other gems I made.
dm-is-pagi
1 class Posts 2 def index 3 @posts = Post.paginate(:page => params[:page]) 4 end
上記のようにコントローラでpagination
1 <ul> 2 <% @posts.each do |post| %> 3 <li><%= h(post.body) %></li> 4 <% end %> 5 </ul> 6 <%= paginate @posts %>