Dwie przydatne rzeczy przy pracy z RubyGems i Rake

21 czerwca 2008, 11:48:59

Poziom: 0 | Kategoria: Komputerowo-internetowo, Ruby, Techblog.

Ostatnio cierpię na brak czasu, stąd trochę zaniedbałem bloga. Dzisiaj krótka rzecz, która ułatwi pracę z gemami oraz z Rake. Przyznam się, że poniższe skrypty nie są mojego autorstwa, ja jedynie popularyzuję je.

Automatyczne otwieranie dokumentacji gemów w przeglądarce

Tworzymy funkcję w bashu gemdoc, która otworzy nam w przeglądarce dokumentacje RDoc podanego gema. Oczywiście obsłużymy autocomplete. Poniższy kod wklejamy do naszego pliku .bash_profile, po czym przeładowujemy ów plik poleceniem

$ source ~/.bash_profile
export GEMDIR=`gem env gemdir`

gemdoc() {
  open $GEMDIR/doc/`$(which ls) $GEMDIR/doc | grep $1 | sort | tail -1`/rdoc/index.html
}
_gemdocomplete() {
  COMPREPLY=($(compgen -W '$(`which ls` $GEMDIR/doc)' -- ${COMP_WORDS[COMP_CWORD]}))
  return 0
}
complete -o default -o nospace -F _gemdocomplete gemdoc

Funkcja pochodzi z bloga Stephena.

Automatyczne dopełnianie tasków Rake

Drugą przydatną funkcją jest automatyczne dopełnianie tasków Rake. Kod wklejamy jak powyżej do naszego .bash_profile.

export COMP_WORDBREAKS=${COMP_WORDBREAKS/\:/}

_rakecomplete() {
  COMPREPLY=($(compgen -W "`rake -s -T | awk '{{print $2}}'`" -- ${COMP_WORDS[COMP_CWORD]}))
  return 0
}
complete -o default -o nospace -F _rakecomplete rake

Tagi:

Komentarze do notki “Dwie przydatne rzeczy przy pracy z RubyGems i Rake”:

  1. Radarek

    Takie skrypty przydatne są bardzo jak ktoś grzebie sporo w gemach, rubym, źródłach itp.

    Ja jeszcze mam coś takiego (też z sieci, a co:P):

    function cdgem { cd /usr/lib/ruby/gems/1.8/gems/; cd `ls|grep $1|sort|tail -1`
    }

    $ cdgem ebb
    $ pwd
    /usr/lib/ruby/gems/1.8/gems/ebb-0.2.1

  2. GhandaL

    Fajna sprawa, do tego też przyda się autocomplete:

    export GEMDIR=`gem env gemdir`
    
    _cdgemcomplete() {
      COMPREPLY=($(compgen -W '$(`which ls` $GEMDIR/gems)' -- ${COMP_WORDS[COMP_CWORD]}))
      return 0
    }
    complete -o default -o nospace -F _cdgemcomplete cdgem
    
  3. Seban

    Fajne sprawki. W wolnej chwili spróbuję ich użyć w zsh, dopełnianie rake tasków mi działa już.

Zostaw komentarz (Textile włączony):