Forum: Italian Ruby user group compiled asset senza fingerprint

Cb8e3a1650513848561ca38f84399fa1?d=identicon&s=25 Fabrizio Regini (freegenie)
on 2014-01-22 14:33
(Received via mailing list)
Qualcuno sa come faccio in Rails 4 a far si che durante la
precompilazione
di degli asset ad un determinato file venga conservato il suo nome senza
fingerprint?

esempio ho un file in app/assets/javascripts/application.js, voglio che
dopo assets:precompile questo venga salvato
public/assets/javascripts/application.js

Potrei fare un symlink ad ogni deploy, o fare un enhancement al rake
task
'assets:precompile' per farlo in automatico, ma forse c' modo di
ottenere
lo stesso tramite una configurazione di Rails?
2dd4747f79885cbdb629d703a9a64ff4?d=identicon&s=25 Rocco Galluzzo (byterussian)
on 2014-01-22 15:22
(Received via mailing list)
Ciao,

in application.rb:
 config.assets.digest = false
con rails 3 c'era anche la task rake:

rake assets:precompile:nodigest

ma  stata rimossa in rails 4... qui trovi una versione da usare nel
caso:
https://github.com/rails/sprockets-rails/issues/49...


2014/1/22 Fabrizio Regini <freegenie@gmail.com>
2dd4747f79885cbdb629d703a9a64ff4?d=identicon&s=25 Rocco Galluzzo (byterussian)
on 2014-01-22 15:27
(Received via mailing list)
scusa, "config.assets.digest = false" va in environements/production.rb
non
in application.rb


2014/1/22 Rocco Galluzzo <mail@roccogalluzzo.com>
321db48bf4bdf48da05e781325aed20a?d=identicon&s=25 Maurizio De magnis (olistik)
on 2014-01-22 15:45
(Received via mailing list)
Mmh, suppongo che abbia bisogno della disabilitazione solo per qualche
file
e non per tutti.
La vedo dura senza ridefinire la parte di sprockets che si preoccupa di
gestire il digest.


2014/1/22 Rocco Galluzzo <mail@roccogalluzzo.com>
Cb8e3a1650513848561ca38f84399fa1?d=identicon&s=25 Fabrizio Regini (freegenie)
on 2014-01-22 15:47
(Received via mailing list)
Grazie. La conversazione che hai linkato  molto interessante.

In Rails 4 se uso digest = false, il risultato  che gli helper non usano
pi la fingerprint, che non  proprio quello che voglio.

Sto pensando di generare dei symlink dopo assets:precompile come
suggerito
da Jeremy Kemper ma non ho chiaro come heroku tratti questi file
generati
"al volo".
Qualcuno ha esperienze simili con Heroku?




2014/1/22 Rocco Galluzzo <mail@roccogalluzzo.com>
9daa9b4739a6e95078cbcfb624d7bb8e?d=identicon&s=25 David Welton (Guest)
on 2014-01-22 15:49
(Received via mailing list)
E fare la cosa 'old school', mettendo il file direttamente in
public/javascripts/ ?

Cosi` l'asset pipeline non ci mette le sue mani e basta.

--
David N. Welton

http://www.welton.it/davidw/

http://www.dedasys.com/
Cb8e3a1650513848561ca38f84399fa1?d=identicon&s=25 Fabrizio Regini (freegenie)
on 2014-01-22 15:49
(Received via mailing list)
Si infatti stavo guardando dentro Sprockets. Sinceramente non capisco
perchè abbiano tolto la variante non fingerprintata, sarebbe estramente
utile se Rails avesse un Array per definire gli asset che non vuoi
fingerprintare.


2014/1/22 maurizio de magnis <maurizio.demagnis@gmail.com>
2dd4747f79885cbdb629d703a9a64ff4?d=identicon&s=25 Rocco Galluzzo (byterussian)
on 2014-01-22 15:55
(Received via mailing list)
Mi era sfuggita la parte "solo alcuni file"...

potresti modificare la task che ti ho linkato togliendo il loop
 e passando come argomento il file al quale vuoi togliere il digest.
Cb8e3a1650513848561ca38f84399fa1?d=identicon&s=25 Fabrizio Regini (freegenie)
on 2014-01-22 16:21
(Received via mailing list)
Rocco, si infatti alla fine prover con quel rake come enhancement di
asset:precompile.
Penso che far un link per invece che la copia del file, mi pare pi
approrpiato
Devo solo fare qualche ricerca per capire se l'ephemeral filesystem di
heroku tollera una soluzione del genere oppure rischio di trovarmi in
qualche situazione in cui quei link non sono spariti.


2014/1/22 Rocco Galluzzo <mail@roccogalluzzo.com>
2a0018cac7cdbfa495ad8ff097c3146c?d=identicon&s=25 Matteo Latini (Guest)
on 2014-01-23 09:44
(Received via mailing list)
Se volete farvi quattro risate seguite la issue:
https://github.com/rails/sprockets-rails/issues/49

Classico esempio di fissa mentale del core team Rails.

Comunque una soluzione sporca e veloce e
https://github.com/alexspeller/non-stupid-digest-assets,
una gem che compila gli assets come Rails 3 (gi solo il nome della gem
fa ride :D).

Ciao,

--
Matteo Latini
http://nebulab.it/
Cb8e3a1650513848561ca38f84399fa1?d=identicon&s=25 Fabrizio Regini (freegenie)
on 2014-01-23 10:39
(Received via mailing list)
provando con la soluzione della copia del file come suggerito da Rocco,
su
Heroku ricevo questo errore:

       rake aborted!
       No such file or directory -
/tmp/build_0ec0019d-2d5e-418e-a843-65d5912bec36/public/assets/manifest.json

 /tmp/build_0ec0019d-2d5e-418e-a843-65d5912bec36/vendor/bundle/ruby/2.0.0/gems/sprockets-2.10.1/lib/sprockets/manifest.rb:220:in
`initialize'

 /tmp/build_0ec0019d-2d5e-418e-a843-65d5912bec36/vendor/bundle/ruby/2.0.0/gems/sprockets-2.10.1/lib/sprockets/manifest.rb:220:in
`open'

 /tmp/build_0ec0019d-2d5e-418e-a843-65d5912bec36/vendor/bundle/ruby/2.0.0/gems/sprockets-2.10.1/lib/sprockets/manifest.rb:220:in
`save'

 /tmp/build_0ec0019d-2d5e-418e-a843-65d5912bec36/vendor/bundle/ruby/2.0.0/gems/sprockets-2.10.1/lib/sprockets/manifest.rb:140:in
`compile'

 /tmp/build_0ec0019d-2d5e-418e-a843-65d5912bec36/vendor/bundle/ruby/2.0.0/gems/sprockets-rails-2.0.1/lib/sprockets/rails/task.rb:60:in
`block (3 levels) in define'

 /tmp/build_0ec0019d-2d5e-418e-a843-65d5912bec36/vendor/bundle/ruby/2.0.0/gems/sprockets-2.10.1/lib/rake/sprocketstask.rb:146:in
`with_logger'

 /tmp/build_0ec0019d-2d5e-418e-a843-65d5912bec36/vendor/bundle/ruby/2.0.0/gems/sprockets-rails-2.0.1/lib/sprockets/rails/task.rb:59:in
`block (2 levels) in define'
       Tasks: TOP => assets:precompile
       (See full trace by running task with --trace)

E il deploy si blocca.




2014/1/23 Matteo Latini <matteolatini@nebulab.it>
1a45b192d0bbaf167afb43a41859e313?d=identicon&s=25 Ju Liu (Guest)
on 2014-01-23 10:39
(Received via mailing list)
Bellissimo Matteo! :D

http://rubydrama.com/

    Ju

--
M.Sc. Ju Liu
Twitter: @arkh4m <http://twitter.com/arkh4m>
Skype: johnny_arkham
Card: http://zerp.ly/ju-liu
--
Società Cooperativa weLaika
Corso Vigevano 14/B, 10154 Torino (TO), Italy
http://welaika.com - info@welaika.com


2014/1/23 Matteo Latini <matteolatini@nebulab.it>
Cb8e3a1650513848561ca38f84399fa1?d=identicon&s=25 Fabrizio Regini (freegenie)
on 2014-01-23 10:40
(Received via mailing list)
@ David, ci sono diversi client che puntano al percorso del file dentro
/assets, non vorrei costringeri a cambiare path.
Cb8e3a1650513848561ca38f84399fa1?d=identicon&s=25 Fabrizio Regini (freegenie)
on 2014-01-23 10:42
(Received via mailing list)
E pushando una seconda volta dopo un `rake assets:clobber` :

 rake aborted!
       No such file or directory -
/tmp/build_84a9e3ee-4466-46e7-a020-5ac0df92a5c5/public/assets/application.js

 /tmp/build_84a9e3ee-4466-46e7-a020-5ac0df92a5c5/lib/tasks/production.rake:24:in
`block (3 levels) in <top (required)>'

 /tmp/build_84a9e3ee-4466-46e7-a020-5ac0df92a5c5/lib/tasks/production.rake:9:in
`each'

 /tmp/build_84a9e3ee-4466-46e7-a020-5ac0df92a5c5/lib/tasks/production.rake:9:in
`block (2 levels) in <top (required)>'

 /tmp/build_84a9e3ee-4466-46e7-a020-5ac0df92a5c5/lib/tasks/production.rake:43:in
`block in <top (required)>'
       Tasks: TOP => app:nonfingerprint_assets
       (See full trace by running task with --trace)




2014/1/23 Ju Liu <ju.liu@welaika.com>
2a0018cac7cdbfa495ad8ff097c3146c?d=identicon&s=25 Matteo Latini (Guest)
on 2014-01-23 14:51
(Received via mailing list)
Il giorno 23/gen/2014, alle ore 10:38, Ju Liu <ju.liu@welaika.com> ha
scritto:

> Bellissimo Matteo! :D
>
> http://rubydrama.com/

Scusa ma mi stai prendendo per il culo? Complimenti!

--
Matteo Latini
http://nebulab.it/
1a45b192d0bbaf167afb43a41859e313?d=identicon&s=25 Ju Liu (Guest)
on 2014-01-23 15:19
(Received via mailing list)
2014/1/23 Matteo Latini <matteolatini@nebulab.it>

>
> Scusa ma mi stai prendendo per il culo?
>

Affatto! Me la sono proprio spassata a leggere il mega flame su github
:)
2a0018cac7cdbfa495ad8ff097c3146c?d=identicon&s=25 Matteo Latini (Guest)
on 2014-01-23 15:29
(Received via mailing list)
Il giorno 23/gen/2014, alle ore 15:17, Ju Liu <ju.liu@welaika.com> ha
scritto:

> 2014/1/23 Matteo Latini <matteolatini@nebulab.it>
>
>>
>> Scusa ma mi stai prendendo per il culo?
>>
>
> Affatto! Me la sono proprio spassata a leggere il mega flame su github :)

Chiedo umilmente perdono Su questa ML non riesco mai a riconoscere i
troll :(

--
Matteo Latini
http://nebulab.it/
This topic is locked and can not be replied to.