Criando atalhos para os comandos mais usados do Rails
25/02/07
Se você usa Linux, pode aumentar um pouco mais sua produtividade ao desenvolver em Rails. Ao invés de ter que digitar os comandos com o caminho "script/[comando]", você pode criar atalhos editando o arquivo "~/.bash_aliases".
Basta abrir o arquivo mencionado e adicionar o conteúdo abaixo:
#rails
alias server="script/server"
alias rconsole="script/console"
alias rlog="tail -f ./log/development.log"
alias controller="script/generate controller"
alias model="script/generate model"
alias scaffold="script/generate scaffold"
alias migrate="rake migrate"
alias migration="script/generate migration"
Agora, basta digitar o comando diretamente, sem precisar colocar o "script/". Veja alguns exemplos:
#create project
rails demo
#create controller
controller say
#create model
model User
#create migration
migration add_goodbye_message
#start webrick
server
#read log
rlog
O mais legal de tudo é que você pode criar qualquer atalho, para qualquer coisa. ;)
- Permalink
- Trackback
- Comentários (4)
- Ao som de: Foo Fighters – New Way Home
gEdit e tabulação por arquivo
02/01/07
O gEdit está se tornando um excelente editor de textos e será, com certeza, o escolhido pela maioria quando sair a versão com o novo componente GTKSourceView, que permite múltiplos highlights em um único arquivo (pense em um arquivo HTML com Javascript e CSS embutidos). Porém, por seguir a mesma filosofia do GNOME, peca por algumas funcionalidades básicas que não são implementadas. Uma delas é a definição de tabulação por tipo de arquivo. Por exemplo, quando programo em PHP, gosto de tabulação com 4 espaços. Mesma coisa para o Python. Mas quando estou em Ruby, gosto de 2 espaços como tabulação. Traduzindo, gosto de seguir as convenções de codificação de cada linguagem.
Uma das coisas que me impedia de usar o gEdit era a impossibilidade de fazer isso facilmente. Para quem não sabe, é possível fazer este tipo de configuração com o plugin modelines, mas você precisa adicionar a definição no mesmo estilo do Vim.
O plugin
Resolvi, então, criar este plugin que faz justamente isso. Permite definir diferentes tipos de tabulação, baseadas na extensão do arquivo.
Para instalá-lo, baixe o arquivo tabulation.tar.gz e extraia os arquivos para o diretório ~/.gnome2/gedit/plugins. Depois, ative-o em Editar / Preferências / Plugins.
Para adicionar uma nova extensão, ou alterar as configurações pré-definidas, modifique o arquivo "~/.tabulation.yml".
Sugestões? Deixe um comentário.
Para ver como seu gEdit pode ficar, veja estes posts publicados pelo Yuri Malheiros.
NOTA MENTAL: permitir a configuração das tabulações através de uma interface gráfica.
Update: Forcei apenas a tabulação de arquivos PHP, Python e Ruby. Assim, o script fica sem nenhuma dependência. Baixe o arquivo em http://f.simplesideias.com.br/tabulation-strict.tar.gz.
- Permalink
- Trackback
- Comentários (10)
- Ao som de: AFI – The Missing Frame
Detectando o screensaver com D-BUS
14/10/06
Imagine que você precise detectar se o screensaver está ativo ou não. Utilizando o D-BUS, é muito simples!
Tudo o que você precisa fazer é acessar a interface "org.gnome.ScreenSaver", presente no Gnome.
bus = dbus.SessionBus() obj = bus.get_object('org.gnome.ScreenSaver', '/org/gnome/ScreenSaver') screensaver = dbus.Interface(obj, 'org.gnome.ScreenSaver') screensaver.connect_to_signal('ActiveChanged', detect_screensaver)
Abaixo, você tem um exemplo completo.
#! /usr/bin/env python import dbus import dbus.glib import commands import gtk def detect_screensaver(enabled): print "Screensaver enabled? %s" % enabled def enable_screensaver(widget): commands.getoutput(' gnome-screensaver-command --activate') bus = dbus.SessionBus() obj = bus.get_object('org.gnome.ScreenSaver', '/org/gnome/ScreenSaver') screensaver = dbus.Interface(obj, 'org.gnome.ScreenSaver') screensaver.connect_to_signal('ActiveChanged', detect_screensaver) win = gtk.Window() button = gtk.Button('Activate screensaver') win.connect('destroy', gtk.main_quit) button.connect('pressed', enable_screensaver) win.add(button) win.show_all() gtk.main()
- Permalink
- Trackback
- Comentários (0)
- Ao som de: +44 – Chapter XIII
