This is a Rails example, but I think the problem is a general Ruby
matter.
I am using class_eval within a class method, foobar(), to have it create
an instance method, get_foobar(). I am passing a value ("testing testing
123") to foobar() that I want to make part of get_foobar(). However, I
can't seem to include this value in the output of get_foobar().
Where I want the "render" line to output "A start testing testing 123
end O", it only outputs "A start end O". Extremely grateful for any
help. Code:
class HelpController < ApplicationController
def self.foobar(v)
class_eval %q{
def get_foobar()
"start #{v} end"
end
}
end
foobar "testing testing 123"
def index
render :text => "A "+get_foobar+" O"
end
This is a Rails example, but I think the problem is a general Ruby matter.
Perhaps, but it would be more helpful to isolate the problem by removing all Rails influence, since there is every chance that Rails is munging up core Ruby behavior.
But I think the problem is simply that you are not quoting your strings correctly:
class HelpController
def self.foobar(v)
class_eval %Q{
def get_foobar()
"start #{v} end"
end
}
end
foobar "testing testing 123"
def index
puts "A " + get_foobar + " O"
end
end
HelpController.new.index # A start testing testing 123 end O
This is a Rails example, but I think the problem is a general Ruby
matter.
I am using class_eval within a class method, foobar(), to have it
create an instance method, get_foobar(). I am passing a value
("testing testing 123") to foobar() that I want to make part of
get_foobar(). However, I can't seem to include this value in the
output of get_foobar().
Where I want the "render" line to output "A start testing testing 123
end O", it only outputs "A start end O". Extremely grateful for any
help. Code:
class HelpController < ApplicationController
def self.foobar(v)
class_eval %q{
def get_foobar()
"start #{v} end"
end
}
end
foobar "testing testing 123"
def index
render :text => "A "+get_foobar+" O"
end
This is a Rails example, but I think the problem is a general Ruby
matter.
I am using class_eval within a class method, foobar(), to have it create
an instance method, get_foobar(). I am passing a value ("testing testing
123") to foobar() that I want to make part of get_foobar(). However, I
can't seem to include this value in the output of get_foobar().
Where I want the "render" line to output "A start testing testing 123
end O", it only outputs "A start end O". Extremely grateful for any
help. Code:
class HelpController < ApplicationController
def self.foobar(v)
class_eval %q{
def get_foobar()
"start #{v} end"
end
}
end
foobar "testing testing 123"
def index
render :text => "A "+get_foobar+" O"
end
ara [dot] t [dot] howard [at] noaa [dot] gov
strong and healthy,
who thinks of sickness until it strikes like lightning?
preoccupied with the world,
who thinks of death, until it arrives like thunder?
-- milarepa