timecapsule 0.1.5 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.rvmrc +5 -5
- data/.travis.yml +10 -0
- data/Gemfile +4 -2
- data/Gemfile.lock +79 -0
- data/README.rdoc +17 -4
- data/Rakefile +2 -0
- data/VERSION +1 -1
- data/gemfiles/rails2.gemfile +13 -0
- data/gemfiles/rails2_3_8.gemfile +13 -0
- data/gemfiles/rails3.gemfile +13 -0
- data/gemfiles/rails3_1.gemfile +13 -0
- data/lib/timecapsule.rb +40 -18
- data/test/helper.rb +57 -0
- data/test/test_timecapsule.rb +50 -10
- data/timecapsule.gemspec +19 -2
- metadata +82 -15
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="
|
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
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
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
|
data/.travis.yml
ADDED
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
|
-
|
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"
|
data/Gemfile.lock
CHANGED
@@ -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
|
data/README.rdoc
CHANGED
@@ -1,12 +1,25 @@
|
|
1
1
|
= timecapsule
|
2
|
-
Gem for importing and exporting ActiveRecord data.
|
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
|
-
==
|
8
|
-
*
|
9
|
-
$
|
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
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
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
|
data/lib/timecapsule.rb
CHANGED
@@ -1,15 +1,32 @@
|
|
1
1
|
class Timecapsule
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
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
|
-
|
12
|
-
|
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
|
-
|
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
|
-
|
36
|
-
|
37
|
-
@file.
|
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
|
data/test/helper.rb
CHANGED
@@ -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
|
+
|
data/test/test_timecapsule.rb
CHANGED
@@ -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
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
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
|
data/timecapsule.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "timecapsule"
|
8
|
-
s.version = "0.
|
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 = "
|
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:
|
4
|
+
hash: 23
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
|
-
- 0
|
8
7
|
- 1
|
9
|
-
-
|
10
|
-
|
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:
|
18
|
+
date: 2012-01-27 00:00:00 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|