Puppet rdoc generate - undefined method `keys' for Array

I'm trying to set up the Puppet class browser<Puppet class browser - Foreman>in Foreman 1.1-1 so I can show some documentation about my puppet classes.
When I run the rake task I get the error "undefined method `keys' for
#<Array:0x7f97d3c953e8>. Here is the full trace:

me@myforemanserver:/usr/local/foreman-1.1-1> RAILS_ENV=development rake
puppet:rdoc:generate --trace
** Invoke puppet:rdoc:generate (first_time)
** Invoke environment (first_time)
** Execute environment
** Invoke puppet:rdoc:prepare (first_time)
** Invoke environment
** Execute puppet:rdoc:prepare
** Execute puppet:rdoc:generate
rake aborted!
undefined method keys&#39; for #&lt;Array:0x7f97d3c953e8&gt; /usr/local/foreman-1.1-1/app/models/environment.rb:42:inpuppetEnvs'
/usr/lib/ruby/gems/1.8/gems/activesupport-3.0.20/lib/active_support/dependencies.rb:458:in
map&#39; /usr/local/foreman-1.1-1/app/models/environment.rb:41:ineach'
/usr/local/foreman-1.1-1/app/models/environment.rb:41:in map&#39; /usr/local/foreman-1.1-1/app/models/environment.rb:41:inpuppetEnvs'
/usr/local/foreman-1.1-1/app/models/environment.rb:40:in map&#39; /usr/local/foreman-1.1-1/app/models/environment.rb:40:inpuppetEnvs'
/usr/local/foreman-1.1-1/app/models/puppetclass.rb:80:in rdoc&#39; /usr/local/foreman-1.1-1/lib/tasks/puppet.rake:17 /usr/lib/ruby/gems/1.8/gems/rake-10.0.3/lib/rake/task.rb:228:incall'
/usr/lib/ruby/gems/1.8/gems/rake-10.0.3/lib/rake/task.rb:228:in execute&#39; /usr/lib/ruby/gems/1.8/gems/rake-10.0.3/lib/rake/task.rb:223:ineach'
/usr/lib/ruby/gems/1.8/gems/rake-10.0.3/lib/rake/task.rb:223:in execute&#39; /usr/lib/ruby/gems/1.8/gems/rake-10.0.3/lib/rake/task.rb:166:ininvoke_with_call_chain'
/usr/lib/ruby/1.8/monitor.rb:242:in synchronize&#39; /usr/lib/ruby/gems/1.8/gems/rake-10.0.3/lib/rake/task.rb:159:ininvoke_with_call_chain'
/usr/lib/ruby/gems/1.8/gems/rake-10.0.3/lib/rake/task.rb:152:in invoke&#39; /usr/lib/ruby/gems/1.8/gems/rake-10.0.3/lib/rake/application.rb:143:ininvoke_task'
/usr/lib/ruby/gems/1.8/gems/rake-10.0.3/lib/rake/application.rb:101:in
top_level&#39; /usr/lib/ruby/gems/1.8/gems/rake-10.0.3/lib/rake/application.rb:101:ineach'
/usr/lib/ruby/gems/1.8/gems/rake-10.0.3/lib/rake/application.rb:101:in
top_level&#39; /usr/lib/ruby/gems/1.8/gems/rake-10.0.3/lib/rake/application.rb:110:inrun_with_threads'
/usr/lib/ruby/gems/1.8/gems/rake-10.0.3/lib/rake/application.rb:95:in
top_level&#39; /usr/lib/ruby/gems/1.8/gems/rake-10.0.3/lib/rake/application.rb:73:inrun'
/usr/lib/ruby/gems/1.8/gems/rake-10.0.3/lib/rake/application.rb:160:in
standard_exception_handling&#39; /usr/lib/ruby/gems/1.8/gems/rake-10.0.3/lib/rake/application.rb:70:inrun'
/usr/lib/ruby/gems/1.8/gems/rake-10.0.3/bin/rake:33
/usr/bin/rake:19:in `load'
/usr/bin/rake:19
Tasks: TOP => puppet:rdoc:generate

Foreman is running on CentOS 6.3 and served by Apache passenger.

me@myforemanserver:/usr/local/foreman-1.1-1> puppet --version
2.7.18

me@myforemanserver:/usr/local/foreman-1.1-1/config> cat settings.yaml

··· --- # You must restart the Rack server after changing either of these values # because they are cached at startup. # :unattended: true :login: true :require_ssl: false :locations_enabled: false :organizations_enabled: false #JSONP or "JSON with padding" is a complement to the base JSON data format. #It provides a method to request JSON data from a server in a different domain. :support_jsonp: false :puppetconfdir: /etc/puppet :puppetvardir: /var/lib/puppet :document_root: /usr/local/foreman/public

My ruby is not up to par, so it may be something obvious that I’m not
familiar with. Thanks for the help.

Jason

No, I was not able to get the Foreman rake task working, but I was able to
use the rdoc directly with puppet. Heres what I'm using. Your foreman
directory path and modules path may be different than mine. Note that
"development" should be replaced by whatever your environment name is.

*puppet doc --mode rdoc --outputdir
/usr/local/foreman/public/*puppet/rdoc/development
–modulepath /etc/puppet/modules/

··· On Fri, May 3, 2013 at 2:40 AM, yi ji wrote:

I also meet the same problem, do you solve this problem?

rake puppet:rdoc:generate RAILS_ENV=production --trace

** Invoke puppet:rdoc:generate (first_time)
** Invoke environment (first_time)
** Execute environment
** Invoke puppet:rdoc:prepare (first_time)
** Invoke environment
** Execute puppet:rdoc:prepare
** Execute puppet:rdoc:generate
rake aborted!
undefined method keys' for #<Array:0x2b02c25f1c08> /usr/share/foreman/app/models/environment.rb:42:in puppetEnvs’
/usr/lib/ruby/gems/1.8/gems/activesupport-3.0.20/lib/active_support/dependencies.rb:242:in
map' /usr/share/foreman/app/models/environment.rb:41:in each’
/usr/share/foreman/app/models/environment.rb:41:in map' /usr/share/foreman/app/models/environment.rb:41:in puppetEnvs’
/usr/share/foreman/app/models/environment.rb:40:in map' /usr/share/foreman/app/models/environment.rb:40:in puppetEnvs’
/usr/share/foreman/app/models/puppetclass.rb:80:in rdoc' /usr/share/foreman/lib/tasks/puppet.rake:17 /usr/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/task.rb:205:in call’
/usr/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/task.rb:205:in execute' /usr/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/task.rb:200:in each’
/usr/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/task.rb:200:in execute' /usr/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/task.rb:158:in invoke_with_call_chain’
/usr/lib/ruby/1.8/monitor.rb:242:in synchronize' /usr/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/task.rb:151:in invoke_with_call_chain’
/usr/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/task.rb:144:in invoke' /usr/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:116:in invoke_task’
/usr/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:94:in
top_level' /usr/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:94:in each’
/usr/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:94:in
top_level' /usr/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:133:in standard_exception_handling’
/usr/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:88:in
top_level' /usr/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:66:in run’
/usr/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:133:in
standard_exception_handling' /usr/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:63:in run’
/usr/lib/ruby/gems/1.8/gems/rake-0.9.2.2/bin/rake:33
/usr/bin/rake:19:in `load’
/usr/bin/rake:19
Tasks: TOP => puppet:rdoc:generate


You received this message because you are subscribed to a topic in the
Google Groups “Foreman users” group.
To unsubscribe from this topic, visit
https://groups.google.com/d/topic/foreman-users/vjBHjTJJceE/unsubscribe?hl=en
.
To unsubscribe from this group and all its topics, send an email to
foreman-users+unsubscribe@googlegroups.com.

To post to this group, send email to foreman-users@googlegroups.com.
Visit this group at http://groups.google.com/group/foreman-users?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.