Re: Upgrading to latest Rose seems to expose a bug with Rose::HTML::Object

4 views
Skip to first unread message

James Masters

unread,
Sep 12, 2010, 5:23:03 PM9/12/10
to Rose::HTML::Objects
I did bring this up before but was unable to investigate properly at
the time. It has become pressing to upgrade Perl and Rose so today I
renamed my existing old version of the Perl directory and installed a
brand new ActiveState Perl v2.12.2. Then using PPM3 (opens into a GUI
now - oooh), I installed
install Rose::DB::Object
install Rose::HTML::Objects
install DBD-MySQL

Pretty much everything seems to still be working except for
Rose::HTML::Object. I have since also installed the following in case
it would help but they made no difference: Rose; Rose::Conf;
Bundle::Rose

When I run my script that uses Rose::HTML::Object, compilation dies
at Rose/HTML/Form.pm line 16 (my version is 0.606). I made a change
to Perl/lib/base.pm so that it reports the error message rather than
just dying mutely. Now it says:

Can't locate object method "valid_html_attrs" via package
"Rose::HTML::Text" at C:/Perl/site/lib/Rose/HTML/Text.pm line 11.
Compilation failed in require at C:/Perl/site/lib/Rose/HTML/Object/
MakeMethods/Generic.pm line 15.
BEGIN failed--compilation aborted at C:/Perl/site/lib/Rose/HTML/Object/
WithWrapAroundChildren.pm line 27.

The following all complete reporting nothing so I assume are OK:
Ran perl -MRose::HTML::Form -e 1
perl -MRose::HTML::Object::WithWrapAroundChildren -e 1
perl -MRose::HTML::Form::Field -e 1
perl -MRose::HTML::Form::Field::Collection -e 1
perl -MRose::HTML::Text -e 1
perl -MRose::HTML::Object -e 1
perl -MRose::HTML::Objects -e 1

So then I tried to find where valid_html_attrs is defined and I could
not. I presume that it is a method either defined in Rose/HTML/
Text.pm or a module it inherits from. I don't really understand
inheritance but I think use base Rose/HTML/Object.pm means it inherits
its methods from there? But it doesn't seem to be defined in there.
I tried to search for "sub valid_html_attrs" though all modules in or
below the lib/Rose directory and the phrase was not found. So perhaps
it's not installed in my version of Perl for some reason. So I
wondered if perhaps the ActiveState versions of modules were out of
date or not in sync. So I went to CPAN and searched for
"valid_html_attrs" with only 1 result - Rose-HTML-Object. Looking
through this documentation page (module v0.606) on CPAN, the method
'valid_html_attrs' is mentioned and described. But neither my version
(also v.0606) or the source on CPAN seems to have "sub
valid_html_attrs" defined in it.

So where is the method valid_html_attrs defined?

Many thanks for any help.

Reply all
Reply to author
Forward
0 new messages