Padrino Commit Oct 10, 2013

ujifgc Merge pull request #1441 from padrino/fix-output-handlers

#1441のマージコミットです。

※個別のコミットは数が多いので省略

padrino-helpers が修正され、テンプレートエンジンに slim と haml を使った場合の - でコードの評価結果が出力されないようになりました。

# app/helpers/application_helper.rb
def hello
  content_tag(:div) do
    content_tag(:p, 'hello')
  end
end

# app/views/index.slim
/ 評価結果が出力されない
- hello

/ 評価結果が出力される
= hello

これまで、slim を使ってて、この部分の挙動がおかしいなーと感じていたので、とても嬉しい修正です!
ただ、既存のコードで直すところは多くなりますね…。

0.12.0 でこの変更が入ると思われるので、注意が必要ですね。

Padrino Commit Oct 08, 2013

namusyaka Merge pull request #1436 from padrino/rails-style-select

#1436のマージコミットです。

ujifgc support rails-style attribute hash of select options
ujifgc support disabled_options key for select_tag
ujifgc fix ruby 1.8.7

select_tag ヘルパーで disabled オプションを指定する方法が変更されました。

  • select_tag の disabled_options オプションに、対象とするキーまたは値を指定する(複数指定可)
  • 値を配列で渡す場合に disabled というキーを含む Hash で指定する
opts = {
  "Friends" => ["Yoda",["Obiwan",2,:magister=>'no'],:lame=>'yes'],
  "Enemies" => [["Palpatine","Palpatine",:scary=>'yes',:old=>'yes'],["Darth Vader",3,:disabled=>true]]
}
actual_html = select_tag( 'name', :grouped_options => opts, :disabled_options => [2], :selected => ['Yoda'] )

こうすると

<select name="name">
  <optgroup label="Friends" lame="yes">
    <option value="Yoda" selected="selected">Yoda</option>
    <option value="2" magister="no" disabled="disabled">Obiwan</option>
  </optgroup>
  <optgroup label="Enemies">
    <option value="Palpatine" scary="yes" old="yes">Palpatine</option>
    <option value="3" disabled="disabled">Darth Vader</option>
  </optgroup>
</select>

こうなります。

ujifgc fix #1438

#1438

String#clear メソッドの結果が ANSI カラーエスケープシーケンス付きの文字列となってしまっていた不具合が修正されました。

nesquena Remove color monkeypatching from strings, tuck that away in separateclass

ANSI カラーエスケープシーケンス付きの文字列を出力する方法が変更されました。

これまでは

puts 'foo'.red.bold

というようにStringクラスのインスタンスにカラーエスケープシーケンス付きの結果を返すメソッドが生やされていましたが、それが

puts 'foo'.colorize(:red).colorize(:bold)

というように colorize メソッド経由で指定する様になりました。

ujifgc Merge pull request #1437 from minad/correct-slim-fix

#1437のマージコミットです。

minad Correct fix for Slim #1431, #1434, #1435

slim テンプレートの不具合修正の修正方法が改善されました。

Padrino Commit Oct 07, 2013

ujifgc Merge pull request #1435 from namusyaka/fix-slim

#1435のマージコミットです。

namusyaka Fix broken slim tenplates.

slimテンプレート内で content_tag にブロックを渡した結果の出力が - を使った場合におかしくなっていたのが修正されました。

Padrino Commit Oct 06, 2013

ujifgc Merge pull request #1432 from padrino/refactor-reloader

#1432のマージコミットです。

※個別のコミットは数が多いので省略

リローダーのリファクタリングと以下の修正が行われました。

  • アプリケーション上で構文エラーがある場合には再読み込みが失敗します。
  • 例外の詳細がログに出力されます(対象クラス、エラーメッセージ、スタックトレースの最初の行)
  • マウントされているアプリケーションで読み込まれている翻訳ファイルの変更が検知されます。
  • 内部で読み込まれているヘルパーが正常にリロードされるようになりました。

ujifgc test for #580

親クラスの変更で子クラスもリロードされることを確認するテストが追加されました。

Padrino Commit Oct 05, 2013

nesquena Merge pull request #1431 from namusyaka/fix-content_tag

#1431のマージコミットです。

namusyaka Fix incorrect behavior when using content_tag with block.

slim と erb を使っている場合、content_tag にブロックを渡したときの挙動がおかしかったのですが、 それが修正されました。

nesquena Add TODO flags and clean whitespace

余計な空白の除去と TODO コメントが追加されました。

Padrino Commit Oct 04, 2013

dariocravero Merge pull request #1429 from namusyaka/remove-duplication

#1429のマージコミットです。

namusyaka Code refactoring.

padrino-gen でエラー処理のコードが重複している部分と、padrino-helpers でのコード重複部分がリファクタリングされました。

namusyaka Update a document of padrino-gen. [ci skip]

padrino-gen の README の内容が古かったので更新されました。

namusyaka Remove "respond_to support". We can use :provides instead of :respond_to.[ci skip]

README の内容が更新されました。