diff options
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) |