Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
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
140
エンジニアリング 💰Moneyジャー / Engineering Money-ger
kenchan
2
790
Lv1,2の開発生産性を経営と繋ぐ
kenchan
4
2k
「トップ10プランナー」からはじめる目標設定
kenchan
5
4.2k
負債と言わないことが負債と向き合うこと
kenchan
5
4.3k
可用性No.1へ!「カラーミーショップ」のリ・アーキテクティング
kenchan
0
160
カラーミーショップは私たちが作っています
kenchan
0
1.6k
カラーミーショップ 2022 / COLORME SHOP 2022
kenchan
0
700
Amazon RDS移行のための 性能検証でわかった2つのこと
kenchan
3
4.1k
Other Decks in Programming
See All in Programming
新卒エンジニアのプルリクエスト with AI駆動
fukunaga2025
0
160
リリース時」テストから「デイリー実行」へ!開発マネージャが取り組んだ、レガシー自動テストのモダン化戦略
goataka
0
100
How Software Deployment tools have changed in the past 20 years
geshan
0
28k
TypeScript 5.9 で使えるようになった import defer でパフォーマンス最適化を実現する
bicstone
1
1.1k
WebRTC、 綺麗に見るか滑らかに見るか
sublimer
1
150
DSPy Meetup Tokyo #1 - はじめてのDSPy
masahiro_nishimi
1
150
手が足りない!兼業データエンジニアに必要だったアーキテクチャと立ち回り
zinkosuke
0
420
ID管理機能開発の裏側 高速にSaaS連携を実現したチームのAI活用編
atzzcokek
0
190
ローターアクトEクラブ アメリカンナイト:川端 柚菜 氏(Japan O.K. ローターアクトEクラブ 会長):2720 Japan O.K. ロータリーEクラブ2025年12月1日卓話
2720japanoke
0
700
AIコードレビューがチームの"文脈"を 読めるようになるまで
marutaku
0
320
TVerのWeb内製化 - 開発スピードと品質を両立させるまでの道のり
techtver
PRO
3
1.4k
Why Kotlin? 電子カルテを Kotlin で開発する理由 / Why Kotlin? at Henry
agatan
2
6.4k
Featured
See All Featured
Measuring & Analyzing Core Web Vitals
bluesmoon
9
700
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
How GitHub (no longer) Works
holman
316
140k
What's in a price? How to price your products and services
michaelherold
246
12k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
1
82
Making the Leap to Tech Lead
cromwellryan
135
9.6k
Site-Speed That Sticks
csswizardry
13
990
Building Adaptive Systems
keathley
44
2.9k
Java REST API Framework Comparison - PWX 2021
mraible
34
9k
Become a Pro
speakerdeck
PRO
30
5.7k
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Ҏ֎Λ͠
͍ͯΔͷ͋Δ
ίʔυϦʔσΟϯͷ݁Ռ ಠࣗͷܾࡁαʔϏεΛՃ͢Δͷ ؆୯ ܾࡁํ๏Λ૿ͤͦ͏ ಠࣗͷػೳΛՃͯ͠Αͦ͞͏
ݱࡏͷঢ়گ
Γ͍ͨ͜ͱ ܾࡁαʔϏεΛͭՃ͢Δ ΫϨδοτΧʔυܾࡁͰ͖Δ ίϯϏχܾࡁͰ͖Δ ΤϥʔॲཧͳͲͷ࡞ΓࠐΈ
ຊ൪ڥͰςετ ຊ൪ೖ
Ͱ͖͍ͯΔ͜ͱ ܾࡁαʔϏεΛͭՃ͢Δ ΫϨδοτΧʔυܾࡁͰ͖Δ ίϯϏχܾࡁͰ͖Δ ΤϥʔॲཧͳͲͷ࡞ΓࠐΈ
ຊ൪ڥͰςετ ຊ൪ೖ
·ͱΊ
ࠓͷ͓ എܠ ෦ߏͷղઆ ݱࡏͷঢ়گ
໌͔Β·ͨ ͕ΜΔ͍ͧ