Skip to content

Instantly share code, notes, and snippets.

@fatmcgav
Created March 5, 2015 17:03
Show Gist options
  • Save fatmcgav/705d98e6bb9eee9a3d2e to your computer and use it in GitHub Desktop.
Save fatmcgav/705d98e6bb9eee9a3d2e to your computer and use it in GitHub Desktop.
Dynamic Type autorequire
self.catalog.resources.select { |res|
next if res.type == :domain # Skip domain resources, as autorequired above...
next if res.type == :user # Skip user resources, as autorequired above...
next if res.type == :resourceref # Skip resourceref resources, as that's us...
# Match on resource name...
debug("Res = #{res[:name]}, type = #{res.type}. Self = #{self[:name]}.")
debug("Match = #{res[:name] == self[:name]}.")
res if res[:name] == self[:name]
}.collect { |res|
debug("Collected resource: #{res[:name]}.")
autorequire(res.type) do
debug("Requiring res.type #{res.type}")
res[:name]
end
}
/home/card.co.uk/gavinw/Puppet/module-dev/glassfish/lib/puppet/type/resourceref.rb:100:in `block in <top (required)>': Could not autoload puppet/type/resourceref: undefined method `catalog' for Puppet::Type::Resourceref:Class (Puppet::Error)
from /home/card.co.uk/gavinw/.rvm/gems/ruby-1.9.3-p550@glassfish/gems/puppet-3.6.2/lib/puppet/util/classgen.rb:136:in `class_eval'
from /home/card.co.uk/gavinw/.rvm/gems/ruby-1.9.3-p550@glassfish/gems/puppet-3.6.2/lib/puppet/util/classgen.rb:136:in `genthing'
from /home/card.co.uk/gavinw/.rvm/gems/ruby-1.9.3-p550@glassfish/gems/puppet-3.6.2/lib/puppet/util/classgen.rb:36:in `genclass'
from /home/card.co.uk/gavinw/.rvm/gems/ruby-1.9.3-p550@glassfish/gems/puppet-3.6.2/lib/puppet/metatype/manager.rb:100:in `newtype'
from /home/card.co.uk/gavinw/Puppet/module-dev/glassfish/lib/puppet/type/resourceref.rb:1:in `<top (required)>'
from /home/card.co.uk/gavinw/.rvm/gems/ruby-1.9.3-p550@glassfish/gems/puppet-3.6.2/lib/puppet/util/autoload.rb:62:in `load'
from /home/card.co.uk/gavinw/.rvm/gems/ruby-1.9.3-p550@glassfish/gems/puppet-3.6.2/lib/puppet/util/autoload.rb:62:in `load_file'
from /home/card.co.uk/gavinw/.rvm/gems/ruby-1.9.3-p550@glassfish/gems/puppet-3.6.2/lib/puppet/util/autoload.rb:195:in `load'
from /home/card.co.uk/gavinw/.rvm/gems/ruby-1.9.3-p550@glassfish/gems/puppet-3.6.2/lib/puppet/metatype/manager.rb:163:in `type'
from /home/card.co.uk/gavinw/Puppet/module-dev/glassfish/spec/unit/puppet/type/resourceref_spec.rb:3:in `<top (required)>'
from /home/card.co.uk/gavinw/dotfiles/rvm/gems/ruby-1.9.3-p550@glassfish/gems/rspec-core-2.99.2/lib/rspec/core/configuration.rb:1065:in `load'
from /home/card.co.uk/gavinw/dotfiles/rvm/gems/ruby-1.9.3-p550@glassfish/gems/rspec-core-2.99.2/lib/rspec/core/configuration.rb:1065:in `block in load_spec_files'
from /home/card.co.uk/gavinw/dotfiles/rvm/gems/ruby-1.9.3-p550@glassfish/gems/rspec-core-2.99.2/lib/rspec/core/configuration.rb:1065:in `each'
from /home/card.co.uk/gavinw/dotfiles/rvm/gems/ruby-1.9.3-p550@glassfish/gems/rspec-core-2.99.2/lib/rspec/core/configuration.rb:1065:in `load_spec_files'
from /home/card.co.uk/gavinw/dotfiles/rvm/gems/ruby-1.9.3-p550@glassfish/gems/rspec-core-2.99.2/lib/rspec/core/command_line.rb:18:in `run'
from /home/card.co.uk/gavinw/dotfiles/rvm/gems/ruby-1.9.3-p550@glassfish/gems/rspec-core-2.99.2/lib/rspec/core/runner.rb:103:in `run'
from /home/card.co.uk/gavinw/dotfiles/rvm/gems/ruby-1.9.3-p550@glassfish/gems/rspec-core-2.99.2/lib/rspec/core/runner.rb:17:in `block in autorun'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment