summaryrefslogtreecommitdiffstats
path: root/lib/puppet/rails
diff options
context:
space:
mode:
Diffstat (limited to 'lib/puppet/rails')
-rw-r--r--lib/puppet/rails/host.rb14
-rw-r--r--lib/puppet/rails/resource.rb8
2 files changed, 8 insertions, 14 deletions
diff --git a/lib/puppet/rails/host.rb b/lib/puppet/rails/host.rb
index ca1e10c93..b7ca4c2e4 100644
--- a/lib/puppet/rails/host.rb
+++ b/lib/puppet/rails/host.rb
@@ -28,7 +28,7 @@ class Puppet::Rails::Host < ActiveRecord::Base
end
# Store our host in the database.
- def self.store(hash)
+ def self.store(node, resources)
unless name = hash[:name]
raise ArgumentError, "You must specify the hostname for storage"
end
@@ -40,23 +40,19 @@ class Puppet::Rails::Host < ActiveRecord::Base
#unless host = find_by_name(name)
seconds = Benchmark.realtime {
unless host = find_by_name(name)
- host = new(:name => name)
+ host = new(:name => node.name)
end
}
Puppet.notice("Searched for host in %0.2f seconds" % seconds) if defined?(Puppet::TIME_DEBUG)
- if ip = hash[:facts]["ipaddress"]
+ if ip = node.parameters["ipaddress"]
host.ip = ip
end
# Store the facts into the database.
- host.setfacts(hash[:facts])
-
- unless hash[:resources]
- raise ArgumentError, "You must pass resources"
- end
+ host.setfacts node.parameters
seconds = Benchmark.realtime {
- host.setresources(hash[:resources])
+ host.setresources(resources)
}
Puppet.notice("Handled resources in %0.2f seconds" % seconds) if defined?(Puppet::TIME_DEBUG)
diff --git a/lib/puppet/rails/resource.rb b/lib/puppet/rails/resource.rb
index 19aeb9205..785c63419 100644
--- a/lib/puppet/rails/resource.rb
+++ b/lib/puppet/rails/resource.rb
@@ -104,16 +104,16 @@ class Puppet::Rails::Resource < ActiveRecord::Base
end
hash[:scope] = scope
hash[:source] = scope.source
- obj = Puppet::Parser::Resource.new(hash)
-
+ hash[:params] = []
names = []
self.param_names.each do |pname|
# We can get the same name multiple times because of how the
# db layout works.
next if names.include?(pname.name)
names << pname.name
- obj.set(pname.to_resourceparam(self, scope.source))
+ hash[:params] << pname.to_resourceparam(self, scope.source)
end
+ obj = Puppet::Parser::Resource.new(hash)
# Store the ID, so we can check if we're re-collecting the same resource.
obj.rails_id = self.id
@@ -121,5 +121,3 @@ class Puppet::Rails::Resource < ActiveRecord::Base
return obj
end
end
-
-# $Id$