timecapsule 0.1.5 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
data/.rvmrc CHANGED
@@ -4,7 +4,7 @@
4
4
  # development environment upon cd'ing into the directory
5
5
 
6
6
  # First we specify our desired <ruby>[@<gemset>], the @gemset name is optional.
7
- environment_id="ree-1.8.7-2011.03@timecapsule"
7
+ environment_id="1.8.7@timecapsule"
8
8
 
9
9
  #
10
10
  # Uncomment following line if you want options to be set only for given project.
@@ -47,10 +47,10 @@ fi
47
47
  # fi
48
48
 
49
49
  # If you use bundler, this might be useful to you:
50
- # if command -v bundle && [[ -s Gemfile ]]
51
- # then
52
- # bundle install
53
- # fi
50
+ if command -v bundle && [[ -s Gemfile ]]
51
+ then
52
+ bundle install
53
+ fi
54
54
 
55
55
  if [[ $- == *i* ]] # check for interactive shells
56
56
  then
@@ -0,0 +1,10 @@
1
+ language: ruby
2
+ rvm:
3
+ - 1.8.7
4
+ - 1.9.2
5
+ - ree
6
+ gemfile:
7
+ - gemfiles/rails2.gemfile
8
+ - gemfiles/rails2_3_8.gemfile
9
+ - gemfiles/rails3.gemfile
10
+ - gemfiles/rails3_1.gemfile
data/Gemfile CHANGED
@@ -1,12 +1,14 @@
1
1
  source "http://rubygems.org"
2
2
  # Add dependencies required to use your gem here.
3
3
  # Example:
4
- # gem "activerecord", ">= 2.3.5"
5
- # gem "rails", ">=2.3.5"
4
+ gem "activerecord", ">= 2.3.5"
5
+ gem 'activesupport', '>= 2.3.5'
6
+ gem "rails", ">=2.3.5"
6
7
 
7
8
  # Add dependencies to develop your gem here.
8
9
  # Include everything needed to run rake, tests, features, etc.
9
10
  group :development do
11
+ gem "sqlite3"
10
12
  gem "shoulda", ">= 0"
11
13
  gem "bundler", "~> 1.0.0"
12
14
  gem "jeweler", "~> 1.6.4"
@@ -1,24 +1,103 @@
1
1
  GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
+ actionmailer (3.1.3)
5
+ actionpack (= 3.1.3)
6
+ mail (~> 2.3.0)
7
+ actionpack (3.1.3)
8
+ activemodel (= 3.1.3)
9
+ activesupport (= 3.1.3)
10
+ builder (~> 3.0.0)
11
+ erubis (~> 2.7.0)
12
+ i18n (~> 0.6)
13
+ rack (~> 1.3.5)
14
+ rack-cache (~> 1.1)
15
+ rack-mount (~> 0.8.2)
16
+ rack-test (~> 0.6.1)
17
+ sprockets (~> 2.0.3)
18
+ activemodel (3.1.3)
19
+ activesupport (= 3.1.3)
20
+ builder (~> 3.0.0)
21
+ i18n (~> 0.6)
22
+ activerecord (3.1.3)
23
+ activemodel (= 3.1.3)
24
+ activesupport (= 3.1.3)
25
+ arel (~> 2.2.1)
26
+ tzinfo (~> 0.3.29)
27
+ activeresource (3.1.3)
28
+ activemodel (= 3.1.3)
29
+ activesupport (= 3.1.3)
30
+ activesupport (3.1.3)
31
+ multi_json (~> 1.0)
32
+ arel (2.2.1)
33
+ builder (3.0.0)
34
+ erubis (2.7.0)
4
35
  git (1.2.5)
36
+ hike (1.2.1)
37
+ i18n (0.6.0)
5
38
  jeweler (1.6.4)
6
39
  bundler (~> 1.0)
7
40
  git (>= 1.2.5)
8
41
  rake
9
42
  json (1.6.1)
43
+ mail (2.3.0)
44
+ i18n (>= 0.4.0)
45
+ mime-types (~> 1.16)
46
+ treetop (~> 1.4.8)
47
+ mime-types (1.17.2)
48
+ multi_json (1.0.4)
49
+ polyglot (0.3.3)
50
+ rack (1.3.6)
51
+ rack-cache (1.1)
52
+ rack (>= 0.4)
53
+ rack-mount (0.8.3)
54
+ rack (>= 1.0.0)
55
+ rack-ssl (1.3.2)
56
+ rack
57
+ rack-test (0.6.1)
58
+ rack (>= 1.0)
59
+ rails (3.1.3)
60
+ actionmailer (= 3.1.3)
61
+ actionpack (= 3.1.3)
62
+ activerecord (= 3.1.3)
63
+ activeresource (= 3.1.3)
64
+ activesupport (= 3.1.3)
65
+ bundler (~> 1.0)
66
+ railties (= 3.1.3)
67
+ railties (3.1.3)
68
+ actionpack (= 3.1.3)
69
+ activesupport (= 3.1.3)
70
+ rack-ssl (~> 1.3.2)
71
+ rake (>= 0.8.7)
72
+ rdoc (~> 3.4)
73
+ thor (~> 0.14.6)
10
74
  rake (0.9.2.2)
11
75
  rcov (0.9.11)
12
76
  rdoc (3.11)
13
77
  json (~> 1.4)
14
78
  shoulda (2.11.3)
79
+ sprockets (2.0.3)
80
+ hike (~> 1.2)
81
+ rack (~> 1.0)
82
+ tilt (~> 1.1, != 1.3.0)
83
+ sqlite3 (1.3.5)
84
+ thor (0.14.6)
85
+ tilt (1.3.3)
86
+ treetop (1.4.10)
87
+ polyglot
88
+ polyglot (>= 0.3.1)
89
+ tzinfo (0.3.31)
15
90
 
16
91
  PLATFORMS
17
92
  ruby
18
93
 
19
94
  DEPENDENCIES
95
+ activerecord (>= 2.3.5)
96
+ activesupport (>= 2.3.5)
20
97
  bundler (~> 1.0.0)
21
98
  jeweler (~> 1.6.4)
99
+ rails (>= 2.3.5)
22
100
  rcov
23
101
  rdoc
24
102
  shoulda
103
+ sqlite3
@@ -1,12 +1,25 @@
1
1
  = timecapsule
2
- Gem for importing and exporting ActiveRecord data. Great for creating seed data from data entered through your app's ui or the console.
2
+ Gem for importing and exporting ActiveRecord data.
3
+ Great for creating seed data from data entered through your app's ui or the console.
3
4
 
4
5
  == Install:
5
6
  $ gem install timecapsule
6
7
 
7
- == USAGE:
8
- * COMING SOON!
9
- $ TODO:
8
+ == Usage:
9
+ * Export a model from your app to a csv file. Here is an example for a User model:
10
+ $ Timecapsule.export_model(User)
11
+ * Import a model from the csv file:
12
+ $ Timecapsule.import_model(User)
13
+ * To specify a different import or export directory, besides the default db/seed,
14
+ open the automatically generated config/timecapsule.yml file and change the export directory.
15
+ * To import all the csv files in your import directory call the import method:
16
+ $ Timecapsule.import
17
+ * If the order of import matters for your models, you can specify the order at export time:
18
+ $ Timecapsule.export_model(User, 1)
19
+ Timecapsule.export_model(Post, 2)
20
+ * Remember that if you want to maintain relationships between import/export
21
+ you must reset the primary key sequence (id) for each of the tables for your models.
22
+ Or drop and re-create your database.
10
23
 
11
24
  Copyright (c) 2011-present MIT
12
25
 
data/Rakefile CHANGED
@@ -1,6 +1,8 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  require 'rubygems'
4
+ require 'thread'
5
+
4
6
  require 'bundler'
5
7
  begin
6
8
  Bundler.setup(:default, :development)
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.5
1
+ 1.0.0
@@ -0,0 +1,13 @@
1
+ source "http://rubygems.org"
2
+ gem "activerecord", "= 2.3.5"
3
+ gem 'activesupport', '= 2.3.5'
4
+ gem "rails", "= 2.3.5"
5
+
6
+ group :development do
7
+ gem "sqlite3"
8
+ gem "shoulda", ">= 0"
9
+ gem "bundler", "~> 1.0.0"
10
+ gem "jeweler", "~> 1.6.4"
11
+ gem "rcov", ">= 0"
12
+ gem "rdoc"
13
+ end
@@ -0,0 +1,13 @@
1
+ source "http://rubygems.org"
2
+ gem "activerecord", "= 2.3.8"
3
+ gem 'activesupport', '= 2.3.8'
4
+ gem "rails", "= 2.3.8"
5
+
6
+ group :development do
7
+ gem "sqlite3"
8
+ gem "shoulda", ">= 0"
9
+ gem "bundler", "~> 1.0.0"
10
+ gem "jeweler", "~> 1.6.4"
11
+ gem "rcov", ">= 0"
12
+ gem "rdoc"
13
+ end
@@ -0,0 +1,13 @@
1
+ source "http://rubygems.org"
2
+ gem "activerecord", "= 3.0.0"
3
+ gem 'activesupport', '= 3.0.0'
4
+ gem "rails", "= 3.0.0"
5
+
6
+ group :development do
7
+ gem "sqlite3"
8
+ gem "shoulda", ">= 0"
9
+ gem "bundler", "~> 1.0.0"
10
+ gem "jeweler", "~> 1.6.4"
11
+ gem "rcov", ">= 0"
12
+ gem "rdoc"
13
+ end
@@ -0,0 +1,13 @@
1
+ source "http://rubygems.org"
2
+ gem "activerecord", "= 3.1.0"
3
+ gem 'activesupport', '= 3.1.0'
4
+ gem "rails", "= 3.1.0"
5
+
6
+ group :development do
7
+ gem "sqlite3"
8
+ gem "shoulda", ">= 0"
9
+ gem "bundler", "~> 1.0.0"
10
+ gem "jeweler", "~> 1.6.4"
11
+ gem "rcov", ">= 0"
12
+ gem "rdoc"
13
+ end
@@ -1,15 +1,32 @@
1
1
  class Timecapsule
2
-
3
- config = {}
4
- config = YAML.load_file(Rails.root.join("config/timecapsule.yml")) if Rails.root && File.exists?(Rails.root.join("config/timecapsule.yml"))
5
- IMPORT_DIR = config[:import_directory] || 'db/seed_data/'
6
- EXPORT_DIR = config[:export_directory] || 'db/seed_data/'
2
+
3
+ def self.check_for_and_make_directory(path)
4
+ return true if File.exists?(path)
5
+ path = Pathname.new(path)
6
+ parent = path.parent
7
+ Timecapsule.check_for_and_make_directory(parent) unless path.parent.parent.root?
8
+ Dir.mkdir(path) unless File.exists?(path)
9
+ end
10
+
11
+ default_config = {:import_directory => Rails.root.join('db/seed_data/').to_s , :export_directory => Rails.root.join('db/seed_data/').to_s}
12
+ config_pathname = Rails.root.join("config/timecapsule.yml")
13
+ config_dir_pathname = Rails.root.join("config")
14
+ unless File.exists?(config_pathname)
15
+ Timecapsule.check_for_and_make_directory(config_dir_pathname)
16
+ config_file = File.open(config_pathname, 'w')
17
+ config_file.puts default_config.to_yaml
18
+ config_file.close
19
+ end
20
+ config = YAML.load_file(config_pathname)
21
+ IMPORT_DIR = config[:import_directory]
22
+ EXPORT_DIR = config[:export_directory]
7
23
 
8
24
  require 'csv'
9
25
 
10
- def self.import_model(model_import)
11
- puts "Importing: #{model_import} from #{IMPORT_DIR}#{model_import.to_s.pluralize.underscore}.csv"
12
- csv = CSV.read(Rails.root.join("#{IMPORT_DIR}#{model_import.to_s.pluralize.underscore}.csv"))
26
+ def self.import_model(model_import, file_name=nil)
27
+ file_name ||= Rails.root.join("#{IMPORT_DIR}$#{model_import.to_s.pluralize.underscore}.csv")
28
+ puts "Importing: #{model_import} from #{file_name}"
29
+ csv = CSV.read(file_name)
13
30
  attributes = csv.shift
14
31
  csv.each do |row|
15
32
  hash = {}
@@ -17,27 +34,33 @@ class Timecapsule
17
34
  hash[key] = row[i]
18
35
  end
19
36
  object = model_import.new(hash)
20
- object.save(false)
37
+ object.save(:validate => false)
21
38
  end
22
39
  end
23
40
 
24
41
  def self.import
25
- @csv_files = Dir.glob("#{IMPORT_DIR}*.csv")
42
+ @csv_files = Dir.glob("#{IMPORT_DIR}*.csv").sort
26
43
  @csv_files.each do |file|
27
- model_name = file.split('/').last.split('.').first.classify.constantize
44
+ if file.include?('$')
45
+ model_name = file.split('$').last.split('.').first.classify.constantize
46
+ else
47
+ model_name = file.split('/').last.split('.').first.classify.constantize
48
+ end
28
49
  if model_name.count == 0
29
- Timecapsule.import_model(model_name)
50
+ Timecapsule.import_model(model_name, file)
30
51
  end
31
52
  end
32
53
  end
33
54
 
34
- def self.export_model(model_export)
35
- puts "Exporting: #{model_export} to #{EXPORT_DIR}#{model_export.to_s.pluralize.underscore}.csv"
36
- @file = File.open("#{EXPORT_DIR}#{model_export.to_s.pluralize.underscore}.csv", "w")
37
- @file.puts model_export.first.attributes.collect{|k,v| k}.join(",")
55
+ def self.export_model(model_export, order=nil)
56
+ Timecapsule.check_for_and_make_directory(EXPORT_DIR)
57
+ puts "Exporting: #{model_export} to #{EXPORT_DIR}#{order.to_s}$#{model_export.to_s.pluralize.underscore}.csv"
58
+ @file = File.open("#{EXPORT_DIR}#{order.to_s}$#{model_export.to_s.pluralize.underscore}.csv", "w")
59
+ @file.puts model_export.column_names.sort.join(",")
38
60
  model_export.all.each do |item|
39
- @file.puts item.attributes.collect{|k,v| "#{Timecapsule.output(v)}"}.join(",")
61
+ @file.puts item.attributes.sort.collect{|k,v| "#{Timecapsule.output(v)}"}.join(",")
40
62
  end
63
+ @file.close
41
64
  end
42
65
 
43
66
  def self.output(value)
@@ -46,5 +69,4 @@ class Timecapsule
46
69
  end
47
70
  value
48
71
  end
49
-
50
72
  end
@@ -1,4 +1,9 @@
1
1
  require 'rubygems'
2
+ gem 'activerecord', '>= 2.3.5'
3
+ require 'active_record'
4
+ gem 'activesupport', '>= 2.3.5'
5
+ require 'active_support'
6
+
2
7
  require 'bundler'
3
8
  begin
4
9
  Bundler.setup(:default, :development)
@@ -12,7 +17,59 @@ require 'shoulda'
12
17
 
13
18
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
14
19
  $LOAD_PATH.unshift(File.dirname(__FILE__))
20
+
21
+ module Rails
22
+ def self.root
23
+ Pathname.new(File.expand_path(File.join(File.dirname(__FILE__), '..')))
24
+ end
25
+ end
26
+
27
+ ENV["RAILS_ENV"] = "test"
28
+ ENV["RAILS_ROOT"] = File.expand_path(File.join(File.dirname(__FILE__), '..'))
29
+
15
30
  require 'timecapsule'
16
31
 
32
+ ActiveRecord::Base.establish_connection(:adapter => "sqlite3", :database => ":memory:")
33
+
34
+ ActiveRecord::Schema.define(:version => 1) do
35
+ create_table :users do |t|
36
+ t.string :first_name
37
+ t.string :last_name
38
+ t.string :username
39
+ t.string :password
40
+ end
41
+
42
+ create_table :posts do |t|
43
+ t.string :title
44
+ t.string :body
45
+ t.integer :user_id
46
+ end
47
+ end
48
+
49
+ module ActiveRecord
50
+ class Base
51
+ def self.reset_pk_sequence
52
+ new_max = maximum(primary_key) || 0
53
+ update_seq_sql = "update sqlite_sequence set seq = #{new_max} where name = '#{table_name}';"
54
+ ActiveRecord::Base.connection.execute(update_seq_sql)
55
+ end
56
+ end
57
+ end
58
+
59
+
60
+ class User < ActiveRecord::Base
61
+ has_many :posts
62
+ end
63
+
64
+ class Post < ActiveRecord::Base
65
+ belongs_to :user
66
+ end
67
+
17
68
  class Test::Unit::TestCase
18
69
  end
70
+
71
+
72
+
73
+
74
+
75
+
@@ -1,16 +1,56 @@
1
1
  require 'helper'
2
- require 'rails'
3
-
4
- class User < ActiveRecord::Base
5
- attr_accessor :first_name, :last_name, :username, :password
6
- end
7
2
 
8
3
  class TestTimecapsule < Test::Unit::TestCase
4
+
5
+ def cleanup!
6
+ cleanup_db!
7
+ system "rm -rf #{Pathname.new(Timecapsule::EXPORT_DIR).parent}"
8
+ system "rm -rf #{Timecapsule::EXPORT_DIR}"
9
+ system "rm -rf #{Rails.root.join("config")}"
10
+ end
11
+
12
+ def cleanup_db!
13
+ User.destroy_all
14
+ Post.destroy_all
15
+ User.reset_pk_sequence
16
+ Post.reset_pk_sequence
17
+ end
18
+
9
19
  should "export a model" do
10
- flunk('FIGURE OUT HOW TO TEST THIS!!')
11
- # u = User.new
12
- # u.first_name = 'test'
13
- # Timecapsule.export_model(User)
14
- # assert_equal File.exists?("#{Timecapsule::EXPORT_DIR}#{User.to_s.pluralize.underscore}.csv"), true
20
+ Timecapsule.export_model(User)
21
+ assert_equal true, File.exists?("#{Timecapsule::EXPORT_DIR}$#{User.to_s.pluralize.underscore}.csv")
22
+ cleanup!
23
+ end
24
+
25
+ should "import a model" do
26
+ User.create!(:first_name => 'test', :last_name => 'tester')
27
+ assert_equal 1, User.count
28
+ Timecapsule.export_model(User)
29
+ cleanup_db!
30
+ assert_equal 0, User.count
31
+ Timecapsule.import_model(User)
32
+ assert_equal 1, User.count
33
+ assert_equal 'test', User.first.first_name
34
+ cleanup!
35
+ end
36
+
37
+ should "import all the models" do
38
+ u = User.create!(:first_name => 'test', :last_name => 'tester')
39
+ Post.create!(:title => 'Test Post', :body => 'I like to test my gems!', :user => u)
40
+ assert_equal User.first, Post.first.user
41
+ assert_equal 1, User.count
42
+ assert_equal 1, Post.count
43
+ Timecapsule.export_model(User, 1)
44
+ Timecapsule.export_model(Post, 2)
45
+ cleanup_db!
46
+ assert_equal 0, User.count
47
+ assert_equal 0, Post.count
48
+ Timecapsule.import
49
+ assert_equal 1, User.count
50
+ assert_equal 1, Post.count
51
+ assert_equal 'test', User.first.first_name
52
+ assert_equal 'Test Post', Post.first.title
53
+ assert_equal User.first, Post.first.user
54
+ cleanup!
15
55
  end
16
56
  end
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "timecapsule"
8
- s.version = "0.1.5"
8
+ s.version = "1.0.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Ren\303\251e De Voursney"]
12
- s.date = "2011-12-02"
12
+ s.date = "2012-01-27"
13
13
  s.description = "Great for creating seed data from data entered through your app's ui or the console"
14
14
  s.email = "renee.devoursney@gmail.com"
15
15
  s.extra_rdoc_files = [
@@ -19,12 +19,17 @@ Gem::Specification.new do |s|
19
19
  s.files = [
20
20
  ".document",
21
21
  ".rvmrc",
22
+ ".travis.yml",
22
23
  "Gemfile",
23
24
  "Gemfile.lock",
24
25
  "LICENSE.txt",
25
26
  "README.rdoc",
26
27
  "Rakefile",
27
28
  "VERSION",
29
+ "gemfiles/rails2.gemfile",
30
+ "gemfiles/rails2_3_8.gemfile",
31
+ "gemfiles/rails3.gemfile",
32
+ "gemfiles/rails3_1.gemfile",
28
33
  "lib/timecapsule.rb",
29
34
  "test/helper.rb",
30
35
  "test/test_timecapsule.rb",
@@ -40,12 +45,20 @@ Gem::Specification.new do |s|
40
45
  s.specification_version = 3
41
46
 
42
47
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
48
+ s.add_runtime_dependency(%q<activerecord>, [">= 2.3.5"])
49
+ s.add_runtime_dependency(%q<activesupport>, [">= 2.3.5"])
50
+ s.add_runtime_dependency(%q<rails>, [">= 2.3.5"])
51
+ s.add_development_dependency(%q<sqlite3>, [">= 0"])
43
52
  s.add_development_dependency(%q<shoulda>, [">= 0"])
44
53
  s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
45
54
  s.add_development_dependency(%q<jeweler>, ["~> 1.6.4"])
46
55
  s.add_development_dependency(%q<rcov>, [">= 0"])
47
56
  s.add_development_dependency(%q<rdoc>, [">= 0"])
48
57
  else
58
+ s.add_dependency(%q<activerecord>, [">= 2.3.5"])
59
+ s.add_dependency(%q<activesupport>, [">= 2.3.5"])
60
+ s.add_dependency(%q<rails>, [">= 2.3.5"])
61
+ s.add_dependency(%q<sqlite3>, [">= 0"])
49
62
  s.add_dependency(%q<shoulda>, [">= 0"])
50
63
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
51
64
  s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
@@ -53,6 +66,10 @@ Gem::Specification.new do |s|
53
66
  s.add_dependency(%q<rdoc>, [">= 0"])
54
67
  end
55
68
  else
69
+ s.add_dependency(%q<activerecord>, [">= 2.3.5"])
70
+ s.add_dependency(%q<activesupport>, [">= 2.3.5"])
71
+ s.add_dependency(%q<rails>, [">= 2.3.5"])
72
+ s.add_dependency(%q<sqlite3>, [">= 0"])
56
73
  s.add_dependency(%q<shoulda>, [">= 0"])
57
74
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
58
75
  s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: timecapsule
3
3
  version: !ruby/object:Gem::Version
4
- hash: 17
4
+ hash: 23
5
5
  prerelease:
6
6
  segments:
7
- - 0
8
7
  - 1
9
- - 5
10
- version: 0.1.5
8
+ - 0
9
+ - 0
10
+ version: 1.0.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - "Ren\xC3\xA9e De Voursney"
@@ -15,10 +15,72 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-12-02 00:00:00 Z
18
+ date: 2012-01-27 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
- version_requirements: &id001 !ruby/object:Gem::Requirement
21
+ requirement: &id001 !ruby/object:Gem::Requirement
22
+ none: false
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ hash: 9
27
+ segments:
28
+ - 2
29
+ - 3
30
+ - 5
31
+ version: 2.3.5
32
+ version_requirements: *id001
33
+ name: activerecord
34
+ prerelease: false
35
+ type: :runtime
36
+ - !ruby/object:Gem::Dependency
37
+ requirement: &id002 !ruby/object:Gem::Requirement
38
+ none: false
39
+ requirements:
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ hash: 9
43
+ segments:
44
+ - 2
45
+ - 3
46
+ - 5
47
+ version: 2.3.5
48
+ version_requirements: *id002
49
+ name: activesupport
50
+ prerelease: false
51
+ type: :runtime
52
+ - !ruby/object:Gem::Dependency
53
+ requirement: &id003 !ruby/object:Gem::Requirement
54
+ none: false
55
+ requirements:
56
+ - - ">="
57
+ - !ruby/object:Gem::Version
58
+ hash: 9
59
+ segments:
60
+ - 2
61
+ - 3
62
+ - 5
63
+ version: 2.3.5
64
+ version_requirements: *id003
65
+ name: rails
66
+ prerelease: false
67
+ type: :runtime
68
+ - !ruby/object:Gem::Dependency
69
+ requirement: &id004 !ruby/object:Gem::Requirement
70
+ none: false
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ hash: 3
75
+ segments:
76
+ - 0
77
+ version: "0"
78
+ version_requirements: *id004
79
+ name: sqlite3
80
+ prerelease: false
81
+ type: :development
82
+ - !ruby/object:Gem::Dependency
83
+ requirement: &id005 !ruby/object:Gem::Requirement
22
84
  none: false
23
85
  requirements:
24
86
  - - ">="
@@ -27,12 +89,12 @@ dependencies:
27
89
  segments:
28
90
  - 0
29
91
  version: "0"
92
+ version_requirements: *id005
30
93
  name: shoulda
31
94
  prerelease: false
32
95
  type: :development
33
- requirement: *id001
34
96
  - !ruby/object:Gem::Dependency
35
- version_requirements: &id002 !ruby/object:Gem::Requirement
97
+ requirement: &id006 !ruby/object:Gem::Requirement
36
98
  none: false
37
99
  requirements:
38
100
  - - ~>
@@ -43,12 +105,12 @@ dependencies:
43
105
  - 0
44
106
  - 0
45
107
  version: 1.0.0
108
+ version_requirements: *id006
46
109
  name: bundler
47
110
  prerelease: false
48
111
  type: :development
49
- requirement: *id002
50
112
  - !ruby/object:Gem::Dependency
51
- version_requirements: &id003 !ruby/object:Gem::Requirement
113
+ requirement: &id007 !ruby/object:Gem::Requirement
52
114
  none: false
53
115
  requirements:
54
116
  - - ~>
@@ -59,12 +121,12 @@ dependencies:
59
121
  - 6
60
122
  - 4
61
123
  version: 1.6.4
124
+ version_requirements: *id007
62
125
  name: jeweler
63
126
  prerelease: false
64
127
  type: :development
65
- requirement: *id003
66
128
  - !ruby/object:Gem::Dependency
67
- version_requirements: &id004 !ruby/object:Gem::Requirement
129
+ requirement: &id008 !ruby/object:Gem::Requirement
68
130
  none: false
69
131
  requirements:
70
132
  - - ">="
@@ -73,12 +135,12 @@ dependencies:
73
135
  segments:
74
136
  - 0
75
137
  version: "0"
138
+ version_requirements: *id008
76
139
  name: rcov
77
140
  prerelease: false
78
141
  type: :development
79
- requirement: *id004
80
142
  - !ruby/object:Gem::Dependency
81
- version_requirements: &id005 !ruby/object:Gem::Requirement
143
+ requirement: &id009 !ruby/object:Gem::Requirement
82
144
  none: false
83
145
  requirements:
84
146
  - - ">="
@@ -87,10 +149,10 @@ dependencies:
87
149
  segments:
88
150
  - 0
89
151
  version: "0"
152
+ version_requirements: *id009
90
153
  name: rdoc
91
154
  prerelease: false
92
155
  type: :development
93
- requirement: *id005
94
156
  description: Great for creating seed data from data entered through your app's ui or the console
95
157
  email: renee.devoursney@gmail.com
96
158
  executables: []
@@ -103,12 +165,17 @@ extra_rdoc_files:
103
165
  files:
104
166
  - .document
105
167
  - .rvmrc
168
+ - .travis.yml
106
169
  - Gemfile
107
170
  - Gemfile.lock
108
171
  - LICENSE.txt
109
172
  - README.rdoc
110
173
  - Rakefile
111
174
  - VERSION
175
+ - gemfiles/rails2.gemfile
176
+ - gemfiles/rails2_3_8.gemfile
177
+ - gemfiles/rails3.gemfile
178
+ - gemfiles/rails3_1.gemfile
112
179
  - lib/timecapsule.rb
113
180
  - test/helper.rb
114
181
  - test/test_timecapsule.rb