diff options
author | Blake Barnett <bdb@bdb-debvm1.stanford.edu> | 2008-02-28 22:51:20 -0800 |
---|---|---|
committer | Blake Barnett <bdb@bdb-debvm1.stanford.edu> | 2008-02-28 22:51:20 -0800 |
commit | 0139889be92add151e624710261ef6f8c0048586 (patch) | |
tree | 45da5d303790f6e9caecc9be5446e4abb7135158 /lib/puppet/rails/external | |
parent | f3db79efd6f52e1100f584f960b94327e1449291 (diff) | |
download | puppet-0139889be92add151e624710261ef6f8c0048586.tar.gz puppet-0139889be92add151e624710261ef6f8c0048586.tar.xz puppet-0139889be92add151e624710261ef6f8c0048586.zip |
* Add migration for "created_at" (hobo expects it)
* Tweaks for puppetshow interface cleanup
* Delete unused tagging lib and puppet_class model
Diffstat (limited to 'lib/puppet/rails/external')
-rw-r--r-- | lib/puppet/rails/external/tagging/README | 4 | ||||
-rw-r--r-- | lib/puppet/rails/external/tagging/acts_as_taggable.rb | 62 | ||||
-rw-r--r-- | lib/puppet/rails/external/tagging/init.rb | 5 | ||||
-rw-r--r-- | lib/puppet/rails/external/tagging/tag.rb | 50 | ||||
-rw-r--r-- | lib/puppet/rails/external/tagging/tagging.rb | 12 |
5 files changed, 0 insertions, 133 deletions
diff --git a/lib/puppet/rails/external/tagging/README b/lib/puppet/rails/external/tagging/README deleted file mode 100644 index 8d2f90822..000000000 --- a/lib/puppet/rails/external/tagging/README +++ /dev/null @@ -1,4 +0,0 @@ -Acts As Taggable -================= - -Allows for tags to be added to multiple classes.
\ No newline at end of file diff --git a/lib/puppet/rails/external/tagging/acts_as_taggable.rb b/lib/puppet/rails/external/tagging/acts_as_taggable.rb deleted file mode 100644 index 7fd7f6b12..000000000 --- a/lib/puppet/rails/external/tagging/acts_as_taggable.rb +++ /dev/null @@ -1,62 +0,0 @@ -module ActiveRecord
- module Acts #:nodoc:
- module Taggable #:nodoc:
- def self.included(base)
- base.extend(ClassMethods)
- end
-
- module ClassMethods
- def acts_as_taggable(options = {})
- write_inheritable_attribute(:acts_as_taggable_options, {
- :taggable_type => ActiveRecord::Base.send(:class_name_of_active_record_descendant, self).to_s,
- :from => options[:from]
- })
-
- class_inheritable_reader :acts_as_taggable_options
-
- has_many :taggings, :as => :taggable, :dependent => :destroy
- has_many :tags, :through => :taggings
-
- include ActiveRecord::Acts::Taggable::InstanceMethods
- extend ActiveRecord::Acts::Taggable::SingletonMethods
- end
- end
-
- module SingletonMethods
- def find_tagged_with(list)
- find_by_sql([
- "SELECT #{table_name}.* FROM #{table_name}, tags, taggings " +
- "WHERE #{table_name}.#{primary_key} = taggings.taggable_id " +
- "AND taggings.taggable_type = ? " +
- "AND taggings.tag_id = tags.id AND tags.name IN (?)",
- acts_as_taggable_options[:taggable_type], list
- ])
- end
- def tags(options = {})
- options.merge!(:taggable_type => self.to_s)
- Tag.tags(options)
- end
- end
-
- module InstanceMethods
- def tag_with(list)
- Tag.transaction do
- taggings.destroy_all
-
- Tag.parse(list).each do |name|
- if acts_as_taggable_options[:from]
- send(acts_as_taggable_options[:from]).tags.find_or_create_by_name(name).on(self)
- else
- Tag.find_or_create_by_name(name).on(self)
- end
- end
- end
- end
-
- def tag_list
- tags.collect { |tag| tag.name.include?(" ") ? "'#{tag.name}'" : tag.name }.join(" ")
- end
- end
- end
- end
-end
diff --git a/lib/puppet/rails/external/tagging/init.rb b/lib/puppet/rails/external/tagging/init.rb deleted file mode 100644 index 5069d8040..000000000 --- a/lib/puppet/rails/external/tagging/init.rb +++ /dev/null @@ -1,5 +0,0 @@ -require 'puppet/rails/external/tagging/acts_as_taggable' -ActiveRecord::Base.send(:include, ActiveRecord::Acts::Taggable) - -require 'puppet/rails/external/tagging/tagging' -require 'puppet/rails/external/tagging/tag' diff --git a/lib/puppet/rails/external/tagging/tag.rb b/lib/puppet/rails/external/tagging/tag.rb deleted file mode 100644 index c6bf4ca78..000000000 --- a/lib/puppet/rails/external/tagging/tag.rb +++ /dev/null @@ -1,50 +0,0 @@ -class Tag < ActiveRecord::Base - has_many :taggings - - def self.tags(options = {}) - query = "select tags.id, name, count(*) as count" - query << " from taggings, tags" - query << " where tags.id = tag_id" - query << " group by tag_id" - query << " order by #{options[:order]}" if options[:order] != nil - query << " limit #{options[:limit]}" if options[:limit] != nil - tags = Tag.find_by_sql(query) - end - - def self.parse(list) - tag_names = [] - - # first, pull out the quoted tags - list.gsub!(/\"(.*?)\"\s*/ ) { tag_names << $1; "" } - - # then, replace all commas with a space - list.gsub!(/,/, " ") - - # then, get whatever's left - tag_names.concat list.split(/\s/) - - # strip whitespace from the names - tag_names = tag_names.map { |t| t.strip } - - # delete any blank tag names - tag_names = tag_names.delete_if { |t| t.empty? } - - return tag_names - end - - def tagged - @tagged ||= taggings.collect { |tagging| tagging.taggable } - end - - def on(taggable) - taggings.build :taggable => taggable - end - - def ==(comparison_object) - super || name == comparison_object.to_s - end - - def to_s - name - end -end diff --git a/lib/puppet/rails/external/tagging/tagging.rb b/lib/puppet/rails/external/tagging/tagging.rb deleted file mode 100644 index e06e88a14..000000000 --- a/lib/puppet/rails/external/tagging/tagging.rb +++ /dev/null @@ -1,12 +0,0 @@ -class Tagging < ActiveRecord::Base - belongs_to :tag - belongs_to :taggable, :polymorphic => true - - def self.tagged_class(taggable) - ActiveRecord::Base.send(:class_name_of_active_record_descendant, taggable.class).to_s - end - - def self.find_taggable(tagged_class, tagged_id) - tagged_class.constantize.find(tagged_id) - end -end
\ No newline at end of file |