Slide 1

Slide 1 text

ࣲాതࢤ SHIBATA Hiroshi QBQFSCPZDP BTBLVTBSC paperboy&co., Inc. ,BZBD 2013-02-22(Fri) ͬ͘͟ΓΘ͔Δ 3VCZͱ3BJMT

Slide 2

Slide 2 text

SHIBATA Hiroshi(@hsbt)

Slide 3

Slide 3 text

ٕज़ج൫੔උΤϯδχΞ

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

ʊਓਓਓਓਓਓਓਓʊ ʼɹಥવͷ3VCZԽɹʻ ʉ:?:?:?:?:?:?:ʉ

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

Pros

Slide 8

Slide 8 text

1.಄ʹ༏͍͠ 2.8FCͷϕετϓ ϥΫςΟεͷू·Γ

Slide 9

Slide 9 text

Cons

Slide 10

Slide 10 text

ࢥ͍͖ͭ· ͤΜͰͨ͠

Slide 11

Slide 11 text

಄ʹ༏͍͠ ͱ͸

Slide 12

Slide 12 text

.Z42-ͷεΩʔϚఆ ٛΛݟͯɺͦͷத͔Β ςΩετͬΆ͍ΧϥϜ ͚ͩΛऔΓग़ͯ͠ɺͦ ͷΧϥϜ໊ͷγϯϘϧ Λ഑ྻͰฦ͢ͷͬͯͲ ͏΍ΔΜ͚ͩͬʁʁʁ

Slide 13

Slide 13 text

def klass.text_columns columns.select do |c| [:string, :text].include? c.type end.map{|c| c.name.to_sym} end

Slide 14

Slide 14 text

8FCͷϕ ετϓϥΫ ςΟε

Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

No content

Slide 17

Slide 17 text

No content

Slide 18

Slide 18 text

No content

Slide 19

Slide 19 text

No content

Slide 20

Slide 20 text

No content

Slide 21

Slide 21 text

%FNP

Slide 22

Slide 22 text

΍Γ͍ͨ ͜ͱ

Slide 23

Slide 23 text

4PVOE POMZ

Slide 24

Slide 24 text

No content

Slide 25

Slide 25 text

No content

Slide 26

Slide 26 text

source 'https://rubygems.org' gem 'rails' gem 'mysql2' # gem 'pg' gem 'passenger' gem 'slim-rails' gem 'bootstrap-sass' gem 'jquery-rails' gem 'kaminari' gem 'omniauth-github' gem 'rails_config' gem 'sunspot_rails' gem 'sunspot_solr', '~> 2.0.0.pre' gem 'progress_bar' gem 'system_timer' if RUBY_VERSION < '1.9' group :assets do gem 'sass-rails' gem 'coffee-rails' gem 'therubyracer' gem 'uglifier' end group :development, :test do gem 'spring' gem 'sextant' gem 'forgery' gem 'factory_girl_rails' end

Slide 27

Slide 27 text

Settings.inquiries_tables.each do |table| class_name = table.name.singularize.classify self.class.const_set class_name, Class.new(ActiveRecord::Base) class_name.constantize.table_name = table.name class_name.constantize.class_eval do |klass| def klass.text_columns columns.select{|c| [:string, :text].include? c.type}.map{|c| c.name.to_sym} end def klass.display_columns Settings.inquiries_tables.detect{|table| table.name == self.table_name}.display_columns.map(&:to_sym) end attr_accessible *text_columns if Rails.env.development? searchable do text *text_columns end end end if Settings.inquiries_tables.present? && !ENV['TRAVIS_INIT'] module DynamicModel def all Settings.inquiries_tables.map do |table| table.name.singularize.classify.constantize end end module_function :all end

Slide 28

Slide 28 text

class InquiriesController < ApplicationController before_filter :login_required respond_to :html def index @inquiries = [] DynamicModel.all.each do |klass| @inquiries << klass.all(:limit => 5) end @inquiries.flatten! end def search @inquiries = [] DynamicModel.all.each do |klass| @inquiries << klass.search do fulltext params[:q] end.results end @inquiries.flatten! @inquiries = Kaminari.paginate_array(@inquiries).page(params[:page]).per(25) end def show @inquiry = params[:class_name].constantize.find(params[:id]) end end

Slide 29

Slide 29 text

No content

Slide 30

Slide 30 text

ര଎