summaryrefslogtreecommitdiffstats
path: root/lib/puppet/rails
diff options
context:
space:
mode:
authorshadoi <shadoi@980ebf18-57e1-0310-9a29-db15c13687c0>2006-12-15 21:10:22 +0000
committershadoi <shadoi@980ebf18-57e1-0310-9a29-db15c13687c0>2006-12-15 21:10:22 +0000
commitf622e18eff86d7a65e47cb6fd3ac07cceb5b3ecb (patch)
tree94c98e6848e2cc419908af1993c63e08089300b3 /lib/puppet/rails
parent9ad62d24093563e947d846fa3771bcebf550b8ee (diff)
downloadpuppet-f622e18eff86d7a65e47cb6fd3ac07cceb5b3ecb.tar.gz
puppet-f622e18eff86d7a65e47cb6fd3ac07cceb5b3ecb.tar.xz
puppet-f622e18eff86d7a65e47cb6fd3ac07cceb5b3ecb.zip
Go back to restype and remove STI classes, they were more trouble than they were worth.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1940 980ebf18-57e1-0310-9a29-db15c13687c0
Diffstat (limited to 'lib/puppet/rails')
-rw-r--r--lib/puppet/rails/database/schema.rb2
-rw-r--r--lib/puppet/rails/host.rb17
-rw-r--r--lib/puppet/rails/resource.rb10
3 files changed, 6 insertions, 23 deletions
diff --git a/lib/puppet/rails/database/schema.rb b/lib/puppet/rails/database/schema.rb
index 9151bee46..609d6abdd 100644
--- a/lib/puppet/rails/database/schema.rb
+++ b/lib/puppet/rails/database/schema.rb
@@ -4,7 +4,7 @@ def self.init
ActiveRecord::Schema.define do
create_table :resources do |t|
t.column :title, :string, :null => false
- t.column :type, :string
+ t.column :restype, :string
t.column :host_id, :integer
t.column :source_file_id, :integer
t.column :exported, :boolean
diff --git a/lib/puppet/rails/host.rb b/lib/puppet/rails/host.rb
index 55b33621a..fd0642722 100644
--- a/lib/puppet/rails/host.rb
+++ b/lib/puppet/rails/host.rb
@@ -64,26 +64,15 @@ class Puppet::Rails::Host < ActiveRecord::Base
raise ArgumentError, "You must pass resources"
end
- typenames = []
- Puppet::Type.loadall
- Puppet::Type.eachtype do |type|
- typenames << type.name.to_s
- end
-
Puppet::Util.benchmark(:info, "Converted resources") do
hash[:resources].each do |resource|
resargs = resource.to_hash.stringify_keys
-
- if typenames.include?(resource.type)
- rtype = "Puppet#{resource.type.to_s.capitalize}"
- end
-
if create
- res = host.resources.find_or_create_by_type_and_title(rtype, resource[:title])
+ res = host.resources.find_or_create_by_restype_and_title(resource[:type], resource[:title])
else
- unless res = host.resources.find_by_type_and_title(rtype, resource[:title])
- res = host.resources.new(:type => rtype, :title => resource[:title])
+ unless res = host.resources.find_by_restype_and_title(resource[:type], resource[:title])
+ res = host.resources.new(:restype => resource[:type], :title => resource[:title])
host.resources << res
end
end
diff --git a/lib/puppet/rails/resource.rb b/lib/puppet/rails/resource.rb
index 68a784d9d..423b227ad 100644
--- a/lib/puppet/rails/resource.rb
+++ b/lib/puppet/rails/resource.rb
@@ -10,12 +10,6 @@ class Puppet::Rails::Resource < ActiveRecord::Base
acts_as_taggable
- Puppet::Type.loadall
- Puppet::Type.eachtype do |type|
- klass = Class.new(Puppet::Rails::Resource)
- Object.const_set("Puppet%s" % type.name.to_s.capitalize, klass)
- end
-
def parameters
hash = {}
self.param_values.find(:all).each do |pvalue|
@@ -30,14 +24,14 @@ class Puppet::Rails::Resource < ActiveRecord::Base
# from the configuration.
def to_resource(scope)
hash = self.attributes
- hash.delete("type")
+ hash["type"] = hash["restype"]
+ hash.delete("restype")
hash.delete("host_id")
hash.delete("source_file_id")
hash.delete("id")
hash.each do |p, v|
hash.delete(p) if v.nil?
end
- hash[:type] = self.class.to_s.gsub(/Puppet/,'').downcase
hash[:scope] = scope
hash[:source] = scope.source
obj = Puppet::Parser::Resource.new(hash)