Skip to content

Instantly share code, notes, and snippets.

View hidakatsuya's full-sized avatar
🏡
Working from home

Katsuya HIDAKA hidakatsuya

🏡
Working from home
View GitHub Profile
# app/controller/tasks_controller.rb
class TasksController < ApplicationController
def index
@tasks = Task.all
respond_to do |format|
format.html
format.pdf {
report = ThinReports::Report.new :layout => '/path/to/tasks.tlf'
@tasks.each do |task|
@hidakatsuya
hidakatsuya / gist:3620457
Created September 4, 2012 11:34
[ThinReports] 一覧表の基本
report = ThinReports::Report.new :layout => 'list.tlf'
# 基本形
@tasks.each do |task|
report.list(:list_name).add_row do |row|
row.item(:name).value(task.name)
end
end
# リストのIDが :default のときは省略できる
@hidakatsuya
hidakatsuya / gist:3620713
Created September 4, 2012 12:22
[ThinReports] 値を操作する
report = ThinReports::Report.create do |r|
r.use_layout 'basic.tlf'
# 基本を個別に登録
r.start_new_page do |page|
page.item(:name).value('ThinReports Editor')
page.item(:license).value('GPLv3')
end
# #values メソッドで一括登録
@hidakatsuya
hidakatsuya / gist:3620871
Created September 4, 2012 12:48
[ThinReports] スタイルを操作する
# 表示・非表示
page.item(:title).hide
page.item(:title).show
page.item(:title).visible(true)
# テキストの色
page.item(:subject).style(:color, 'red') # Webセーフカラーのみ
page.item(:subject).style(:color, '#ff0000')
page.item(:subject).style(:color, 'ff0000')
@hidakatsuya
hidakatsuya / gist:3621949
Created September 4, 2012 14:56
[ThinReports] ページ計、合計の実現
report = ThinReports::Report.new
report.use_layout 'list.tlf' do |config|
config.list do
use_stores :page_price => 0,
:total_price => 0
events.on :page_footer_insert do |e|
e.section.item(:page_price).value(e.store.page_price)
@hidakatsuya
hidakatsuya / gist:3622117
Created September 4, 2012 15:05
[ThinReports] 一覧表の手動作成・手動改ページ
report = ThinReports::Report.new :layout => 'list.tlf'
@tasks.each do |task|
if report.list.overflow?
report.start_new_page
end
report.list.page_break if task.done?
report.list.add_row :name => task.name
@hidakatsuya
hidakatsuya / gist:3622334
Created September 4, 2012 15:22
[ThinReports] 基本的なページ番号
report = ThinReports::Report.new :layout => 'page_no.tlf'
report.events.on :page_create do |e|
e.page.item(:page_no).value(e.page.no)
end
report.events.on :generate do |e|
page_count = e.report.page_count
e.pages.each do |page|
@hidakatsuya
hidakatsuya / gist:3756769
Created September 20, 2012 15:58
How to uninstall PHP5.4
sudo rm -fr /usr/local/php5*
sudo rm -fr /usr/local/packager
@hidakatsuya
hidakatsuya / routes.rb
Created October 10, 2012 09:40
Add routing to #destroy_all action in resources
Tasks::Application.routes.draw do
resources :tasks to
match '/', on: :collection, via: :delete, action: 'destroy_all'
end
end
@hidakatsuya
hidakatsuya / visitor_pass
Last active December 10, 2015 06:29 — forked from maeda-m/visitor_pass
# coding: utf-8
class VisitorPassController < ApplicationController
def create_pass
visitor = Visitor.find(params[:id])
report = ThinReports::Report.new layout: File.join(Rails.root, 'app', 'reports', 'visitor_pass.tlf')
report.start_new_page do |page|
# jpg_filepath method will return the path of JPEG file.
# e.g. "Rails.root/photos/visitor_001.jpg"
page.item(:photo).src(visitor.jpg_filepath)