[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

treemaps

Javi Jimenez

2/25/2008 1:43:00 PM

hello everybody in the list!

For 2 days I have been trying to use acts_as_treemap plugin in my
project. It seemed to be really easy following rob's tutorial
(http://blog.tupleshop.com/2006/7/27/treema...).
I have tried with a simple example, only 6 nodes, and I get this error:

stack level too deep

(eval):8:in `color'
(eval):8:in `color'
C:/instantrails/InstantRails-1.7-win/InstantRails/ruby/lib/ruby/gems/1.8/gems/ruby-treemap-0.0.2/lib/treemap/html_output.rb:61:in
`node_color'
C:/instantrails/InstantRails-1.7-win/InstantRails/ruby/lib/ruby/gems/1.8/gems/ruby-treemap-0.0.2/lib/treemap/html_output.rb:149:in
`draw_node'
C:/instantrails/InstantRails-1.7-win/InstantRails/ruby/lib/ruby/gems/1.8/gems/ruby-treemap-0.0.2/lib/treemap/html_output.rb:95:in
`draw_map'
C:/instantrails/InstantRails-1.7-win/InstantRails/ruby/lib/ruby/gems/1.8/gems/ruby-treemap-0.0.2/lib/treemap/html_output.rb:77:in
`to_html'
#{RAILS_ROOT}/vendor/plugins/acts_as_treemap/lib/treemap_helper.rb:30:in
`html_treemap'
#{RAILS_ROOT}/app/views/breed/index.rhtml:3:in
`_run_rhtml_47app47views47breed47index46rhtml'
C:/instantrails/InstantRails-1.7-win/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_view/base.rb:326:in
`send'
C:/instantrails/InstantRails-1.7-win/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_view/base.rb:326:in
`compile_and_render_template'
C:/instantrails/InstantRails-1.7-win/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_view/base.rb:301:in
`render_template'
C:/instantrails/InstantRails-1.7-win/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_view/base.rb:260:in
`render_file'
C:/instantrails/InstantRails-1.7-win/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_controller/base.rb:806:in
`render_file'
C:/instantrails/InstantRails-1.7-win/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_controller/base.rb:711:in
`render_with_no_layout'
C:/instantrails/InstantRails-1.7-win/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_controller/layout.rb:256:in
`render_without_benchmark'
C:/instantrails/InstantRails-1.7-win/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_controller/benchmarking.rb:50:in
`render'
C:/instantrails/InstantRails-1.7-win/InstantRails/ruby/lib/ruby/1.8/benchmark.rb:293:in
`measure'
C:/instantrails/InstantRails-1.7-win/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_controller/benchmarking.rb:50:in
`render'
C:/instantrails/InstantRails-1.7-win/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_controller/base.rb:1096:in
`perform_action_without_filters'
C:/instantrails/InstantRails-1.7-win/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_controller/filters.rb:632:in
`call_filter'
C:/instantrails/InstantRails-1.7-win/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_controller/filters.rb:619:in
`perform_action_without_benchmark'
C:/instantrails/InstantRails-1.7-win/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_controller/benchmarking.rb:66:in
`perform_action_without_rescue'
C:/instantrails/InstantRails-1.7-win/InstantRails/ruby/lib/ruby/1.8/benchmark.rb:293:in
`measure'
C:/instantrails/InstantRails-1.7-win/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_controller/benchmarking.rb:66:in
`perform_action_without_rescue'
C:/instantrails/InstantRails-1.7-win/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_controller/rescue.rb:83:in
`perform_action'
C:/instantrails/InstantRails-1.7-win/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_controller/base.rb:430:in
`send'
C:/instantrails/InstantRails-1.7-win/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_controller/base.rb:430:in
`process_without_filters'
C:/instantrails/InstantRails-1.7-win/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_controller/filters.rb:624:in
`process_without_session_management_support'
C:/instantrails/InstantRails-1.7-win/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_controller/session_management.rb:114:in
`process'
C:/instantrails/InstantRails-1.7-win/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_controller/base.rb:330:in
`process'
C:/instantrails/InstantRails-1.7-win/InstantRails/ruby/lib/ruby/gems/1.8/gems/rails-1.2.3/lib/dispatcher.rb:41:in
`dispatch'
C:/instantrails/InstantRails-1.7-win/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/lib/mongrel/rails.rb:78:in
`process'
C:/instantrails/InstantRails-1.7-win/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/lib/mongrel/rails.rb:76:in
`synchronize'
C:/instantrails/InstantRails-1.7-win/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/lib/mongrel/rails.rb:76:in
`process'
C:/instantrails/InstantRails-1.7-win/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/lib/mongrel.rb:618:in
`process_client'
C:/instantrails/InstantRails-1.7-win/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/lib/mongrel.rb:617:in
`each'
C:/instantrails/InstantRails-1.7-win/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/lib/mongrel.rb:617:in
`process_client'
C:/instantrails/InstantRails-1.7-win/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/lib/mongrel.rb:736:in
`run'
C:/instantrails/InstantRails-1.7-win/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/lib/mongrel.rb:736:in
`initialize'
C:/instantrails/InstantRails-1.7-win/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/lib/mongrel.rb:736:in
`new'
C:/instantrails/InstantRails-1.7-win/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/lib/mongrel.rb:736:in
`run'
C:/instantrails/InstantRails-1.7-win/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/lib/mongrel.rb:720:in
`initialize'
C:/instantrails/InstantRails-1.7-win/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/lib/mongrel.rb:720:in
`new'
C:/instantrails/InstantRails-1.7-win/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/lib/mongrel.rb:720:in
`run'
C:/instantrails/InstantRails-1.7-win/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/lib/mongrel/configurator.rb:271:in
`run'
C:/instantrails/InstantRails-1.7-win/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/lib/mongrel/configurator.rb:270:in
`each'
C:/instantrails/InstantRails-1.7-win/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/lib/mongrel/configurator.rb:270:in
`run'
C:/instantrails/InstantRails-1.7-win/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/bin/mongrel_rails:127:in
`run'
C:/instantrails/InstantRails-1.7-win/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/lib/mongrel/command.rb:211:in
`run'
C:/instantrails/InstantRails-1.7-win/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/bin/mongrel_rails:243
C:/instantrails/InstantRails-1.7-win/InstantRails/ruby/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/dependencies.rb:488:in
`load'
C:/instantrails/InstantRails-1.7-win/InstantRails/ruby/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/dependencies.rb:488:in
`load'
C:/instantrails/InstantRails-1.7-win/InstantRails/ruby/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/dependencies.rb:342:in
`new_constants_in'
C:/instantrails/InstantRails-1.7-win/InstantRails/ruby/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/dependencies.rb:488:in
`load'
C:/instantrails/InstantRails-1.7-win/InstantRails/ruby/lib/ruby/gems/1.8/gems/rails-1.2.3/lib/commands/servers/mongrel.rb:60
C:/instantrails/InstantRails-1.7-win/InstantRails/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in
`gem_original_require'
C:/instantrails/InstantRails-1.7-win/InstantRails/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in
`require'
C:/instantrails/InstantRails-1.7-win/InstantRails/ruby/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/dependencies.rb:495:in
`require'
C:/instantrails/InstantRails-1.7-win/InstantRails/ruby/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/dependencies.rb:342:in
`new_constants_in'
C:/instantrails/InstantRails-1.7-win/InstantRails/ruby/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/dependencies.rb:495:in
`require'
C:/instantrails/InstantRails-1.7-win/InstantRails/ruby/lib/ruby/gems/1.8/gems/rails-1.2.3/lib/commands/server.rb:39
C:/instantrails/InstantRails-1.7-win/InstantRails/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in
`gem_original_require'
C:/instantrails/InstantRails-1.7-win/InstantRails/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in
`require'
script/server:3

Any idea of what is happening?

Thanks!
--
Posted via http://www.ruby-....

8 Answers

Ilan Berci

2/25/2008 2:20:00 PM

0

Javi Jimenez wrote:
> hello everybody in the list!
>
> For 2 days I have been trying to use acts_as_treemap plugin in my
> project. It seemed to be really easy following rob's tutorial
> (http://blog.tupleshop.com/2006/7/27/treema...).
> I have tried with a simple example, only 6 nodes, and I get this error:
>

> C:/instantrails/InstantRails-1.7-win/InstantRails/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in
> `require'
> script/server:3
>
> Any idea of what is happening?
>
> Thanks!

Javi,

You are recursively calling the method color() until your stack goes
through the roof. I believe your error has nothing at all to do with
the treemap plugin. If you want, you can post the code for further
analysis

hth

ilan


--
Posted via http://www.ruby-....

Javi Jimenez

2/25/2008 2:39:00 PM

0

> You are recursively calling the method color() until your stack goes
> through the roof. I believe your error has nothing at all to do with
> the treemap plugin. If you want, you can post the code for further
> analysis
>
> hth
>
> ilan

thanks ilan!

My view index.rhtml has only this line:

<%= html_treemap(@root) %>

The controller 'breed_controller':

class BreedController < ApplicationController
def index
# Retreive the root node of the treemap
@root = Breed.find(1)
end
end

and the model:

class Breed < ActiveRecord::Base
acts_as_tree :order => "total"
acts_as_treemap :label => "name", :size => "total", :color => "color"
end


As you can see is very simple code to use this plugin, that is why I
can't see the error, maybe in the database?

id parent_id total name color
1 null 79 'pit bull' '15.30'
2 1 67 'york-shire' '8.11'
3 2 65 'bull dog' '7.15'
4 3 60 'samoyedo' '6.00'

very simple too ....

What is happening? :(

Thank you!
--
Posted via http://www.ruby-....

Javi Jimenez

2/25/2008 5:28:00 PM

0

Javi Jimenez wrote:
>> You are recursively calling the method color() until your stack goes
>> through the roof. I believe your error has nothing at all to do with
>> the treemap plugin. If you want, you can post the code for further
>> analysis
>>
>> hth
>>
>> ilan
>
> thanks ilan!
>
> My view index.rhtml has only this line:
>
> <%= html_treemap(@root) %>
>
> The controller 'breed_controller':
>
> class BreedController < ApplicationController
> def index
> # Retreive the root node of the treemap
> @root = Breed.find(1)
> end
> end
>
> and the model:
>
> class Breed < ActiveRecord::Base
> acts_as_tree :order => "total"
> acts_as_treemap :label => "name", :size => "total", :color => "color"
> end
>
>
> As you can see is very simple code to use this plugin, that is why I
> can't see the error, maybe in the database?
>
> id parent_id total name color
> 1 null 79 'pit bull' '15.30'
> 2 1 67 'york-shire' '8.11'
> 3 2 65 'bull dog' '7.15'
> 4 3 60 'samoyedo' '6.00'
>
> very simple too ....
>
> What is happening? :(
>
> Thank you!

I already fixed this problem, it was because of the column name 'color',
i felt so stupid when I found out.

Anyway, I still have not been able to show the map,It says :"no
font_size method".

I have been looking for it in the plugin code and it is there in
node.rb, so now I am more lost than before.


has anyone any experience with treemaps???
--
Posted via http://www.ruby-....

Ilan Berci

2/26/2008 4:08:00 AM

0

Javi Jimenez wrote:

>
> Anyway, I still have not been able to show the map,It says :"no
> font_size method".
>
> I have been looking for it in the plugin code and it is there in
> node.rb, so now I am more lost than before.
>
>
> has anyone any experience with treemaps???

Javi,

First thing, stop saying "treemaps" and instead read your error
messages.. the error message is indicating that you are calling a method
entitled "font_size" on an object that doesn't support it. If you trace
your call stack you will find the culprit and tackle it from there. As
for acts_as_treemap, check the docs that shipped with the plugin.

hth

ilan


--
Posted via http://www.ruby-....

Javi Jimenez

2/26/2008 2:44:00 PM

0

> First thing, stop saying "treemaps" and instead read your error
> messages.. the error message is indicating that you are calling a method
> entitled "font_size" on an object that doesn't support it. If you trace
> your call stack you will find the culprit and tackle it from there. As
> for acts_as_treemap, check the docs that shipped with the plugin.
>
> hth
>
> ilan

You were right, I have found this method and several other methos that
call this one. Finnally I have been able to fix it and show the treemap.

Thanks for your comments

Javi
--
Posted via http://www.ruby-....

Peter Marx

4/28/2008 1:17:00 PM

0

Javi Jimenez wrote:
>> First thing, stop saying "treemaps" and instead read your error
>> messages.. the error message is indicating that you are calling a method
>> entitled "font_size" on an object that doesn't support it. If you trace
>> your call stack you will find the culprit and tackle it from there. As
>> for acts_as_treemap, check the docs that shipped with the plugin.
>>
>> hth
>>
>> ilan
>
> You were right, I have found this method and several other methos that
> call this one. Finnally I have been able to fix it and show the treemap.
>
> Thanks for your comments
>
> Javi


Hi Javi,

I have also the missing method "font_size" problem. I exactly used the
Sourceforge treemap database and the coding from the tutorial.
Plugin installation for acts_as_tree and acts_as_treemap worked.

I'm on Ruby 1.8.6 and Rails 2.0.2.

The trace gives a beginner like me no indication what's wrong:

undefined method `font_size' for #<SourceforgeNode:0x35da8c4>
...
C:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/attribute_methods.rb:205:in
`method_missing'
C:/ruby/lib/ruby/gems/1.8/gems/ruby-treemap-0.0.2/lib/treemap/html_output.rb:127:in
`draw_label'
C:/ruby/lib/ruby/gems/1.8/gems/ruby-treemap-0.0.2/lib/treemap/html_output.rb:138:in
`draw_node_body'
C:/ruby/lib/ruby/gems/1.8/gems/ruby-treemap-0.0.2/lib/treemap/html_output.rb:156:in
`draw_node'
C:/ruby/lib/ruby/gems/1.8/gems/ruby-treemap-0.0.2/lib/treemap/html_output.rb:95:in
`draw_map'
C:/ruby/lib/ruby/gems/1.8/gems/ruby-treemap-0.0.2/lib/treemap/html_output.rb:77:in
`to_html'
vendor/plugins/acts_as_treemap/lib/treemap_helper.rb:30:in
`html_treemap'
app/views/sourceforge_map/index.html.erb:1:in
`_run_erb_47app47views47sourceforge_map47index46html46erb'

Could you give me an advice how you found the related spot ?

Regards

Peter

--
Posted via http://www.ruby-....

Javi Jimenez

4/28/2008 6:39:00 PM

0

> Hi Javi,
>
> I have also the missing method "font_size" problem. I exactly used the
> Sourceforge treemap database and the coding from the tutorial.
> Plugin installation for acts_as_tree and acts_as_treemap worked.
>
> I'm on Ruby 1.8.6 and Rails 2.0.2.
>
> The trace gives a beginner like me no indication what's wrong:
>
> undefined method `font_size' for #<SourceforgeNode:0x35da8c4>
> ...
> C:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/attribute_methods.rb:205:in
> `method_missing'
> C:/ruby/lib/ruby/gems/1.8/gems/ruby-treemap-0.0.2/lib/treemap/html_output.rb:127:in
> `draw_label'
> C:/ruby/lib/ruby/gems/1.8/gems/ruby-treemap-0.0.2/lib/treemap/html_output.rb:138:in
> `draw_node_body'
> C:/ruby/lib/ruby/gems/1.8/gems/ruby-treemap-0.0.2/lib/treemap/html_output.rb:156:in
> `draw_node'
> C:/ruby/lib/ruby/gems/1.8/gems/ruby-treemap-0.0.2/lib/treemap/html_output.rb:95:in
> `draw_map'
> C:/ruby/lib/ruby/gems/1.8/gems/ruby-treemap-0.0.2/lib/treemap/html_output.rb:77:in
> `to_html'
> vendor/plugins/acts_as_treemap/lib/treemap_helper.rb:30:in
> `html_treemap'
> app/views/sourceforge_map/index.html.erb:1:in
> `_run_erb_47app47views47sourceforge_map47index46html46erb'
>
> Could you give me an advice how you found the related spot ?
>
> Regards
>
> Peter

hi Peter!

I found the lines where font_size was called on the gem code and just
commented them and it worked (I realized that font_size was not used any
more).
I did not like the result so finnally i did not used it on my project.
Maybe you should use a javascript in order to have a nice view. If you
find anything interesting please share it!

Regards,

Javi
--
Posted via http://www.ruby-....

Peter Marx

5/6/2008 3:10:00 PM

0

> hi Peter!
>
> I found the lines where font_size was called on the gem code and just
> commented them and it worked (I realized that font_size was not used any
> more).
> I did not like the result so finnally i did not used it on my project.
> Maybe you should use a javascript in order to have a nice view. If you
> find anything interesting please share it!
>
> Regards,
>
> Javi

Hi Javi,

It worked. But I agree, the result doesn't have a "commercial look". If
first have to dive deeper in Ajax, RAP or something else before thinking
of a professional look and feel for a treemap...

P.S: how can it be that the plugin being used in a tutorial produces
this error? Does this come from Rails 2.0 ? I lost days in trying to
learn Ruby with books and tutorials not working with 2.0. I think Ruby
lost a lot of possible friends..

have a good time
Peter

--
Posted via http://www.ruby-....