diff options
author | shadoi <shadoi@980ebf18-57e1-0310-9a29-db15c13687c0> | 2006-12-15 21:10:22 +0000 |
---|---|---|
committer | shadoi <shadoi@980ebf18-57e1-0310-9a29-db15c13687c0> | 2006-12-15 21:10:22 +0000 |
commit | f622e18eff86d7a65e47cb6fd3ac07cceb5b3ecb (patch) | |
tree | 94c98e6848e2cc419908af1993c63e08089300b3 /lib/puppet/rails | |
parent | 9ad62d24093563e947d846fa3771bcebf550b8ee (diff) | |
download | puppet-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.rb | 2 | ||||
-rw-r--r-- | lib/puppet/rails/host.rb | 17 | ||||
-rw-r--r-- | lib/puppet/rails/resource.rb | 10 |
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) |