Issue generating SASS from CSS

13 views
Skip to first unread message

baphled

unread,
Dec 16, 2009, 9:13:15 AM12/16/09
to Haml
This seems to be a relatively new issue, though I have not tried to
convert from CSS to SASS in a few months. When ever I try now get the
following error:

/Library/Ruby/Gems/1.8/gems/haml-2.2.15/lib/sass/css.rb:75:in
`initialize': can't convert nil into String (TypeError)
from /Library/Ruby/Gems/1.8/gems/haml-2.2.15/lib/sass/css.rb:75:in
`new'
from /Library/Ruby/Gems/1.8/gems/haml-2.2.15/lib/sass/css.rb:75:in
`initialize'
from -e:1:in `new'
from -e:1

Here's a list of all the gems I have installed:
actionmailer (2.3.5, 2.3.4, 2.3.2, 2.2.2, 1.3.6)
actionpack (2.3.5, 2.3.4, 2.3.2, 2.2.2, 1.13.6)
actionwebservice (1.2.6)
activerecord (2.3.5, 2.3.4, 2.3.2, 2.2.2, 1.15.6)
activeresource (2.3.5, 2.3.4, 2.3.2, 2.2.2)
activesupport (2.3.5, 2.3.4, 2.3.2, 2.2.2, 1.4.4)
acts_as_ferret (0.4.4, 0.4.3)
builder (2.1.2)
capistrano (2.5.10, 2.5.2)
cgi_multipart_eof_fix (2.5.0)
compass (0.8.17)
cucumber (0.4.4)
daemons (1.0.10)
diff-lcs (1.1.2)
dnssd (1.3.1, 0.6.0)
fastthread (1.0.7, 1.0.1)
fcgi (0.8.8, 0.8.7)
ferret (0.11.6)
gem_plugin (0.2.3)
haml (2.2.15)
highline (1.5.1, 1.5.0)
hpricot (0.8.2, 0.6.164)
justinfrench-formtastic (0.2.4)
libxml-ruby (1.1.3, 1.1.2)
mongrel (1.1.5)
mysql (2.8.1, 2.7)
needle (1.3.0)
net-scp (1.0.2, 1.0.1)
net-sftp (2.0.4, 2.0.1, 1.1.1)
net-ssh (2.0.17, 2.0.16, 2.0.4, 1.1.4)
net-ssh-gateway (1.0.1, 1.0.0)
nokogiri (1.4.1, 1.4.0)
polyglot (0.2.9)
rack (1.0.1)
rails (2.3.5, 2.3.2, 2.2.2, 1.2.6)
rake (0.8.7, 0.8.3)
RedCloth (4.2.2, 4.1.1)
rspec (1.2.9)
rspec-rails (1.2.9)
ruby-openid (2.1.7, 2.1.2)
ruby-yadis (0.3.4)
rubygems-update (1.3.5)
rubynode (0.1.5)
sqlite3-ruby (1.2.5, 1.2.4)
term-ansicolor (1.0.4)
termios (0.9.4)
treetop (1.4.3, 1.4.2)
webrat (0.6.0)
xmpp4r (0.5, 0.4)
ZenTest (4.2.1, 4.1.4)

Any guidance would be greatly appreciated.

Chris Eppstein

unread,
Dec 16, 2009, 12:28:40 PM12/16/09
to ha...@googlegroups.com
Does it happen for  you all the time or only with certain inputs?

If input dependent, please post that css using http://gist.github.com or http://pastie.org and send us the link.

chris


--

You received this message because you are subscribed to the Google Groups "Haml" group.
To post to this group, send email to ha...@googlegroups.com.
To unsubscribe from this group, send email to haml+uns...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/haml?hl=en.



Yomi Colledge

unread,
Dec 17, 2009, 12:20:11 PM12/17/09
to ha...@googlegroups.com
It's a consistent issue, I've had a play around and it seems to happen with even the most basic of CSS files.

Nathan Weizenbaum

unread,
Dec 17, 2009, 2:04:59 PM12/17/09
to ha...@googlegroups.com
What version of Ruby are you using? How are you calling css2sass?

Ryan Michael

unread,
Dec 24, 2009, 10:34:04 AM12/24/09
to Haml
I'm having a very similar problem, but it's coming from my compass
watcher script (using rails/compass). My sass files look like this:

// site.sass
@import partials/base.sass
@import partials/mixins.sass
@import partials/products.sass

body
+i18n_highlighting

#user_block
float: right
+inline_list

#nav_block
float: left
clear: both
+inline_list
margin-bottom: 20px

#content_block
clear: both

#footer_block
clear: both
text-align: center
+inline_list

// _products.sass
@import mixins.sass

#sidebar
float: left
width: 200px
margin-left: 20px

#browse_content
margin-left: 270px
+browse

// _mixins.sass
=inline_list
ul
display: inline
li
display: inline

=i18n_highlighting
.translation_missing
background: yellow

=browse
.browsing_block
width: 300px
float: left


compass tries to compile site.sass and gives the the following error:

TypeError: can't convert nil into String

Backtrace:
/home/kerinin/Projects/forge/vendor/plugins/haml/rails/../lib/sass/
files.rb:81:in `join'
/home/kerinin/Projects/forge/vendor/plugins/haml/rails/../lib/sass/
files.rb:81:in `sassc_filename'
/home/kerinin/Projects/forge/vendor/plugins/haml/rails/../lib/sass/
files.rb:24:in `tree_for'
/home/kerinin/Projects/forge/vendor/plugins/haml/rails/../lib/sass/
plugin.rb:97:in `update_stylesheet'
/home/kerinin/Projects/forge/vendor/plugins/haml/rails/../lib/sass/
plugin.rb:83:in `update_stylesheets'
/home/kerinin/Projects/forge/vendor/plugins/haml/rails/../lib/sass/
plugin.rb:78:in `each'
/home/kerinin/Projects/forge/vendor/plugins/haml/rails/../lib/sass/
plugin.rb:78:in `update_stylesheets'
/home/kerinin/Projects/forge/vendor/plugins/haml/rails/../lib/sass/
plugin.rb:76:in `each'
/home/kerinin/Projects/forge/vendor/plugins/haml/rails/../lib/sass/
plugin.rb:76:in `update_stylesheets'
/home/kerinin/Projects/forge/vendor/plugins/haml/rails/../lib/sass/
plugin.rb:63:in `check_for_updates'
/home/kerinin/Projects/forge/vendor/plugins/haml/rails/../lib/sass/
plugin/rack.rb:43:in `call'
/var/lib/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/
string_coercion.rb:25:in `call'
/var/lib/gems/1.8/gems/rack-1.0.1/lib/rack/head.rb:9:in `call'
/var/lib/gems/1.8/gems/rack-1.0.1/lib/rack/methodoverride.rb:24:in
`call'
/var/lib/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/
params_parser.rb:15:in `call'
/var/lib/gems/1.8/gems/rails-2.3.5/lib/rails/rack/metal.rb:47:in
`call'
/var/lib/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/session/
cookie_store.rb:93:in `call'
/var/lib/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/
failsafe.rb:26:in `call'
/var/lib/gems/1.8/gems/rack-1.0.1/lib/rack/lock.rb:11:in `call'
/var/lib/gems/1.8/gems/rack-1.0.1/lib/rack/lock.rb:11:in `synchronize'
/var/lib/gems/1.8/gems/rack-1.0.1/lib/rack/lock.rb:11:in `call'
/var/lib/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/
dispatcher.rb:114:in `call'
/var/lib/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/
reloader.rb:34:in `run'
/var/lib/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/
dispatcher.rb:108:in `call'
/var/lib/gems/1.8/gems/rails-2.3.5/lib/rails/rack/static.rb:31:in
`call'
/var/lib/gems/1.8/gems/rack-1.0.1/lib/rack/urlmap.rb:46:in `call'
/var/lib/gems/1.8/gems/rack-1.0.1/lib/rack/urlmap.rb:40:in `each'
/var/lib/gems/1.8/gems/rack-1.0.1/lib/rack/urlmap.rb:40:in `call'
/var/lib/gems/1.8/gems/rails-2.3.5/lib/rails/rack/log_tailer.rb:17:in
`call'
/var/lib/gems/1.8/gems/rack-1.0.1/lib/rack/content_length.rb:13:in
`call'
/var/lib/gems/1.8/gems/rack-1.0.1/lib/rack/handler/webrick.rb:50:in
`service'
/usr/lib/ruby/1.8/webrick/httpserver.rb:104:in `service'
/usr/lib/ruby/1.8/webrick/httpserver.rb:65:in `run'
/usr/lib/ruby/1.8/webrick/server.rb:173:in `start_thread'
/usr/lib/ruby/1.8/webrick/server.rb:162:in `start'
/usr/lib/ruby/1.8/webrick/server.rb:162:in `start_thread'
/usr/lib/ruby/1.8/webrick/server.rb:95:in `start'
/usr/lib/ruby/1.8/webrick/server.rb:92:in `each'
/usr/lib/ruby/1.8/webrick/server.rb:92:in `start'
/usr/lib/ruby/1.8/webrick/server.rb:23:in `start'
/usr/lib/ruby/1.8/webrick/server.rb:82:in `start'
/var/lib/gems/1.8/gems/rack-1.0.1/lib/rack/handler/webrick.rb:14:in
`run'
/var/lib/gems/1.8/gems/rails-2.3.5/lib/commands/server.rb:111
/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in
`gem_original_require'
/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `require'
script/server:3
*/
body:before {
white-space: pre;
font-family: monospace;
content: "TypeError: can't convert nil into String"; }

Not sure what's causing this but it's a PITA. The oddest part is that
it doesn't seem to be consistent - sometimes it happens and sometimes
it doesn't (on the exact same code)

-Ryan

On Dec 17, 1:04 pm, Nathan Weizenbaum <nex...@gmail.com> wrote:
> What version of Ruby are you using? How are you calling css2sass?
>

> On Thu, Dec 17, 2009 at 9:20 AM, Yomi Colledge <baph...@googlemail.com>wrote:
>
>
>
> > It's a consistent issue, I've had a play around and it seems to happen with
> > even the most basic of CSS files.
>
> > On Wed, Dec 16, 2009 at 5:28 PM, Chris Eppstein <ch...@eppsteins.net>wrote:
>
> >> Does it happen for  you all the time or only with certain inputs?
>
> >> If input dependent, please post that css usinghttp://gist.github.comor

> >>http://pastie.organd send us the link.
>
> >> chris

> >>> haml+uns...@googlegroups.com <haml%2Bunsu...@googlegroups.com>.


> >>> For more options, visit this group at
> >>>http://groups.google.com/group/haml?hl=en.
>
> >>  --
> >> You received this message because you are subscribed to the Google Groups
> >> "Haml" group.
> >> To post to this group, send email to ha...@googlegroups.com.
> >> To unsubscribe from this group, send email to

> >> haml+uns...@googlegroups.com <haml%2Bunsu...@googlegroups.com>.


> >> For more options, visit this group at
> >>http://groups.google.com/group/haml?hl=en.
>
> >  --
> > You received this message because you are subscribed to the Google Groups
> > "Haml" group.
> > To post to this group, send email to ha...@googlegroups.com.
> > To unsubscribe from this group, send email to

> > haml+uns...@googlegroups.com <haml%2Bunsu...@googlegroups.com>.

Nathan Weizenbaum

unread,
Dec 24, 2009, 3:21:31 PM12/24/09
to ha...@googlegroups.com
Ryan, I think your issue is different. Your problem seems to be that the :cache flag is set for Sass::Plugin.options, but the :cache_location option isn't. I've just pushed a fix to the stable branch that fixes this bug. For now, if you explicitly set "Sass::Plugin.options[:cache_location] = Sass::Engine::DEFAULT_OPTIONS[:cache_location]", this should work fine.

To unsubscribe from this group, send email to haml+uns...@googlegroups.com.

Nathan Weizenbaum

unread,
Dec 24, 2009, 3:30:06 PM12/24/09
to ha...@googlegroups.com
Actually, these options should automatically be merged with the default options. What happens when you do "p Sass::Plugin.options"?

Chris Eppstein

unread,
Dec 24, 2009, 4:23:07 PM12/24/09
to ha...@googlegroups.com, ha...@googlegroups.com
For compass the way you directly set sass options is different. You need to assign a hash to the sass_options property. 


sass_options = {
:cache_location =>    Sass::Engine::DEFAULT_OPTIONS[:cache_location]
}

-chris

Hunt & pecked on my iPhone... Sorry if it's brief!

Chris Eppstein

unread,
Dec 24, 2009, 4:27:16 PM12/24/09
to ha...@googlegroups.com, ha...@googlegroups.com
There's not a good place for him to add that in a compass project. I suggest removing the sass cache directory. 


Hunt & pecked on my iPhone... Sorry if it's brief!

Nathan Weizenbaum

unread,
Dec 24, 2009, 4:35:37 PM12/24/09
to ha...@googlegroups.com
The directory isn't the problem. The problem is that somewhere Sass::Plugin.options[:cache_location] is getting set to nil. This is causing update_stylesheets to fail.

Ryan Michael

unread,
Dec 24, 2009, 4:48:15 PM12/24/09
to Haml
OK, well I'm confused.

What file does compass use for options in a Rails install? The wiki
gives the file syntax but I can't find any files that look right.

-Ryan

On Dec 24, 3:35 pm, Nathan Weizenbaum <nex...@gmail.com> wrote:
> The directory isn't the problem. The problem is that somewhere
> Sass::Plugin.options[:cache_location] is getting set to nil. This is causing
> update_stylesheets to fail.
>
>
>
> On Thu, Dec 24, 2009 at 1:27 PM, Chris Eppstein <ch...@eppsteins.net> wrote:
> > There's not a good place for him to add that in a compass project. I
> > suggest removing the sass cache directory.
>
> > Hunt & pecked on my iPhone... Sorry if it's brief!
>
> > On Dec 24, 2009, at 12:30 PM, Nathan Weizenbaum <nex...@gmail.com> wrote:
>
> > Actually, these options should automatically be merged with the default
> > options. What happens when you do "p Sass::Plugin.options"?
>
> > On Thu, Dec 24, 2009 at 12:21 PM, Nathan Weizenbaum < <nex...@gmail.com>
> > nex...@gmail.com> wrote:
>
> >> Ryan, I think your issue is different. Your problem seems to be that the
> >> :cache flag is set for Sass::Plugin.options, but the :cache_location option
> >> isn't. I've just pushed a fix to the stable branch that fixes this bug. For
> >> now, if you explicitly set "Sass::Plugin.options[:cache_location] =
> >> Sass::Engine::DEFAULT_OPTIONS[:cache_location]", this should work fine.
>

> >>> > >> <http://pastie.organd>http://pastie.organdsend us the link.

> >>> > >>> To post to this group, send email to...
>
> read more »

Chris Eppstein

unread,
Dec 24, 2009, 5:38:54 PM12/24/09
to ha...@googlegroups.com, Haml
I'm also confused. Why are you using the compass watcher on a rails
project?

Hunt & pecked on my iPhone... Sorry if it's brief!

> To post to this group, send email to ha...@googlegroups.com.
> To unsubscribe from this group, send email to haml+uns...@googlegroups.com

Ryan Michael

unread,
Dec 25, 2009, 12:10:20 PM12/25/09
to ha...@googlegroups.com
I'm using Spree, which has a sort of wonky extension system and I couldn't get the standard compass install to compile at page load so I just threw in a watcher script to save myself the time of trying to figure out how to make compass play well with the extensions.

Basically (if you're not familiar with Spree) I'm developing an extension that lives in RAILS_ROOT/vendor/extension/blah along with a couple other ones, and ideally compass would be watching the sass dir of each extension.  Looking at the config documentation you linked to it appears that the sass_dir must be a string.

I should probably move this discussion to the Spree list; they probably already solved this issue and I just haven't been able to find it.  

Thanks for all you help btw.
-Ryan

Chris Eppstein

unread,
Dec 25, 2009, 2:03:05 PM12/25/09
to ha...@googlegroups.com, ha...@googlegroups.com
Let me know if there's any additional support needed on my end. 


Hunt & pecked on my iPhone... Sorry if it's brief!

JoshL

unread,
Jan 4, 2010, 10:39:13 AM1/4/10
to Haml
I also started getting this error after upgrading to pre 3

Any thoughts? How can I downgrade?

On Dec 25 2009, 2:03 pm, Chris Eppstein <ch...@eppsteins.net> wrote:
> Let me know if there's any additional support needed on my end.
>
> Hunt & pecked on my iPhone... Sorry if it's brief!
>

> On Dec 25, 2009, at 9:10 AM, Ryan Michael <keri...@gmail.com> wrote:
>
>
>
> > I'm using Spree, which has a sort of wonky extension system and I  
> > couldn't get the standard compass install to compile at page load so  
> > I just threw in a watcher script to save myself the time of trying  
> > to figure out how to make compass play well with the extensions.
>
> > Basically (if you're not familiar with Spree) I'm developing an  
> > extension that lives in RAILS_ROOT/vendor/extension/blah along with  
> > a couple other ones, and ideally compass would be watching the sass  
> > dir of each extension.  Looking at the config documentation you  
> > linked to it appears that the sass_dir must be a string.
>
> > I should probably move this discussion to the Spree list; they  
> > probably already solved this issue and I just haven't been able to  
> > find it.
>
> > Thanks for all you help btw.
> > -Ryan
>
> > On Thu, Dec 24, 2009 at 4:38 PM, Chris Eppstein  
> > <ch...@eppsteins.net> wrote:
> > I'm also confused. Why are you using the compass watcher on a rails
> > project?
>
> > Hunt & pecked on my iPhone... Sorry if it's brief!
>

> > >>>>>>>> <http://pastie.organd>http://pastie.organdsendus the link.


>
> > >>>>>>>> chris
>
> > >>>>>>>> On Wed, Dec 16, 2009 at 6:13 AM, baphled
> > >>>>>>>> <baph...@googlemail.com>
> > >>>>> wrote:
>
> > >>>>>>>>> This seems to be a relatively new issue, though I have not
> > >>>>>>>>> tried to

> > >>>>>>>>> convert from...
>
> read more »

Chris Eppstein

unread,
Jan 4, 2010, 2:12:23 PM1/4/10
to ha...@googlegroups.com
Downgrading:

sudo gem uninstall compass

And it will give you a list of installed versions to uninstall.

Chris


>
> read more »

Reply all
Reply to author
Forward
0 new messages