Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Ruby2.1ͷRefinementsͰ࡞Δ SpockϥΠΫͳςετߏจ ڮཱ༑@joker1007
Slide 2
Slide 2 text
!KPLFS 3VCZ3BJMT4DBMB ! :PLPIBNBSC 4IJCVZBSC "TBLVTBSC 5%%#$
Slide 3
Slide 3 text
ؔਓͰ͢
Slide 4
Slide 4 text
No content
Slide 5
Slide 5 text
Refinements
Slide 6
Slide 6 text
ར༻Λએݴͨ͠ίϯςΩετͰͷΈ ϝιου͕ఆٛ͞ΕΔ
Slide 7
Slide 7 text
• Ruby 2.0͔ΒՃ (experimental) • Ruby 2.0ͷrefinementsτοϓϨϕϧͷΈ • Ruby 2.1͔Βexperimental͡Όͳ͘ͳͬͨ • Ruby 2.1͔ΒΫϥεείʔϓͰએݴͰ͖ΔΑ͏ʹͳͬͨ
Slide 8
Slide 8 text
Ruby 2.1͔Β͜͏ॻ͚Δ
Slide 9
Slide 9 text
Կ͕خ͍͠ͷ͔
Slide 10
Slide 10 text
ΈࠐΈΫϥεͷ ϝιουΛ্ॻ͖ͯ͠ ӨڹൣғΛݶఆͰ͖Δ DSLॻ͖์ʂ
Slide 11
Slide 11 text
࣮ࡍͦΕͳΓʹ੍ݶ͕…
Slide 12
Slide 12 text
ຊ
Slide 13
Slide 13 text
RSpec
Slide 14
Slide 14 text
Spock
Slide 15
Slide 15 text
Spock Cool !!
Slide 16
Slide 16 text
RefinementsͰ RSpecΛͦΕͬΆ͘ॻ͘
Slide 17
Slide 17 text
rspec-parameterized https://github.com/tomykaira/rspec-parameterized
Slide 18
Slide 18 text
ͦΕͬΆ͍ʂ
Slide 19
Slide 19 text
No content
Slide 20
Slide 20 text
ԿΛ͍ͬͯΔͷ͔ • binding_of_callerͰݺͼग़͠ݩͷbindingΛऔಘ͢Δ • evalͯ͠ݺͼग़͠ݩͷExampleGroupͷΠϯελϯε Λऔಘ͢Δ • ݺͼग़͠ݩͷΠϯελϯεʹύϥϝʔλʔอ࣋ͷͨ ΊͷΠϯελϯεมΛಈతʹఆٛ͢Δ • ΦϒδΣΫτΛϥοϓͯ͠Πϯελϯεมʹύϥ ϝʔλʔΛՃ͍ͯ͘͠ • RSpecͷdescribe࣮Ϋϥεͷఆٛͱಉ͡ͳͷͰ using͕ར༻Ͱ͖Δ
Slide 21
Slide 21 text
ࠇຐज़ͩΒ͚ ͔͠ΈࠐΈϝιουΛ উखʹ࠶ఆٛ ! Ͱusingͯ͠ͳ͍Օॴʹ ҰӨڹແ͠
Slide 22
Slide 22 text
·ͱΊ
Slide 23
Slide 23 text
• Ruby 2.1͔ΒRefinementsͷ੍ݶ͕গ͠؇͘ ͳͬͨ • Refinementsϝιουఆٛͷࣗ༝Λ͛ͯ ͘ΕΔ • ΈࠐΈϝιου໊લඃΓΛؾʹͤͣDSLΛ ఆٛͰ͖Δ • ·ͩusingએݴͷ੍͕ଟ͍ͷͰɺࠓޙͷਐԽʹ ظ
Slide 24
Slide 24 text
Let’s Refine !!