Witam,
Czy można edytować zawartość Gemu? Jeżeli tak czy mógłby ktoś powiedzieć, gdzie go mogę znaleźć w strukturze? Wydawało mi się, że powinien być w lib, ale tam go nie ma
Drugie pytanie chciałem się zapytać dlaczego skoro korzystam w jednym kontrolerze z polecenia:
<%= @user.username %>
to samo wpisane w kontrolerze drugim (jego plikach html) daje:
Podłączę się z pytaniem, które chyba pasuje do tego wątku.
Mam sforkowanego gema, którego chcę używać w więcej niz jednym projekcie. Kod sforkowanego gem’a jest jeszcze mało dojrzały więc ulega ciągłym modyfikacjom. Wobec czego rozwiązanie, które podałem wcześniej w wątku (użycie własnego forka w Gemfile), jest w sam raz dla mnie.
Niestety autor gema nie utworzył .gemspec’a. W związku z ‘bundle install’ nie możę znaleźć gema.
Na dodatek autor twierdzi, że jest to feature i nie zamierza tworzyć gemspeca, aż uzna, że gem jest gotowy. Nie bardzo rozumiem takie podejście. Czy ktoś może mi to wytłumaczyć czemu ma to służyć?
Dodatkowe pytanie. W jaki sposób to obejść? Na myśl przychodzi mi utworzenie swojego gemspeca w swoim forku. Ale może jakies lepsze pomysły?
A co to za gem? W swoim forku możesz robić co Ci się podoba, ale weź też pod uwagę, że jeśli stowrzysz coś wartościwego, to jednak fajnie byłoby, żeby to trafiło do głównej wersji gema - wtedy dobrze jest dogadać się z autorem tak, żeby później chętnie przyjął Twoje zmiany.
Może warto zrobić brancha, w którym jedyna zmiana to dodanie gemspeca?
@apohllo
Sporadycznie działam na githubie, ale oczywiście wysyłam pull requesty, zawsze gdy uważam, że coś jest tego warte.
Twój pomysł z osobną gałęzią jest bardzo OK.
Interesuje mnie natomiast dlaczego autor nie che dodać gemspeca. Czy to jakaś powszechna praktyka? Nie rozumiem, co się w ten sposób zyskuje?
Tu jest link do gema https://github.com/blowmage/minitest-rails
A tu jest wypowiedź autora w sprawie braku gemspeca https://github.com/blowmage/minitest-rails/issues/11
Tak sobie pomyślałem, że to zenspider, bo taka sama sytuacja jest z RubyInline. On generuje gemspec-a za pomocą hoe - po prawdzie dla mnie to jest bez sensu bo gemspec jest na tyle prostym plikiem, w którym dodatkowo można robić wywołanie Rubiego np. do ustawienia daty, że generowanie go jest przerostem formy nad treścią. Śmierdzi to mavenem (wszystko definiujemy w jednym uber-extra-wypasionym pliku manifestu i do każdej pierdoły, typu podmian numeru wersji piszemy plugin). Ale cóż z autorem czasem trudno się dyskutuje.
Moim zdaniem to wytłumaczenie jest głupie, wcale nie trzeba wypuszczać gema, mogliby dać version 0.0.0 na githubie i trzymać nie wrzucać tego na rubygems. Ja bym na Twoim miejscu dodał w swoim forku gemspeca i się nie zastanawiał
Źle go zrozumiałeś - zenspiderowi nie chodzi o to, że wrzucą gemspeca na githuba tylko nową wersję gem-a z gemspec-iem na rubygems.
Więcej w temacie https://github.com/seattlerb/rubyinline/pull/7
On generuje gemspeca w trakcie deploymentu i dlatego nie chce go wrzucać do repozytorium bo to nie jest dry. Tak jak pisałem wyżej - on preferuje podejście mavenowe, gdzie wszystko - poczynając od gemspeca skończywszy na testach jest konfigurowane w jednym pliku + 50 pluginach.