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
970
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
Lv1,2の開発生産性を経営と繋ぐ
kenchan
4
1.7k
「トップ10プランナー」からはじめる目標設定
kenchan
5
3.6k
負債と言わないことが負債と向き合うこと
kenchan
5
3.7k
可用性No.1へ!「カラーミーショップ」のリ・アーキテクティング
kenchan
0
99
カラーミーショップは私たちが作っています
kenchan
0
1.5k
カラーミーショップ 2022 / COLORME SHOP 2022
kenchan
0
630
Amazon RDS移行のための 性能検証でわかった2つのこと
kenchan
3
3.9k
ポストコロナの商売を支えるカラーミーショップのアーキテクチャのこれから / The new architecture of COLORME SHOP in the Post-COVID-19 world
kenchan
2
2k
ペパボのエンジニアリングマネジメント一問一答 / engineering-management-q-and-a-in-gmo-pepabo
kenchan
7
2.5k
Other Decks in Programming
See All in Programming
Generating OpenAPI schema from serializers throughout the Rails stack - Kyobashi.rb #5
envek
1
390
なぜイベント駆動が必要なのか - CQRS/ESで解く複雑系システムの課題 -
j5ik2o
14
4.7k
React 19アップデートのために必要なこと
uhyo
8
1.5k
Bedrock Agentsレスポンス解析によるAgentのOps
licux
3
930
Domain-Driven Design (Tutorial)
hschwentner
13
22k
PHPカンファレンス名古屋2025 タスク分解の試行錯誤〜レビュー負荷を下げるために〜
soichi
1
720
5分で理解する SOLID 原則 #phpcon_nagoya
shogogg
1
380
AWS Step Functions は CDK で書こう!
konokenj
4
540
生成AIで加速するテスト実装 - ロリポップ for Gamersの事例と 生成AIエディタの活用
kinosuke01
0
130
LINE messaging APIを使ってGoogleカレンダーと連携した予約ツールを作ってみた
takumakoike
0
120
TCAを用いたAmebaのリアーキテクチャ
dazy
0
210
dbt Pythonモデルで実現するSnowflake活用術
trsnium
0
260
Featured
See All Featured
Fireside Chat
paigeccino
35
3.2k
Code Review Best Practice
trishagee
67
18k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Gamification - CAS2011
davidbonilla
80
5.2k
Faster Mobile Websites
deanohume
306
31k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
A better future with KSS
kneath
238
17k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.2k
BBQ
matthewcrist
87
9.5k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.3k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
430
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Ҏ֎Λ͠
͍ͯΔͷ͋Δ
ίʔυϦʔσΟϯͷ݁Ռ ಠࣗͷܾࡁαʔϏεΛՃ͢Δͷ ؆୯ ܾࡁํ๏Λ૿ͤͦ͏ ಠࣗͷػೳΛՃͯ͠Αͦ͞͏
ݱࡏͷঢ়گ
Γ͍ͨ͜ͱ ܾࡁαʔϏεΛͭՃ͢Δ ΫϨδοτΧʔυܾࡁͰ͖Δ ίϯϏχܾࡁͰ͖Δ ΤϥʔॲཧͳͲͷ࡞ΓࠐΈ
ຊ൪ڥͰςετ ຊ൪ೖ
Ͱ͖͍ͯΔ͜ͱ ܾࡁαʔϏεΛͭՃ͢Δ ΫϨδοτΧʔυܾࡁͰ͖Δ ίϯϏχܾࡁͰ͖Δ ΤϥʔॲཧͳͲͷ࡞ΓࠐΈ
ຊ൪ڥͰςετ ຊ൪ೖ
·ͱΊ
ࠓͷ͓ എܠ ෦ߏͷղઆ ݱࡏͷঢ়گ
໌͔Β·ͨ ͕ΜΔ͍ͧ