aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/plugins')
-rw-r--r--vendor/plugins/annotate_models/ChangeLog46
-rw-r--r--vendor/plugins/annotate_models/README31
-rw-r--r--vendor/plugins/annotate_models/lib/annotate_models.rb127
-rw-r--r--vendor/plugins/annotate_models/tasks/annotate_models_tasks.rake6
4 files changed, 0 insertions, 210 deletions
diff --git a/vendor/plugins/annotate_models/ChangeLog b/vendor/plugins/annotate_models/ChangeLog
deleted file mode 100644
index e6630a87c..000000000
--- a/vendor/plugins/annotate_models/ChangeLog
+++ /dev/null
@@ -1,46 +0,0 @@
-2007-03-05: Dave Thomas <dave@pragprog.com>
- * Forgot to call the quote method
-
-2007-03-02: Dave Thomas <dave@pragprog.com>
- * Allow non-printing characters in column defaults (suggested by Ben Booth)
-
-2007-02-28: Dave Thomas <dave@pragprog.com>
- * Report errors loading model classes better. Change suggested by Niels Knacke
-
-2007-02-22: Dave Thomas <dave@pragprog.com>
-* Ignore models with no underlying database table (based on patch from Jamie van Dyke)
-* Handle case where database has no session_info table (patch by David Vrensk)
-
-
-2006-07-13: Dave Thomas <dave@pragprog.com>
- * Support :scale for decimal columns
-
-2006-07-13: Wes Gamble
- * Don't annotate abstract models
-
-2006-06-13: Dave Thomas <dave@pragprog.com>
- * Fix bug where we corrupted the PREFIX string and therefore duplicated
- the header
- * No longer include the datetime, so we don't trigger a commit
- back into repos
-
- -- NOTE -- just this once, you'll get a duplicate header after you run
- a_m on an already-annotated model. Sorry.... Dave
-
-
-
-2006-06-11 Dave Thomas <dave@pragprog.com>
- * lib/annotate_models.rb: At Kian Wright's suggestion, document the table
- name and primary key. Also make the timestamp prettier
-
-2006-04-17 Dave Thomas <dave@pragprog.com>
-
- * lib/annnotate_models.rb: Include Bruce William's patch to allow
- models in subdirectories
-
-2006-03-11 Dave Thomas <dave@pragprog.com>
-
- * lib/annotate_models.rb: Use camelize, not classify, to construct
- class names (Grant Hollingworth)
-
-3/3/06 Now annotates fixture files too (thanks to Josha Susser)
diff --git a/vendor/plugins/annotate_models/README b/vendor/plugins/annotate_models/README
deleted file mode 100644
index f1f1dff55..000000000
--- a/vendor/plugins/annotate_models/README
+++ /dev/null
@@ -1,31 +0,0 @@
-AnnotateSchema
-==============
-
-Add a comment summarizing the current schema to the top
-of each ActiveRecord model source file:
-
- # Schema as of Sun Feb 26 21:58:32 CST 2006 (schema version 7)
- #
- # id :integer(11) not null
- # quantity :integer(11)
- # product_id :integer(11)
- # unit_price :float
- # order_id :integer(11)
- #
-
- class LineItem < ActiveRecord::Base belongs_to :product
-
- . . .
-
-Note that this code will blow away the initial comment block in your models if it looks ike it was
-previously added by annotate models, so you don't want to add additional text to an automatically
-created comment block.
-
-Author:
- Dave Thomas
- Pragmatic Programmers, LLC
-
-Released under the same license as Ruby. No Support. No Warranty.
-
-Back up your model files before using...
-
diff --git a/vendor/plugins/annotate_models/lib/annotate_models.rb b/vendor/plugins/annotate_models/lib/annotate_models.rb
deleted file mode 100644
index 8af7be116..000000000
--- a/vendor/plugins/annotate_models/lib/annotate_models.rb
+++ /dev/null
@@ -1,127 +0,0 @@
-require "config/environment"
-
-MODEL_DIR = File.join(RAILS_ROOT, "app/models")
-FIXTURE_DIR = File.join(RAILS_ROOT, "test/fixtures")
-
-module AnnotateModels
-
- PREFIX = "== Schema Information"
-
- # Simple quoting for the default column value
- def self.quote(value)
- case value
- when NilClass then "null"
- when TrueClass then "true"
- when FalseClass then "false"
- when Float, Fixnum, Bignum then value.to_s
- # BigDecimals need to be output in a non-normalized form and quoted.
- when BigDecimal then value.to_s('F')
- else
- value.inspect
- end
- end
-
- # Use the column information in an ActiveRecord class
- # to create a comment block containing a line for
- # each column. The line contains the column name,
- # the type (and length), and any optional attributes
- def self.get_schema_info(klass, header)
- info = "# #{header}\n#\n"
- info << "# Table name: #{klass.table_name}\n#\n"
-
- max_size = klass.column_names.collect{|name| name.size}.max + 1
- klass.columns.each do |col|
- attrs = []
- attrs << "default(#{quote(col.default)})" if !col.default.nil?
- attrs << "not null" unless col.null
- attrs << "primary key" if col.name == klass.primary_key
-
- col_type = col.type.to_s
- if col_type == "decimal"
- col_type << "(#{col.precision}, #{col.scale})"
- else
- col_type << "(#{col.limit})" if col.limit
- end
- info << sprintf("# %-#{max_size}.#{max_size}s:%-15.15s %s\n", col.name, col_type, attrs.join(", "))
- end
-
- info << "#\n\n"
- end
-
- # Add a schema block to a file. If the file already contains
- # a schema info block (a comment starting
- # with "Schema as of ..."), remove it first.
-
- def self.annotate_one_file(file_name, info_block)
- if File.exist?(file_name)
- content = File.read(file_name)
-
- # Remove old schema info
- content.sub!(/^# #{PREFIX}.*?\n(#.*\n)*\n/, '')
-
- # Write it back
- File.open(file_name, "w") { |f| f.puts info_block + content }
- end
- end
-
- # Given the name of an ActiveRecord class, create a schema
- # info block (basically a comment containing information
- # on the columns and their types) and put it at the front
- # of the model and fixture source files.
-
- def self.annotate(klass, header)
- info = get_schema_info(klass, header)
-
- model_file_name = File.join(MODEL_DIR, klass.name.underscore + ".rb")
- annotate_one_file(model_file_name, info)
-
- fixture_file_name = File.join(FIXTURE_DIR, klass.table_name + ".yml")
- annotate_one_file(fixture_file_name, info)
- end
-
- # Return a list of the model files to annotate. If we have
- # command line arguments, they're assumed to be either
- # the underscore or CamelCase versions of model names.
- # Otherwise we take all the model files in the
- # app/models directory.
- def self.get_model_names
- models = ARGV.dup
- models.shift
-
- if models.empty?
- Dir.chdir(MODEL_DIR) do
- models = Dir["**/*.rb"]
- end
- end
- models
- end
-
- # We're passed a name of things that might be
- # ActiveRecord models. If we can find the class, and
- # if its a subclass of ActiveRecord::Base,
- # then pas it to the associated block
-
- def self.do_annotations
- header = PREFIX.dup
- version = ActiveRecord::Migrator.current_version rescue 0
- if version > 0
- header << "\n# Schema version: #{version}"
- end
-
- self.get_model_names.each do |m|
- class_name = m.sub(/\.rb$/,'').camelize
- begin
- klass = class_name.split('::').inject(Object){ |klass,part| klass.const_get(part) }
- if klass < ActiveRecord::Base && !klass.abstract_class?
- puts "Annotating #{class_name}"
- self.annotate(klass, header)
- else
- puts "Skipping #{class_name}"
- end
- rescue Exception => e
- puts "Unable to annotate #{class_name}: #{e.message}"
- end
-
- end
- end
-end
diff --git a/vendor/plugins/annotate_models/tasks/annotate_models_tasks.rake b/vendor/plugins/annotate_models/tasks/annotate_models_tasks.rake
deleted file mode 100644
index 0faee208a..000000000
--- a/vendor/plugins/annotate_models/tasks/annotate_models_tasks.rake
+++ /dev/null
@@ -1,6 +0,0 @@
-desc "Add schema information (as comments) to model files"
-
-task :annotate_models do
- require File.join(File.dirname(__FILE__), "../lib/annotate_models.rb")
- AnnotateModels.do_annotations
-end \ No newline at end of file