Elo,
Taki problem, którego rozwiązanie musi być tymczasowo quick & dirty. Musimy współdzielić między kilkoma aplikacjami (czysty Ruby i Ruby on Rails) modele z aplikacji railsowej. Najprostsze rozwiązanie, jakie przychodzi mi na myśl - gem.
Ma ktoś z takimi manewrami jakieś doświadczenie? Czy można to zrobić bardziej elegancko?
Docelowo będzie rozwiązane to zupełnie inaczej, ale docelowo trwa - więc chodzi mi głównie o doświadczenia praktyczne.
Może plugin i Rails Engins
Chyba ciężko użyć Rails Engines w kodzie, który nie korzysta z Ruby on Rails? Tak jak pisałem, chodzi o wykorzystanie modeli Ruby on Rails poza frameworkiem.
Filip, ja zawsze staram się za wszelką cenę uniknąć takiej sytuacji by współdzielić kod, który stanowi logikę biznesową (bo ta zmienia się częściej niż kod typowo biblioteczny). Skoro i tak pracujecie nad nowym rozwiązaniem, a to ma być tym tylko tymczasowe to może jesteście w stanie trzymać kod w 1 repo? Wydzielacie wtedy sobie podkatalog, np. app_xxx i tam trzymacie kod, który dodaje do $LOAD_PATH katalog …/app/models/ itp. Deploy tej nierailsowej aplikacji polega na pobraniu całego repo, ale odpalacie już sobie tę aplikację z podkatalog app_xxx. Jeśli to jest repo svna to ew. pomyślcie nad externalami.
W ten sposób radzimy sobie do tej pory i po kilku próbach separacji chyba jednak tak zostanie. 
Dzięki za sugestię.
Ja mam spore doświadczenia w tym zakresie, choć właśnie zazwyczaj to ma sens pakować do Gema to raczej coś bibliotecznego, niż klasy AR. Wtedy Gemy sprawdzają się świetnie - często jest też tak, że przenoszę stopniowo część logiki, która “się sprawdziła” do biblioteki (a która początkowo była elementem modelu AR).
Ale same modele AR raczej nie pasują do Gema, dlatego też bym sugerował (choć to rozwiązanie ma swoje inne zagwozdki, w szczególności przywiązanie do konkretnego narzędzia…) pobawić się z SCMem, tak, żeby identyczny wspólny kod był zarządzany na poziomie repozytorium. Trzeba jednak pamiętać, że poza samym modelem konieczne jest uwspólnienie migracji…