Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Extending Active Merchant
Search
Kenichi Takahashi
September 21, 2014
Programming
2
980
Extending Active Merchant
RubyHiroba 2014 生活発表会
補足のコードリーティングメモは
https://gist.github.com/kenchan/d90dafa88e8a6938c129
です。
Kenichi Takahashi
September 21, 2014
Tweet
Share
More Decks by Kenichi Takahashi
See All by Kenichi Takahashi
実践、マルチクラウド環境でのコスト管理の現状と未来
kenchan
0
110
エンジニアリング 💰Moneyジャー / Engineering Money-ger
kenchan
2
720
Lv1,2の開発生産性を経営と繋ぐ
kenchan
4
2k
「トップ10プランナー」からはじめる目標設定
kenchan
5
4k
負債と言わないことが負債と向き合うこと
kenchan
5
4.2k
可用性No.1へ!「カラーミーショップ」のリ・アーキテクティング
kenchan
0
150
カラーミーショップは私たちが作っています
kenchan
0
1.6k
カラーミーショップ 2022 / COLORME SHOP 2022
kenchan
0
690
Amazon RDS移行のための 性能検証でわかった2つのこと
kenchan
3
4.1k
Other Decks in Programming
See All in Programming
Infer入門
riru
4
1.6k
Azure SRE Agentで運用は楽になるのか?
kkamegawa
0
650
詳解!defer panic recover のしくみ / Understanding defer, panic, and recover
convto
0
190
Laravel Boost 超入門
fire_arlo
2
160
AHC051解法紹介
eijirou
0
640
コンテキストエンジニアリング Cursor編
kinopeee
1
730
RDoc meets YARD
okuramasafumi
4
160
ソフトウェアテスト徹底指南書の紹介
goyoki
1
120
LLMOpsのパフォーマンスを支える技術と現場で実践した改善
po3rin
8
990
The state patternの実践 個人開発で培ったpractice集
miyanokomiya
0
150
私の後悔をAWS DMSで解決した話
hiramax
4
170
WebAssemblyインタプリタを書く ~Component Modelを添えて~
ruccho
1
940
Featured
See All Featured
Unsuck your backbone
ammeep
671
58k
We Have a Design System, Now What?
morganepeng
53
7.8k
Done Done
chrislema
185
16k
Music & Morning Musume
bryan
46
6.8k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.1k
The Language of Interfaces
destraynor
160
25k
A Tale of Four Properties
chriscoyier
160
23k
What's in a price? How to price your products and services
michaelherold
246
12k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
Imperfection Machines: The Place of Print at Facebook
scottboms
268
13k
Automating Front-end Workflow
addyosmani
1370
200k
Embracing the Ebb and Flow
colly
87
4.8k
Transcript
GMO Pepabo, Inc. Kenichi TAKAHASHI 2014/09/21 RubyHiroba 2014 Extending Active
Merchant
8IPBNJ !LFODIBO 8PSLBU(.01FQBCP *OD
None
None
None
ΤϯδχΞੵۃ࠾༻த http://pepabo.com/recruit/career/engineer/
GMO Pepabo, Inc. Kenichi TAKAHASHI 2014/09/21 RubyHiroba 2014 Extending Active
Merchant
ࠓͷ͓ എܠ ෦ߏͷղઆ ݱࡏͷঢ়گ
͜ͷͷഎܠ
ϖύϘͷٕज़ج൫νʔϜ ಛఆͷαʔϏεͷ։ൃʹίϛοτͯ͠ ͍ͳ͍ ֤ࣗͰΔ͖͜ͱΛݟ͚͖ͭͯͯվ ળ͍ͯ͘͠ εέʔϧ͢ΔࣄΛ͠ͳ͍ͱ͍͚ͳ͍
͍͠
None
՝ۚ ΄ͱΜͲͷαʔϏεͰ՝ۚػೳ͕͋Δ ݸผͷαʔϏεʹґଘ͠ͳ͍ ࣾHFN͕ᘳͰͳ͔ͬͨ ܾࡁํ๏ͷબࢶଟ͍ํ͕͍͍
બࢶΛ؆୯ʹ૿ݮͰ͖Δͱخ͍͠
छྨ͕ଟ͍ ܾࡁ ߦ αʔϏε (.0ϖΠϝϯτήʔτΣΠ 1BZQBM
FUD ࢧ͍ํ๏ ΫϨδοτΧʔυ ίϯϏχܾࡁ FUD
͍͠
ݱঢ়Ѳ αʔϏεຖͷ՝ۚίʔυΛಡΉ طଘͷࣾHFNΛಡΉ ΅ΜΓͱઃܭΛߟ͑Δ 044Λ୳͢
None
"DUJWF.FSDIBOU ࣮͕͋Δ ֦ுϙΠϯτ͕༻ҙ͞Ε͍ͯΔ ֦ு͞ΕͨHFNެ։͞Ε͍ͯΔ
044Λ͏͜ͱ Ϣʔβ͕͍Δ ΠϯλϑΣʔε͕ܾΊΒΕ͍ͯΔ ࣗͨͪͷ༻݅ʹ߹͏͔Θ͔Βͳ͍
෦ߏͷղઆ
ௐ͍ͨ͜ͱ ܾࡁαʔϏεͷՃํ๏ ܾࡁํ๏૿ͤΔ͔ ܾࡁαʔϏεಠࣗͷػೳΛΈࠐΊ Δ͔
ओཁͳΫϥε kenchan ~/src/github.com/shopify/active_merchant (master) $ tree lib lib !"" active_merchant
# !"" billing # # !"" credit_card.rb # # !"" gateway.rb # # !"" gateways # # # !"" #{your_payment_gateway}.rb # # $"" response.rb # !"" *.rb !"" active_merchant.rb !"" activemerchant.rb $"" support !"" *.rb 12 directories, 181 files
DSFEJU@DBSESC
DSFEJU@DBSESC ΫϨδοτΧʔυΛදݱ͍ͯ͠Δ ੩తͳόϦσʔγϣϯ͕Ͱ͖Δ Χʔυ൪߸ͷϑΥʔϚοτ ༗ޮظݶ
දࣔ༻ͷศརϝιου͕͋Δ
HBUFXBZSC
HBUFXBZSC ܾࡁαʔϏεͷجఈΫϥε ΠϯλϑΣʔεΛఆ͍ٛͯ͠Δ QVSDIBTF SFGVOE ศརϝιου͕ఆٛ͞Ε͍ͯΔ
SFRVJSFT
SFTQPOTFSC
SFTQPOTFSC ܾࡁ݁ՌΛදݱ͍ͯ͠Δ ෳͷϨεϙϯεΛ·ͱΊΔػೳ͕ ͋Δ SFRVFTUͳ͍Μͩʜ
ςετʹ͍ͭͯ
ओཁͳςετ kenchan ~/src/github.com/shopify/active_merchant (master) $ tree test test !"" fixtures.yml
!"" remote # $"" gateways # $"" your_payment_gateway_test.rb !"" schema # $"" your_payment_gateway # $"" schema.xsd !"" support # $"" mercury_helper.rb !"" test_helper.rb $"" unit !"" credit_card_test.rb !"" gateways # $"" your_payment_gateway_test.rb !"" multi_response_test.rb !"" rails_compatibility_test.rb $"" response_test.rb 10 directories, 303 files
ςετʹ͍ͭͯ SBLFUFTUSFNPUFͰςετڥʹ ଓ͢Δ&&ςετ SBLFUFTUͰϢχοτςετ
ܾࡁαʔϏε ΛՃͯ͠ΈΔ
http://example.com/image.png
ZPVS@QBZNFOU@HBUFXBZSC HFOFSBUPSTHBUFXBZUFNQMBUF HBUFXBZSC͕ςϯϓϨʔτʹͳͬͯ ͍Δ ಠࣗͷϝιουΛՃ͍ͯ͠Δͷ ͋Δ QVSDIBTFʹDSFBEJU@DBSEҎ֎Λ͠
͍ͯΔͷ͋Δ
ίʔυϦʔσΟϯͷ݁Ռ ಠࣗͷܾࡁαʔϏεΛՃ͢Δͷ ؆୯ ܾࡁํ๏Λ૿ͤͦ͏ ಠࣗͷػೳΛՃͯ͠Αͦ͞͏
ݱࡏͷঢ়گ
Γ͍ͨ͜ͱ ܾࡁαʔϏεΛͭՃ͢Δ ΫϨδοτΧʔυܾࡁͰ͖Δ ίϯϏχܾࡁͰ͖Δ ΤϥʔॲཧͳͲͷ࡞ΓࠐΈ
ຊ൪ڥͰςετ ຊ൪ೖ
Ͱ͖͍ͯΔ͜ͱ ܾࡁαʔϏεΛͭՃ͢Δ ΫϨδοτΧʔυܾࡁͰ͖Δ ίϯϏχܾࡁͰ͖Δ ΤϥʔॲཧͳͲͷ࡞ΓࠐΈ
ຊ൪ڥͰςετ ຊ൪ೖ
·ͱΊ
ࠓͷ͓ എܠ ෦ߏͷղઆ ݱࡏͷঢ়گ
໌͔Β·ͨ ͕ΜΔ͍ͧ