~/talk

Future-Proofing Your 3rd Party Integrations

Talkat RubyConf 2014 · 2014-11-17..11-19· [developer-experience, testing]
slides:none on file

Describes a concrete pattern: isolate all vendor code as an adapter gem kept in project wired via bundler, expose a separate adapter interface gem with DTOs with validation in initializer and thin abstract services so implementations stay swappable. Covers using existing SDKs, recording HTTP interactions with VCR or providing a fake service, a test environment that Creates IDs and Ensures cleanup, CI that occasionally skips stubs to catch API drift, and an up_typed check that enforces method signatures.

AI-written summary · about

  1. 0:00Introduction
  2. 1:35What do you want from your thirdparty implementations
  3. 2:05Making your thirdparty behavior predictable
  4. 4:19Gem Files
  5. 5:55Service Objects
  6. 7:07Define Your Vocabulary
  7. 9:10Use Services
  8. 9:56Data Transfer Objects
  9. 10:44Abstract Service
  10. 11:29Abstract Classes
  11. 12:44Adapter Interface
  12. 15:51Data
  13. 16:41Test Environment
  14. 17:55Cleanup
  15. 19:33Unit Tests
  16. 20:13Environment
  17. 22:13Services
  18. 24:51Goals
  19. 25:18Keeping and Predictable
  20. 25:43Documentation
  21. 26:17Flexibility
  22. 28:30Define your internal vocabulary
  23. 28:50Create the adapter interface
  24. 30:15Create a test environment
  25. 30:28Keep your tests going
  26. 30:50Maintain stubs or fakes
  27. 31:05Fake services
  28. 31:30Thanks
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.