From 66d713fc8f62e270ac21f6c413d6527fbf30dc52 Mon Sep 17 00:00:00 2001
From: Joshua Peek <josh@joshpeek.com>
Date: Mon, 31 Aug 2009 19:09:16 -0500
Subject: License, version, and gemspec for ActiveModel. Ship it!

---
 activemodel/MIT-LICENSE                 | 21 +++++++++++++++
 activemodel/Rakefile                    | 46 ++++++++++++++++++++++++++++++---
 activemodel/lib/active_model.rb         |  1 +
 activemodel/lib/active_model/version.rb |  9 +++++++
 4 files changed, 74 insertions(+), 3 deletions(-)
 create mode 100644 activemodel/MIT-LICENSE
 create mode 100644 activemodel/lib/active_model/version.rb

(limited to 'activemodel')

diff --git a/activemodel/MIT-LICENSE b/activemodel/MIT-LICENSE
new file mode 100644
index 0000000000..e7accc5ea1
--- /dev/null
+++ b/activemodel/MIT-LICENSE
@@ -0,0 +1,21 @@
+Copyright (c) 2004-2009 David Heinemeier Hansson
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
diff --git a/activemodel/Rakefile b/activemodel/Rakefile
index ae2fbdb002..14653a71c6 100755
--- a/activemodel/Rakefile
+++ b/activemodel/Rakefile
@@ -1,7 +1,13 @@
-#!/usr/bin/env ruby
-require 'rake'
+require File.join(File.dirname(__FILE__), 'lib', 'active_model', 'version')
+
+PKG_BUILD     = ENV['PKG_BUILD'] ? '.' + ENV['PKG_BUILD'] : ''
+PKG_NAME      = 'activemodel'
+PKG_VERSION   = ActiveModel::VERSION::STRING + PKG_BUILD
+PKG_FILE_NAME = "#{PKG_NAME}-#{PKG_VERSION}"
+RELEASE_NAME  = "REL #{PKG_VERSION}"
+
+
 require 'rake/testtask'
-require 'rake/rdoctask'
 
 task :default => :test
 
@@ -10,6 +16,7 @@ Rake::TestTask.new do |t|
   t.test_files = Dir.glob("test/cases/**/*_test.rb").sort
   t.verbose = true
 end
+
 task :isolated_test do
   ruby = File.join(*RbConfig::CONFIG.values_at('bindir', 'RUBY_INSTALL_NAME'))
   Dir.glob("test/**/*_test.rb").all? do |file|
@@ -17,6 +24,9 @@ task :isolated_test do
   end or raise "Failures"
 end
 
+
+require 'rake/rdoctask'
+
 # Generate the RDoc documentation
 Rake::RDocTask.new do |rdoc|
   rdoc.rdoc_dir = 'doc'
@@ -27,3 +37,33 @@ Rake::RDocTask.new do |rdoc|
   rdoc.rdoc_files.include('README', 'CHANGES')
   rdoc.rdoc_files.include('lib/**/*.rb')
 end
+
+
+require 'rake/packagetask'
+require 'rake/gempackagetask'
+
+spec = Gem::Specification.new do |s|
+  s.platform = Gem::Platform::RUBY
+  s.name = PKG_NAME
+  s.version = PKG_VERSION
+  s.summary = "A toolkit for building other modeling frameworks like ActiveRecord"
+  s.description = %q{Extracts common modeling concerns from ActiveRecord to share between similar frameworks like ActiveResource.}
+
+  s.author = "David Heinemeier Hansson"
+  s.email = "david@loudthinking.com"
+  s.rubyforge_project = "activemodel"
+  s.homepage = "http://www.rubyonrails.org"
+
+  s.has_rdoc = true
+
+  s.add_dependency('activesupport', '= 3.0.pre' + PKG_BUILD)
+
+  s.require_path = 'lib'
+  s.files = Dir["CHANGELOG", "MIT-LICENSE", "README", "Rakefile", "lib/**/*", "test/**/*"]
+end
+  
+Rake::GemPackageTask.new(spec) do |p|
+  p.gem_spec = spec
+  p.need_tar = true
+  p.need_zip = true
+end
diff --git a/activemodel/lib/active_model.rb b/activemodel/lib/active_model.rb
index 5bb931be7f..67f529262d 100644
--- a/activemodel/lib/active_model.rb
+++ b/activemodel/lib/active_model.rb
@@ -41,6 +41,7 @@ module ActiveModel
   autoload :TestCase, 'active_model/test_case'
   autoload :Validations, 'active_model/validations'
   autoload :ValidationsRepairHelper, 'active_model/validations_repair_helper'
+  autoload :VERSION, 'active_model/version'
 
   module Serializers
     autoload :JSON, 'active_model/serializers/json'
diff --git a/activemodel/lib/active_model/version.rb b/activemodel/lib/active_model/version.rb
new file mode 100644
index 0000000000..0c233b7b4f
--- /dev/null
+++ b/activemodel/lib/active_model/version.rb
@@ -0,0 +1,9 @@
+module ActiveModel
+  module VERSION #:nodoc:
+    MAJOR = 3
+    MINOR = 0
+    TINY  = "pre"
+
+    STRING = [MAJOR, MINOR, TINY].join('.')
+  end
+end
-- 
cgit v1.2.3