銀座Rails#41 LT
SBJMTOFXίϚϯυ!ZBTVIJSPLJۜ࠲3BJMT
View Slide
!ZBTVIJSPLJw झຯࢠͲͷ$IBOHF-PHΛॻ͘
!ZBTVIJSPLJw ࣄΈΜνϟϨ 3BJMT"84"OESPJE
IBQQZOFXZFBS
OPUGPVOE
IBQQZ࡞ΕΔ
IBQQZ࡞ΕΔBMJBTIBQQZSBJMT
IBQQZOFXZFBSw ৽ϓϩδΣΫτΛ࡞Δ
VOBMJBTIBQQZ
SBJMTOFXͲ͏࣮ͬͯ͞Ε͍ͯΔʁ
SBJMTOFXZFBS࣮ߦͨ͠ͱ͖ͷίʔυΛಡΉ
fiOESBJMTDPNNBOEw SBJMUJFTʹ͋Δ
WJNSBJMUJFTFYFSBJMTrails ։ൃऀ͚
WJNSBJMUJFTMJCSBJMTDMJSC
WJNSBJMUJFTMJCSBJMTDMJSC# TODO: ͋ͱͰಡΉ
WJNSBJMUJFTMJCSBJMTDMJSCrails plugin ίϚϯυҎ֎ͯ͢rails application ѻ͍# TODO: ͋ͱͰಡΉ
دΓಓSBJMTOFXZFBSҎ֎Ͱಈ͘ͷͰʁ
دΓಓಈ͔ͳ͍
WJNSBJMUJFTMJCSBJMTDMJSCw 3BJMT$PNNBOEJOWPLFBQQMJDBUJPO <OFX ZFBS>͕࣮ߦ͞ΕΔ
3BJMT$PNNBOEJOWPLF
3BJMT$PNNBOEJOWPLF໋໊نଇʹैͬͯRails::Command Λܧঝͨ͠ΫϥεΛ୳͢→ Rails::Command::ApplicationCommandnamespace = "application"
3BJMT$PNNBOE"QQMJDBUJPO$PNNBOEw 3BJMT$PNNBOE"QQMJDBUJPO$PNNBOEQFSGPSN BQQMJDBUJPO <OFX ZFBS> \^͕࣮ߦ͞ΕΔ
3BJMT$PNNBOEJOWPLFw SBJMTOFXHFOFSBUPSͷҰछw IUUQTSBJMTHVJEFTKQHFOFSBUPSTIUNM
دΓಓॻ͍ͯΔIUUQTSBJMTHVJEFTKQHFOFSBUPSTIUNM
3BJMT(FOFSBUPST"3(74DSVCCFSw "3(7Λ4DSVCͯ͠Δw ൚༻ͦ͏ͳ໊લʹݟ͔͚ͤͯ ࣮3BJMT(FOFSBUPST"QQ(FOFSBUPS༻w ࣮লུ
دΓಓOFXҎ֎IFMQʹ͢Δ
دΓಓ͔ͩΒSBJMTOFXͷΈಈ͘"yasuhiroki" == "new" => falserails --help year Λ࣮ߦͨ͜͠ͱʹͳΔ
3BJMT(FOFSBUPST"QQ(FOFSBUPS
3BJMT(FOFSBUPST"QQ(FOFSBUPSw 5IPSHFNΛར༻w Φϓγϣϯ BQJͱ͔Λղੳw ςϯϓϨʔτ͔ΒϑΝΠϧΛಈతʹੜw SBJMTOFXͰԿ͕ͲͷΑ͏ʹੜ͞ΕΔͷ͔ ͯ͢͜͜ʹ࣮͞Ε͍ͯΔ
SBJMTOFXίϚϯυ Ҏ্ͷΑ͏ʹ࣮͞Ε͍ͯͨ
دΓಓԿ͔Ε͍ͯΔؾ͕͢Δ
دΓಓHSFQ50%0
SBJMTOFXίϚϯυ͕ಈ࡞͠ͳ͍ঢ়گ͕͋Δ
SBJMTOFX͕ಈ͔ͳ͍w SBJMTϓϩδΣΫτ্ͩͱ SBJMTOFXಈ͔ͳ͍
WJNSBJMUJFTMJCSBJMTDMJSC͍·ಡΉ
3BJMT"QQ-PBEFSFYFD@BQQ
3BJMT"QQ-PBEFSFYFD@BQQbin/rails ͔ script/rails Λ୳͢root (/) ʹͳΔ·ͰḪͬͯ୳͢
3BJMT"QQ-PBEFSFYFD@BQQbin/rails script/rails ͕ͳ͔ͬͨΒԿ͠ͳ͍
3BJMT"QQ-PBEFSFYFD@BQQexec ruby bin/rails, *["new", "year"]Λ࣮ߦ͢Δ※ ͜ͷลݹ͍ Rails (ͨͿΜ3ܥ) ͚ͷॲཧbin/rails ͕͋ͬͨΒɺ
,FSOFMFYFDw Ҿʹࢦఆͨ͠ίϚϯυ͕ޭͨ͠Βɺ ͦ͜Ͱ3VCZͷॲཧऴྃ͢Δw IUUQTEPDTSVCZMBOHPSHKBMBUFTUNFUIPE,FSOFMNFYFDIUNMw
دΓಓφϕΞπͰಈ࡞֬ೝ
WJNSBJMUJFTMJCSBJMTDMJSCbin/rails ͕͋Δ߹ɺҎ߱ͷॲཧ࣮ߦ͞Εͳ͍
SVCZCJOSBJMTOFXZFBSw CJOSBJMTߦ 3BJMTͷ߹
SBJMTDPNBNOETSCRails::Command.invoke "new", ["year"]Λ࣮ߦ͢Δ
3BJMT$PNNBOEJOWPLF"HBJO
3BJMT$PNNBOEJOWPLF"HBJORails::Command::NewCommand ͷperform ͕ݺΕΔnamespace = "new"
3BJMT$PNNBOE/FX$PNNBOEw 3BJMTϓϩδΣΫτ্Ͱ࣮ߦͰ͖ͳ͍Α ϝοηʔδΛදࣔͯ͠FYJU͢Δ
5IBOLT