summaryrefslogtreecommitdiffstats
path: root/lib/puppet/rails
diff options
context:
space:
mode:
authorluke <luke@980ebf18-57e1-0310-9a29-db15c13687c0>2006-05-13 21:34:22 +0000
committerluke <luke@980ebf18-57e1-0310-9a29-db15c13687c0>2006-05-13 21:34:22 +0000
commit22e70f069cec86f94e17774c9c2b84b1bb9cda6c (patch)
tree23848807bd8e719ca6e0029d06eb6c542162d64d /lib/puppet/rails
parent637cc71296f96fd1d5f2ca83aa7e20c73757f8dd (diff)
downloadpuppet-22e70f069cec86f94e17774c9c2b84b1bb9cda6c.tar.gz
puppet-22e70f069cec86f94e17774c9c2b84b1bb9cda6c.tar.xz
puppet-22e70f069cec86f94e17774c9c2b84b1bb9cda6c.zip
Made a *huge* performance difference in storing hosts -- down from about 25 seconds per host to about 5 seconds on my machine. I will almost definitely still use forking or something to make this not affect the clients
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1191 980ebf18-57e1-0310-9a29-db15c13687c0
Diffstat (limited to 'lib/puppet/rails')
-rw-r--r--lib/puppet/rails/host.rb15
-rw-r--r--lib/puppet/rails/rails_object.rb6
2 files changed, 10 insertions, 11 deletions
diff --git a/lib/puppet/rails/host.rb b/lib/puppet/rails/host.rb
index 65be5294b..ace906117 100644
--- a/lib/puppet/rails/host.rb
+++ b/lib/puppet/rails/host.rb
@@ -1,6 +1,6 @@
require 'puppet/rails/rails_object'
-RailsObject = Puppet::Rails::RailsObject
+#RailsObject = Puppet::Rails::RailsObject
class Puppet::Rails::Host < ActiveRecord::Base
Host = self
serialize :facts, Hash
@@ -45,11 +45,13 @@ class Puppet::Rails::Host < ActiveRecord::Base
host[param] = hostargs[param]
end
end
+ host.addobjects(objects)
else
- host = Host.new(hostargs)
+ host = Host.new(hostargs) do |hostobj|
+ hostobj.addobjects(objects)
+ end
end
- host.addobjects(objects)
host.save
@@ -69,15 +71,12 @@ class Puppet::Rails::Host < ActiveRecord::Base
end
end
- robj = RailsObject.new(args)
+ robj = rails_objects.build(args)
+ robj.addparams(params)
if tobj.collectable
robj.toggle(:collectable)
end
-
- self.rails_objects << robj
-
- robj.addparams(params)
end
end
end
diff --git a/lib/puppet/rails/rails_object.rb b/lib/puppet/rails/rails_object.rb
index 22d37fca0..1b725c984 100644
--- a/lib/puppet/rails/rails_object.rb
+++ b/lib/puppet/rails/rails_object.rb
@@ -1,7 +1,7 @@
require 'puppet'
require 'puppet/rails/rails_parameter'
-RailsParameter = Puppet::Rails::RailsParameter
+#RailsParameter = Puppet::Rails::RailsParameter
class Puppet::Rails::RailsObject < ActiveRecord::Base
has_many :rails_parameters, :dependent => :delete_all
serialize :tags, Array
@@ -11,12 +11,12 @@ class Puppet::Rails::RailsObject < ActiveRecord::Base
# Add a set of parameters.
def addparams(params)
params.each do |pname, pvalue|
- pobj = RailsParameter.new(
+ rails_parameters.build(
:name => pname,
:value => pvalue
)
- self.rails_parameters << pobj
+ #self.rails_parameters << pobj
end
end