A
andrew-kane-gem-writer
This skill should be used when writing Ruby gems following Andrew Kane's proven patterns and philosophy. It applies when creating new Ruby gems, refactoring existing gems, designing gem APIs, or when clean, minimal, production-ready Ruby library code is needed. Triggers on
Installation
Pick a client and clone the repository into its skills directory.
Installation
About this skill
This skill should be used when writing Ruby gems following Andrew Kane's proven patterns and philosophy. It applies when creating new Ruby gems, refactoring existing gems, designing gem APIs, or when clean, minimal, production-ready Ruby library code is needed. Triggers on requests like \
How to use
- Wyzwól umiejętność, gdy pracujesz nad gemem Ruby'ego – użyj poleceń takich jak "stwórz gem", "napisz bibliotekę Ruby'ego" lub "zaprojektuj API gemu", lub wspomni Andrew Kane'a.
- Zaakceptuj strukturę punktu wejścia: każdy gem zaczyna się w pliku lib/gemname.rb z kolejnością: zależności (preferuj stdlib), moduły wewnętrzne, warunkowy Rails (nigdy nie wymagaj Rails bezpośrednio), moduł z konfiguracją i błędami.
- Zdefiniuj domyślne wartości konfiguracji (np. timeout, logger) bezpośrednio w module, aby były dostępne od razu.
- Implementuj makra klasowe jako pojedyncze wywołanie metody – wzór Kane'a – które konfiguruje wszystko w jednym miejscu (np. searchkick word_start: [:name]).
- W makrze waliduj nieznanym słowa kluczowe i zgłaszaj ArgumentError z listą nieznanych opcji.
- Unikaj metaprogramowania – pisz jawny kod, który służy rzeczywistym przypadkom użycia w produkcji, bez zbędnych zależności.