Josh,

ah ok-- I get it now -- thanks so much for helping me understand!

follow up question:  I also have an option where the user can specify
a template to be run as if it were inside a pdf.instance_eval where
pdf is just the Prawn::Document object.  This makes the template more
compact, since the user avoids having to type "pdf." all the time.
(i.e. "pdf = Prawn::Document.new; pdf.instance_eval template.source;")
Soooo-- I'm assuming that having the "pdf.instance_eval" in the eval'd
string kinda defeats the benefits of using compile?  Could I get
around this by mimicking the compile paradigm and creating a method
and calling that method within the string to be eval'd?

thanks so much for the help!
-thorny_sun


On Dec 11, 10:36 am, Joshua Peek <[email protected]> wrote:
> On Dec 11, 8:46 am, thorny_sun <[email protected]> wrote:
>
> > so are you saying now that ruby source is somehow getting run faster
> > since it is getting "compiled".  I'm very confused.  What if we take
> > the builder template as an example (since prawnto template handler
> > works very similarly in that it is just ruby code) -- is there any
> > speed gain expected by "compiling" it?  Or did I just misunderstand?
>
> In most cases, you going to have to compile it no matter what. In your
> prawnto template handler you directly call `[email protected]_eval
> source, template.filename, 1`. While this works, you are rebuilding
> and reevaling the template ever run. This is really slow. You could
> make this optimizations internally, but ActionView can take care of
> all this for you if you just return the source from the handler
> instead.

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Core" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-core?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to