Archive for the ‘ Mac ’ Category

CakePhp, MacOs Snow Leopard, Apache e malditesta

CakePhp, un mac e Snow Leopard mi hanno causato dei bei malditesta oggi.

Il problema principale è che la catena di RewriteRule negli .htaccess non funzionava correttamente per via del fatto che mettevo la root di cakephp sotto la cartella Sites del mio utente, e nonostante abbia modificato /etc/apache2/httpd.conf e il file /etc/apache2/users/<my_user>.conf aggiungendo ‘AllowOverride All’ i file statici nella cartella webroot (come le immagini e i css) non mi venivano serviti.

La mia soluzione con virtual host
1) ho modificato  /etc/apache2/users/<my_user>.conf aggiungendo un virtual host con document root uguale alla root di Cake e impostando ‘AllowOverride All’ sulla document root in questo modo:

<Directory "/Users/<my_user>/Sites/">
    Options Indexes MultiViews FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>
 
<VirtualHost *>
    DocumentRoot /Users/<my_user>/Sites/MyNewSite
    ServerName mynewsite.dev
    ServerAlias www.mynewsite.dev
</VirtualHost>
 
<Directory "/Users/piero/<my_user>/MyNewSite">
    Options Indexes MultiViews FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

2) Ho inserito una entry manuale nel file /etc/hosts

127.0.0.1	mynewsite.dev

Ora funziona tutto correttamente compresi i vari RuleRewrite dei tre .htaccess di cakephp

Ciao
P.

Ruby: Getting current method name

In ruby 1.9 è possibile utilizzare la variabile __method__ per ottenere il nome del metodo attualmente chiamato. In ruby 1.8 non esiste un modo diretto per accedere al nome del metodo ma è possibile accedere alla variabile caller che, tra le altre informazioni, contiene il nome del metodo chiamante (tips trovato su internet). Ecco come creare un metodo funzionante su entrambe le versioni:

def method_name
if RUBY_VERSION.to_f < 1.9
caller[0]=~/`(.*?)’/
$1
else
__method__
end
end

Se chiamerò da un metodo foo() method_name otterò sempre ‘foo’

Installazione gem mysql su MacOS X

Quando attivi Mongrel su una macchina MacOS X (Intel) puoi avere questo messaggio:

“WARNING: You’re using the Ruby-based MySQL library that ships with 
Rails. This library is not suited for production. Please install the 
C-based MySQL library instead (gem install mysql).”

L’installazione corretta della gemma mysql è la seguente:

sudo env ARCHFLAGS=”-arch i386″ gem install mysql — –with-mysql-config=/usr/local/mysql/bin/mysql_config -with-mysql-dir=/usr/local/mysql

Ruby e Del.Icio.Us per Spotlight

Forse avrò scoperto l’acqua calda amici rubysti e maclover, ma questo importer/plugin per spotlight è veramente comodo.

Per chi fosse uno utente windows Spotlight è una utility straordinaria di MacOs che permette di cercare in pochissimi istanti un file, esso sia sul disco o sulla rete, basandosi non solo sul nome del file ma anche sul suo contenuto. L’indicizziazione avviene per una gran moltitudine di formati, dai semplici file di testo, alle mail, ai pdf, ai file OpenOffice/Office/iWork, ecc… (ovviamente questa cosa è stata mal copiata in windows vista)

Questo plugin permette di:

“Extracts metadata including modules, classes, methods, text and comments from Ruby scripts. Use Spotlight to search for every source file that references a particular class, or search for a comment you know you added to a particularly interesting method whose name you can’t remember.” (apple)

Clicca qui per la pagina di download sul sito di apple

Se invece siete utenti dell’utilissimo del.icio.us esiste anche l’importer per la famosa piattaforma di shared bookmarking: Delimport

Ciao Piero