turntables 1.0.1
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.
- checksums.yaml +7 -0
- data/.document +3 -0
- data/.gitignore +6 -0
- data/.rspec +1 -0
- data/.travis.yml +6 -0
- data/.yardopts +1 -0
- data/ChangeLog.rdoc +10 -0
- data/Gemfile +3 -0
- data/LICENSE.txt +20 -0
- data/README.rdoc +141 -0
- data/Rakefile +33 -0
- data/bin/turntables +12 -0
- data/lib/turntables/constants/repository_constants.rb +6 -0
- data/lib/turntables/db_registry.rb +83 -0
- data/lib/turntables/repository.rb +148 -0
- data/lib/turntables/sql_modules/db_registry_sql.rb +7 -0
- data/lib/turntables/sql_modules/version_history_sql.rb +30 -0
- data/lib/turntables/transaction.rb +39 -0
- data/lib/turntables/turntable.rb +40 -0
- data/lib/turntables/turntable_exception.rb +7 -0
- data/lib/turntables/version.rb +4 -0
- data/lib/turntables/version_history.rb +90 -0
- data/lib/turntables.rb +2 -0
- data/spec/data/locations/.gitkeep +0 -0
- data/spec/data/locations/herp.db +0 -0
- data/spec/data/locations/loc1/.gitkeep +0 -0
- data/spec/data/malformed-dir/malformed.txt +1 -0
- data/spec/data/sql-just-monolithic/mono/1.sql +6 -0
- data/spec/data/sql-just-monolithic/seq/.gitkeep +0 -0
- data/spec/data/sql-just-sequential/mono/.gitkeep +0 -0
- data/spec/data/sql-just-sequential/seq/1.sql +6 -0
- data/spec/data/sql-just-sequential/seq/2.sql +7 -0
- data/spec/data/sql-just-sequential/seq/3.sql +9 -0
- data/spec/data/sql-seq-and-mono/mono/3.sql +24 -0
- data/spec/data/sql-seq-and-mono/seq/1.sql +6 -0
- data/spec/data/sql-seq-and-mono/seq/2.sql +7 -0
- data/spec/data/sql-seq-and-mono/seq/3.sql +9 -0
- data/spec/db_registry_sql_spec.rb +9 -0
- data/spec/repository_constants_spec.rb +13 -0
- data/spec/repository_spec.rb +39 -0
- data/spec/spec_helper.rb +4 -0
- data/spec/turntable_exception_spec.rb +16 -0
- data/spec/turntable_spec.rb +71 -0
- data/spec/turntables_spec.rb +8 -0
- data/spec/version_history_spec.rb +55 -0
- data/spec/version_history_sql_spec.rb +31 -0
- data/turntables.gemspec +26 -0
- metadata +184 -0
@@ -0,0 +1,90 @@
|
|
1
|
+
require 'turntables/db_registry'
|
2
|
+
require 'turntables/sql_modules/version_history_sql'
|
3
|
+
|
4
|
+
module Turntables
|
5
|
+
# @author Simon Symeonidis
|
6
|
+
# This class is responsiblef for checking what version the current system is
|
7
|
+
# that is using this library, and what is the maximum version available in the
|
8
|
+
# repository. Naturally it follows that if in the repository the version is
|
9
|
+
# greater than the one on the system currently, The updated must be triggered
|
10
|
+
# to be done.
|
11
|
+
# For now this is a halfly implemented active record, since this library is
|
12
|
+
# lightweight and small (therefore not too many components are needed yet).
|
13
|
+
class VersionHistory
|
14
|
+
include VersionHistorySql
|
15
|
+
|
16
|
+
# Create the version history object by giving version number and comment.
|
17
|
+
# The date can be omitted, and it will be set to the current time of the
|
18
|
+
# local system.
|
19
|
+
# @param version is the version of the transaction that was performed
|
20
|
+
# @param comment was any comments included in the sql file
|
21
|
+
# @param date is the optional date, set to the local time if unspecified
|
22
|
+
def initialize(version,comment,date=Time.now.to_i)
|
23
|
+
@version = version
|
24
|
+
@comment = comment
|
25
|
+
@date = date
|
26
|
+
end
|
27
|
+
|
28
|
+
# Check if the required database exists. Check to see if the database has
|
29
|
+
# the version_histories table as well.
|
30
|
+
def self.check
|
31
|
+
if DbRegistry.instance.table_exists? TableName
|
32
|
+
return VersionHistory.find_last
|
33
|
+
else # db does not exist
|
34
|
+
return :fresh
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
# Get all the stored version histories
|
39
|
+
def self.find_all
|
40
|
+
vhs = Array.new
|
41
|
+
DbRegistry.instance.execute(SelectAll).each do |row|
|
42
|
+
vhs.push VersionHistory.to_version_history(row)
|
43
|
+
end
|
44
|
+
vhs
|
45
|
+
end
|
46
|
+
|
47
|
+
# Find the last version history added by checking the max id
|
48
|
+
# @return VersionHistory object or nil
|
49
|
+
def self.find_last
|
50
|
+
ret = DbRegistry.instance.execute(SelectLast)
|
51
|
+
VersionHistory.to_version_history(ret.first)
|
52
|
+
end
|
53
|
+
|
54
|
+
# Find a version history record by id
|
55
|
+
# @return VersionHistory object or nil
|
56
|
+
def self.find(id)
|
57
|
+
ret = DbRegistry.instance.execute(SelectById, id)
|
58
|
+
VersionHistory.to_version_history(ret.first)
|
59
|
+
end
|
60
|
+
|
61
|
+
# Insert a row into the table for version histories
|
62
|
+
# @return insert result
|
63
|
+
def self.insert(vhistory)
|
64
|
+
DbRegistry.instance.execute(Insert, vhistory.version,
|
65
|
+
vhistory.date, vhistory.comment)
|
66
|
+
end
|
67
|
+
|
68
|
+
# Create the table of this model
|
69
|
+
# @return nil
|
70
|
+
def self.pull_up!
|
71
|
+
DbRegistry.instance.execute(Create)
|
72
|
+
end
|
73
|
+
|
74
|
+
# Make an array representing the persisted object, into an object in memory
|
75
|
+
# @param record an array containing the elements to construct a version history
|
76
|
+
# @return a VersionHistory object constructed from the records
|
77
|
+
def self.to_version_history(record)
|
78
|
+
vh = VersionHistory.new(record[1], record[2], record[3])
|
79
|
+
vh.id = record[0]
|
80
|
+
vh
|
81
|
+
end
|
82
|
+
|
83
|
+
attr_accessor :id
|
84
|
+
attr_accessor :version
|
85
|
+
attr_accessor :date
|
86
|
+
attr_accessor :comment
|
87
|
+
|
88
|
+
end
|
89
|
+
end
|
90
|
+
|
data/lib/turntables.rb
ADDED
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1 @@
|
|
1
|
+
malformed dir to make sure safe execution of turntables
|
File without changes
|
File without changes
|
@@ -0,0 +1,24 @@
|
|
1
|
+
--$ the other files should be ignored, and this should be the only one that is
|
2
|
+
--$ executed
|
3
|
+
|
4
|
+
create table accounts (
|
5
|
+
id integer primary key autoincrement,
|
6
|
+
balance float,
|
7
|
+
name text
|
8
|
+
);
|
9
|
+
|
10
|
+
create table users (
|
11
|
+
id integer primary key autoincrement,
|
12
|
+
name text,
|
13
|
+
email text,
|
14
|
+
bio text
|
15
|
+
);
|
16
|
+
|
17
|
+
create table randomness (
|
18
|
+
id integer primary key autoincrement,
|
19
|
+
name text,
|
20
|
+
surname text,
|
21
|
+
weight float,
|
22
|
+
is_superhero boolean
|
23
|
+
);
|
24
|
+
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'turntables/constants/repository_constants'
|
2
|
+
|
3
|
+
include Turntables
|
4
|
+
|
5
|
+
describe RepositoryConstants do
|
6
|
+
it "Should have SeqDir constant" do
|
7
|
+
subject.const_get('SeqDir').should_not be_empty
|
8
|
+
end
|
9
|
+
|
10
|
+
it "Should have MonoDir constant" do
|
11
|
+
subject.const_get('MonoDir').should_not be_empty
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
require 'turntables/repository'
|
2
|
+
|
3
|
+
include Turntables
|
4
|
+
|
5
|
+
describe Repository do
|
6
|
+
|
7
|
+
before :each do
|
8
|
+
@repo = Repository.new
|
9
|
+
end
|
10
|
+
|
11
|
+
it "#new should return Repository Object" do
|
12
|
+
@repo.should be_instance_of Repository
|
13
|
+
end
|
14
|
+
|
15
|
+
it "Should have a method called register" do
|
16
|
+
@repo.should respond_to(:register)
|
17
|
+
end
|
18
|
+
|
19
|
+
it "Should have a method called make!" do
|
20
|
+
@repo.should respond_to(:make!)
|
21
|
+
end
|
22
|
+
|
23
|
+
it "Should have an attribute called sequential_dir" do
|
24
|
+
@repo.should respond_to(:sequential_dir)
|
25
|
+
end
|
26
|
+
|
27
|
+
it "Should have an attribute called monolithic_dir" do
|
28
|
+
@repo.should respond_to(:monolithic_dir)
|
29
|
+
end
|
30
|
+
|
31
|
+
it "Should have an attribute called relative_dir" do
|
32
|
+
@repo.should respond_to(:relative_dir)
|
33
|
+
end
|
34
|
+
|
35
|
+
it "should have the transactions in a sorted order (smallest to biggest)" do
|
36
|
+
@repo.register("data/sql-just-sequential")
|
37
|
+
end
|
38
|
+
|
39
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'turntables/turntable_exception'
|
2
|
+
|
3
|
+
describe TurntableException do
|
4
|
+
|
5
|
+
before(:each) do
|
6
|
+
@te = TurntableException.new
|
7
|
+
end
|
8
|
+
|
9
|
+
it "Should be an instance of runtime error" do
|
10
|
+
@te.should be_a_kind_of(RuntimeError)
|
11
|
+
end
|
12
|
+
|
13
|
+
it "should be an instance of TurntableException" do
|
14
|
+
@te.should be_an_instance_of(TurntableException)
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,71 @@
|
|
1
|
+
require 'turntables'
|
2
|
+
require 'turntables/db_registry'
|
3
|
+
|
4
|
+
# This test to see if simple operations work with the application (so that the
|
5
|
+
# minimal guarantee of the gem is respected - to at least create the schema
|
6
|
+
# specified).
|
7
|
+
describe Turntable do
|
8
|
+
|
9
|
+
def delete_db
|
10
|
+
if File.exists? "default.db"
|
11
|
+
File.delete("default.db")
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
before(:each) do
|
16
|
+
@turntable = Turntable.new
|
17
|
+
@relpath = File.expand_path(File.dirname(__FILE__))
|
18
|
+
@datapath = "#{@relpath}/data"
|
19
|
+
|
20
|
+
# datapath/ and
|
21
|
+
# malformed-dir
|
22
|
+
# sql-just-monolithic
|
23
|
+
# sql-just-sequential
|
24
|
+
# sql-seq-and-mono
|
25
|
+
end
|
26
|
+
|
27
|
+
after(:each) do
|
28
|
+
DbRegistry.instance.close!
|
29
|
+
delete_db
|
30
|
+
DbRegistry.instance.open!
|
31
|
+
end
|
32
|
+
|
33
|
+
after(:all) do
|
34
|
+
delete_db
|
35
|
+
end
|
36
|
+
|
37
|
+
it "should raise no errors on a pure sequential repo" do
|
38
|
+
@turntable.register("#{@datapath}/sql-just-sequential")
|
39
|
+
expect{@turntable.make!}.to_not raise_error
|
40
|
+
end
|
41
|
+
|
42
|
+
it "should raise no errors on a pure monolithic repo" do
|
43
|
+
@turntable.register("#{@datapath}/sql-just-monolithic")
|
44
|
+
expect{@turntable.make!}.to_not raise_error
|
45
|
+
end
|
46
|
+
|
47
|
+
it "should raise no errors on a mixed repo" do
|
48
|
+
@turntable.register("#{@datapath}/sql-seq-and-mono")
|
49
|
+
expect{@turntable.make!}.to_not raise_error
|
50
|
+
end
|
51
|
+
|
52
|
+
it "should raise an error on a malformed dir" do
|
53
|
+
@turntable.register("#{@datapath}/malformed-dir")
|
54
|
+
expect{@turntable.make!}.to raise_error
|
55
|
+
end
|
56
|
+
|
57
|
+
it "should raise an error on non existant path" do
|
58
|
+
@turntable.register("WARGABLLGABHLGABL")
|
59
|
+
expect{@turntable.make!}.to raise_error
|
60
|
+
end
|
61
|
+
|
62
|
+
it "should create the database at a *specified* location" do
|
63
|
+
db_location = "#{@datapath}/locations/herp.db"
|
64
|
+
@turntable.register("#{@datapath}/sql-seq-and-mono")
|
65
|
+
@turntable.make_at!(db_location)
|
66
|
+
(File.exists? db_location).should be_true
|
67
|
+
File.delete(db_location)
|
68
|
+
end
|
69
|
+
|
70
|
+
end
|
71
|
+
|
@@ -0,0 +1,55 @@
|
|
1
|
+
require 'turntables/version_history'
|
2
|
+
|
3
|
+
describe VersionHistory do
|
4
|
+
context "<<AR>> pattern specification" do
|
5
|
+
it "should respond to class method check" do
|
6
|
+
VersionHistory.should respond_to(:check)
|
7
|
+
end
|
8
|
+
|
9
|
+
it "should respond to class method find_all" do
|
10
|
+
VersionHistory.should respond_to(:find_all)
|
11
|
+
end
|
12
|
+
|
13
|
+
it "should respond to class method find_last" do
|
14
|
+
VersionHistory.should respond_to(:find_last)
|
15
|
+
end
|
16
|
+
|
17
|
+
it "should respond to class method find" do
|
18
|
+
VersionHistory.should respond_to(:find)
|
19
|
+
end
|
20
|
+
|
21
|
+
it "should respond to class method insert" do
|
22
|
+
VersionHistory.should respond_to(:insert)
|
23
|
+
end
|
24
|
+
|
25
|
+
it "should respond to class method pull_up!" do
|
26
|
+
VersionHistory.should respond_to(:pull_up!)
|
27
|
+
end
|
28
|
+
|
29
|
+
it "should respond to class method to_version_history" do
|
30
|
+
VersionHistory.should respond_to(:to_version_history)
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
context "Attributes" do
|
35
|
+
before(:each) do
|
36
|
+
@version_history = VersionHistory.new(1,"asdf")
|
37
|
+
end
|
38
|
+
|
39
|
+
it "should have an id" do
|
40
|
+
@version_history.should respond_to(:id)
|
41
|
+
end
|
42
|
+
|
43
|
+
it "should have a version" do
|
44
|
+
@version_history.should respond_to(:version)
|
45
|
+
end
|
46
|
+
|
47
|
+
it "should have a date" do
|
48
|
+
@version_history.should respond_to(:date)
|
49
|
+
end
|
50
|
+
|
51
|
+
it "should have a comment" do
|
52
|
+
@version_history.should respond_to(:comment)
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
require 'turntables/sql_modules/version_history_sql'
|
2
|
+
|
3
|
+
include Turntables
|
4
|
+
|
5
|
+
describe VersionHistorySql do
|
6
|
+
|
7
|
+
it "should have a table name constant" do
|
8
|
+
subject.const_get('TableName').should_not be_empty
|
9
|
+
end
|
10
|
+
|
11
|
+
it "should have a create sql constant" do
|
12
|
+
subject.const_get('Create').should_not be_empty
|
13
|
+
end
|
14
|
+
|
15
|
+
it "should have a select last sql constant" do
|
16
|
+
subject.const_get('SelectLast').should_not be_empty
|
17
|
+
end
|
18
|
+
|
19
|
+
it "should have a select by id sql constant" do
|
20
|
+
subject.const_get('SelectById').should_not be_empty
|
21
|
+
end
|
22
|
+
|
23
|
+
it "should have a select all sql constant" do
|
24
|
+
subject.const_get('SelectAll').should_not be_empty
|
25
|
+
end
|
26
|
+
|
27
|
+
it "should have an insert sql constant" do
|
28
|
+
subject.const_get('Insert').should_not be_empty
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
data/turntables.gemspec
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
|
3
|
+
require File.expand_path('../lib/turntables/version', __FILE__)
|
4
|
+
|
5
|
+
Gem::Specification.new do |gem|
|
6
|
+
gem.name = "turntables"
|
7
|
+
gem.version = Turntables::VERSION
|
8
|
+
gem.summary = %q{A dumb experimental, lightweight db version control system for SQLite3}
|
9
|
+
gem.description = %q{A dumb experimental, lightweight db version control system for SQLite3}
|
10
|
+
gem.license = "MIT"
|
11
|
+
gem.authors = ["psyomn"]
|
12
|
+
gem.email = "lethaljellybean@gmail.com"
|
13
|
+
gem.homepage = "https://rubygems.org/gems/turntables"
|
14
|
+
|
15
|
+
gem.files = `git ls-files`.split($/)
|
16
|
+
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
17
|
+
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
18
|
+
gem.require_paths = ['lib']
|
19
|
+
|
20
|
+
gem.add_development_dependency 'bundler', '~> 1.0'
|
21
|
+
gem.add_development_dependency 'rake', '~> 0.8'
|
22
|
+
gem.add_development_dependency 'rspec', '~> 2.4'
|
23
|
+
gem.add_development_dependency 'yard', '~> 0.8'
|
24
|
+
|
25
|
+
gem.add_runtime_dependency 'sqlite3'
|
26
|
+
end
|
metadata
ADDED
@@ -0,0 +1,184 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: turntables
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- psyomn
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2013-07-26 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: bundler
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ~>
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.0'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ~>
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ~>
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0.8'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ~>
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0.8'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rspec
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ~>
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '2.4'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ~>
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '2.4'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: yard
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ~>
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0.8'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ~>
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0.8'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: sqlite3
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - '>='
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - '>='
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
description: A dumb experimental, lightweight db version control system for SQLite3
|
84
|
+
email: lethaljellybean@gmail.com
|
85
|
+
executables:
|
86
|
+
- turntables
|
87
|
+
extensions: []
|
88
|
+
extra_rdoc_files: []
|
89
|
+
files:
|
90
|
+
- .document
|
91
|
+
- .gitignore
|
92
|
+
- .rspec
|
93
|
+
- .travis.yml
|
94
|
+
- .yardopts
|
95
|
+
- ChangeLog.rdoc
|
96
|
+
- Gemfile
|
97
|
+
- LICENSE.txt
|
98
|
+
- README.rdoc
|
99
|
+
- Rakefile
|
100
|
+
- bin/turntables
|
101
|
+
- lib/turntables.rb
|
102
|
+
- lib/turntables/constants/repository_constants.rb
|
103
|
+
- lib/turntables/db_registry.rb
|
104
|
+
- lib/turntables/repository.rb
|
105
|
+
- lib/turntables/sql_modules/db_registry_sql.rb
|
106
|
+
- lib/turntables/sql_modules/version_history_sql.rb
|
107
|
+
- lib/turntables/transaction.rb
|
108
|
+
- lib/turntables/turntable.rb
|
109
|
+
- lib/turntables/turntable_exception.rb
|
110
|
+
- lib/turntables/version.rb
|
111
|
+
- lib/turntables/version_history.rb
|
112
|
+
- spec/data/locations/.gitkeep
|
113
|
+
- spec/data/locations/herp.db
|
114
|
+
- spec/data/locations/loc1/.gitkeep
|
115
|
+
- spec/data/malformed-dir/malformed.txt
|
116
|
+
- spec/data/sql-just-monolithic/mono/1.sql
|
117
|
+
- spec/data/sql-just-monolithic/seq/.gitkeep
|
118
|
+
- spec/data/sql-just-sequential/mono/.gitkeep
|
119
|
+
- spec/data/sql-just-sequential/seq/1.sql
|
120
|
+
- spec/data/sql-just-sequential/seq/2.sql
|
121
|
+
- spec/data/sql-just-sequential/seq/3.sql
|
122
|
+
- spec/data/sql-seq-and-mono/mono/3.sql
|
123
|
+
- spec/data/sql-seq-and-mono/seq/1.sql
|
124
|
+
- spec/data/sql-seq-and-mono/seq/2.sql
|
125
|
+
- spec/data/sql-seq-and-mono/seq/3.sql
|
126
|
+
- spec/db_registry_sql_spec.rb
|
127
|
+
- spec/repository_constants_spec.rb
|
128
|
+
- spec/repository_spec.rb
|
129
|
+
- spec/spec_helper.rb
|
130
|
+
- spec/turntable_exception_spec.rb
|
131
|
+
- spec/turntable_spec.rb
|
132
|
+
- spec/turntables_spec.rb
|
133
|
+
- spec/version_history_spec.rb
|
134
|
+
- spec/version_history_sql_spec.rb
|
135
|
+
- turntables.gemspec
|
136
|
+
homepage: https://rubygems.org/gems/turntables
|
137
|
+
licenses:
|
138
|
+
- MIT
|
139
|
+
metadata: {}
|
140
|
+
post_install_message:
|
141
|
+
rdoc_options: []
|
142
|
+
require_paths:
|
143
|
+
- lib
|
144
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
145
|
+
requirements:
|
146
|
+
- - '>='
|
147
|
+
- !ruby/object:Gem::Version
|
148
|
+
version: '0'
|
149
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
150
|
+
requirements:
|
151
|
+
- - '>='
|
152
|
+
- !ruby/object:Gem::Version
|
153
|
+
version: '0'
|
154
|
+
requirements: []
|
155
|
+
rubyforge_project:
|
156
|
+
rubygems_version: 2.0.3
|
157
|
+
signing_key:
|
158
|
+
specification_version: 4
|
159
|
+
summary: A dumb experimental, lightweight db version control system for SQLite3
|
160
|
+
test_files:
|
161
|
+
- spec/data/locations/.gitkeep
|
162
|
+
- spec/data/locations/herp.db
|
163
|
+
- spec/data/locations/loc1/.gitkeep
|
164
|
+
- spec/data/malformed-dir/malformed.txt
|
165
|
+
- spec/data/sql-just-monolithic/mono/1.sql
|
166
|
+
- spec/data/sql-just-monolithic/seq/.gitkeep
|
167
|
+
- spec/data/sql-just-sequential/mono/.gitkeep
|
168
|
+
- spec/data/sql-just-sequential/seq/1.sql
|
169
|
+
- spec/data/sql-just-sequential/seq/2.sql
|
170
|
+
- spec/data/sql-just-sequential/seq/3.sql
|
171
|
+
- spec/data/sql-seq-and-mono/mono/3.sql
|
172
|
+
- spec/data/sql-seq-and-mono/seq/1.sql
|
173
|
+
- spec/data/sql-seq-and-mono/seq/2.sql
|
174
|
+
- spec/data/sql-seq-and-mono/seq/3.sql
|
175
|
+
- spec/db_registry_sql_spec.rb
|
176
|
+
- spec/repository_constants_spec.rb
|
177
|
+
- spec/repository_spec.rb
|
178
|
+
- spec/spec_helper.rb
|
179
|
+
- spec/turntable_exception_spec.rb
|
180
|
+
- spec/turntable_spec.rb
|
181
|
+
- spec/turntables_spec.rb
|
182
|
+
- spec/version_history_spec.rb
|
183
|
+
- spec/version_history_sql_spec.rb
|
184
|
+
has_rdoc:
|