thinreports/thinreports-generator — pull request #2 by eitoball (2014-01-08 04:20:49+00:00)
Title: ThinReports::Report::Internal#load_layoutで@default_layoutを設定する

`ThinReports::Report::Internal#load_layout`で、`@default_layout`が`ni`lの場合は`@default_layout`を設定することを提案します。

動機はですが、レイアウトの設定の仕方で、PDF文書のプロパティのタイトルが設定されない場合があるからです。

以下のコードでは設定されます。

```ruby
ThinReports::Report.generate do |report|
report.use_layout: 'sample.tlf'
report.start_new_page
end
```

しかしながら、以下のコードでは設定されません。

```ruby
ThinReports::Report.generate do |report|
report.start_new_page(layout: 'sample.tlf')
end
```

`ThinReports::Report::Base#use_layout`では、`ThinReports::Report::Internal#register_layout`を呼び出し、そこで、`@default_layout`を設定してますが、`ThinReports::Report::Base#start_new_page`では、`ThinReports::Report::Internal#load_layout`を呼び出していますが、`@default_layout`を設定していません。そのため、PDF生成のオブジェクトを生成する時（`ThinReports::Generator::PDF#initialize`）、
```ruby
title = default_layout ? default_layout.format.report_title : nil

@pdf = Document.new(options, :Title => title)
```
となっており、`@default_layout`を設定されていない場合は、`Title`が`nil`となるため、文書のプロパティのタイトルが設定されません。

最初に`use_layout`を使わなくても、使う場合と同じように動作するほうがいいと考え、このPRを提案します。