hexx-storage 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.coveralls.yml +2 -0
- data/.gitignore +9 -0
- data/.metrics +9 -0
- data/.rspec +2 -0
- data/.rubocop.yml +2 -0
- data/.travis.yml +12 -0
- data/.yardopts +3 -0
- data/Gemfile +12 -0
- data/Guardfile +14 -0
- data/LICENSE +21 -0
- data/README.md +351 -0
- data/Rakefile +22 -0
- data/config/metrics/STYLEGUIDE +230 -0
- data/config/metrics/cane.yml +5 -0
- data/config/metrics/churn.yml +6 -0
- data/config/metrics/flay.yml +2 -0
- data/config/metrics/metric_fu.yml +13 -0
- data/config/metrics/reek.yml +1 -0
- data/config/metrics/roodi.yml +24 -0
- data/config/metrics/rubocop.yml +73 -0
- data/config/metrics/saikuro.yml +3 -0
- data/config/metrics/simplecov.yml +8 -0
- data/config/metrics/yardstick.yml +37 -0
- data/hexx-storage.gemspec +28 -0
- data/lib/hexx-storage.rb +20 -0
- data/lib/hexx/storage.rb +17 -0
- data/lib/hexx/storage/base.rb +108 -0
- data/lib/hexx/storage/patches.rb +135 -0
- data/lib/hexx/storage/repositories.rb +40 -0
- data/lib/hexx/storage/repositories/base.rb +70 -0
- data/lib/hexx/storage/repositories/memory.rb +33 -0
- data/lib/hexx/storage/repositories/sql.rb +78 -0
- data/lib/hexx/storage/version.rb +13 -0
- data/spec/integration/storage.yml +9 -0
- data/spec/integration/storage_spec.rb +56 -0
- data/spec/spec_helper.rb +12 -0
- data/spec/tests/storage/base_spec.rb +178 -0
- data/spec/tests/storage/patches_spec.rb +202 -0
- data/spec/tests/storage/repositories/base_spec.rb +120 -0
- data/spec/tests/storage/repositories/memory_spec.rb +32 -0
- data/spec/tests/storage/repositories/sql_spec.rb +180 -0
- data/spec/tests/storage/repositories_spec.rb +66 -0
- data/spec/tests/storage_spec.rb +24 -0
- metadata +168 -0
@@ -0,0 +1,120 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
describe Hexx::Storage::Repositories::Base do
|
4
|
+
|
5
|
+
let(:root) { "foo" }
|
6
|
+
subject { described_class.new root: root }
|
7
|
+
|
8
|
+
describe ".new" do
|
9
|
+
|
10
|
+
context "with a :root" do
|
11
|
+
|
12
|
+
it "doesn't fail" do
|
13
|
+
expect { subject }.not_to raise_error
|
14
|
+
end
|
15
|
+
|
16
|
+
end # context
|
17
|
+
|
18
|
+
context "without a :root" do
|
19
|
+
|
20
|
+
subject { described_class.new }
|
21
|
+
|
22
|
+
it "raises ArgumentError" do
|
23
|
+
expect { subject }.to raise_error ArgumentError
|
24
|
+
end
|
25
|
+
|
26
|
+
end # context
|
27
|
+
|
28
|
+
context "with a :log" do
|
29
|
+
|
30
|
+
subject { described_class.new root: root, log: "logs/log" }
|
31
|
+
|
32
|
+
before { `rm #{ root }/logs -r -f` }
|
33
|
+
after { `rm #{ root }/logs -r -f` }
|
34
|
+
|
35
|
+
it "creates folder for logs" do
|
36
|
+
expect { subject }.to change { Dir.exist? "#{ root }/logs" }.to true
|
37
|
+
end
|
38
|
+
|
39
|
+
end # context
|
40
|
+
|
41
|
+
end # describe .new
|
42
|
+
|
43
|
+
describe "#root" do
|
44
|
+
|
45
|
+
it "is initialized" do
|
46
|
+
expect(subject.root).to eq root
|
47
|
+
end
|
48
|
+
|
49
|
+
end # describe #root
|
50
|
+
|
51
|
+
describe "#log" do
|
52
|
+
|
53
|
+
it "returns nil by default" do
|
54
|
+
expect(subject.log).to be_nil
|
55
|
+
end
|
56
|
+
|
57
|
+
it "can be initialized" do
|
58
|
+
subject = described_class.new root: "foo", log: "bar"
|
59
|
+
expect(subject.log).to eq "bar"
|
60
|
+
end
|
61
|
+
|
62
|
+
end # describe #log
|
63
|
+
|
64
|
+
describe "#logger" do
|
65
|
+
|
66
|
+
shared_examples "creating a logger" do |from: nil|
|
67
|
+
|
68
|
+
let(:logger) { double }
|
69
|
+
let(:repo) { described_class.new root: root, log: from }
|
70
|
+
subject { repo.logger }
|
71
|
+
|
72
|
+
it "[creates a logger]" do
|
73
|
+
expect(subject).to eq logger
|
74
|
+
end
|
75
|
+
|
76
|
+
end # shared examples
|
77
|
+
|
78
|
+
context "with some #log" do
|
79
|
+
|
80
|
+
before do
|
81
|
+
allow(Logger).to receive(:new) do |file, *|
|
82
|
+
logger if file == "#{ root }/qux/bar.baz"
|
83
|
+
end
|
84
|
+
end
|
85
|
+
|
86
|
+
it_behaves_like "creating a logger", from: "qux/bar.baz"
|
87
|
+
|
88
|
+
end # context
|
89
|
+
|
90
|
+
context "without #log" do
|
91
|
+
|
92
|
+
before do
|
93
|
+
allow(Logger).to receive(:new) do |file, *|
|
94
|
+
logger if file.is_a? StringIO
|
95
|
+
end
|
96
|
+
end
|
97
|
+
|
98
|
+
it_behaves_like "creating a logger"
|
99
|
+
|
100
|
+
end # context
|
101
|
+
|
102
|
+
end # describe #logger
|
103
|
+
|
104
|
+
describe "#respond_to?" do
|
105
|
+
|
106
|
+
it "returns true" do
|
107
|
+
expect(subject.respond_to? :foo).to eq true
|
108
|
+
end
|
109
|
+
|
110
|
+
end # describe #respond_to?
|
111
|
+
|
112
|
+
describe "#foo (arbitrary method)" do
|
113
|
+
|
114
|
+
it "returns nil" do
|
115
|
+
expect(subject.foo).to be_nil
|
116
|
+
end
|
117
|
+
|
118
|
+
end # describe arbitrary method
|
119
|
+
|
120
|
+
end # describe Hexx::Storage::Repositories::Base
|
@@ -0,0 +1,32 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require "rom/memory"
|
4
|
+
|
5
|
+
describe Hexx::Storage::Repositories::Memory do
|
6
|
+
|
7
|
+
let(:root) { "foo" }
|
8
|
+
subject { described_class.new root: root, uri: "uri", foo: "bar" }
|
9
|
+
|
10
|
+
describe ".new" do
|
11
|
+
|
12
|
+
it { is_expected.to be_kind_of Hexx::Storage::Repositories::Base }
|
13
|
+
|
14
|
+
end # describe .new
|
15
|
+
|
16
|
+
describe "#adapter" do
|
17
|
+
|
18
|
+
it "returns :memory" do
|
19
|
+
expect(subject.adapter).to eq :memory
|
20
|
+
end
|
21
|
+
|
22
|
+
end # describe #adapter
|
23
|
+
|
24
|
+
describe "#settings" do
|
25
|
+
|
26
|
+
it "return proper settings" do
|
27
|
+
expect(subject.settings).to eq :memory
|
28
|
+
end
|
29
|
+
|
30
|
+
end # describe #settings
|
31
|
+
|
32
|
+
end # describe Hexx::Storage::Repositories::Memory
|
@@ -0,0 +1,180 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require "rom-sql"
|
4
|
+
require "sequel/adapters/postgres"
|
5
|
+
|
6
|
+
describe Hexx::Storage::Repositories::SQL do
|
7
|
+
|
8
|
+
let(:repo_storage) { Hexx::Storage::Repositories::Memory }
|
9
|
+
|
10
|
+
let(:root) { File.expand_path "..", __FILE__ }
|
11
|
+
let(:uri) { "postgres://localhost/rom" }
|
12
|
+
let(:user) { "foo" }
|
13
|
+
let(:password) { "bar" }
|
14
|
+
let(:log) { "baz" }
|
15
|
+
let(:options) { { user: user, password: password } }
|
16
|
+
|
17
|
+
subject do
|
18
|
+
described_class.new(
|
19
|
+
root: root,
|
20
|
+
uri: uri,
|
21
|
+
user: user,
|
22
|
+
password: password
|
23
|
+
)
|
24
|
+
end
|
25
|
+
|
26
|
+
describe ".new" do
|
27
|
+
|
28
|
+
context "with an :uri" do
|
29
|
+
|
30
|
+
it { is_expected.to be_kind_of Hexx::Storage::Repositories::Base }
|
31
|
+
|
32
|
+
end # context
|
33
|
+
|
34
|
+
context "without :uri" do
|
35
|
+
|
36
|
+
subject { described_class.new root: root }
|
37
|
+
|
38
|
+
it "raises ArgumentError" do
|
39
|
+
expect { subject }.to raise_error ArgumentError
|
40
|
+
end
|
41
|
+
|
42
|
+
end # context
|
43
|
+
|
44
|
+
end # describe .new
|
45
|
+
|
46
|
+
describe "#adapter" do
|
47
|
+
|
48
|
+
it "returns :sql" do
|
49
|
+
expect(subject.adapter).to eq :sql
|
50
|
+
end
|
51
|
+
|
52
|
+
end # describe #adapter
|
53
|
+
|
54
|
+
describe "#uri" do
|
55
|
+
|
56
|
+
it "is initialized" do
|
57
|
+
expect(subject.uri).to eq uri
|
58
|
+
end
|
59
|
+
|
60
|
+
end # describe #uri
|
61
|
+
|
62
|
+
describe "#options" do
|
63
|
+
|
64
|
+
it "returns {} by default" do
|
65
|
+
subject = described_class.new(root: root, uri: uri, log: log)
|
66
|
+
expect(subject.options).to eq({})
|
67
|
+
end
|
68
|
+
|
69
|
+
it "can be initialized" do
|
70
|
+
expect(subject.options).to eq options
|
71
|
+
end
|
72
|
+
|
73
|
+
end # describe #options
|
74
|
+
|
75
|
+
describe "#migrations=" do
|
76
|
+
|
77
|
+
context "when a folder exists" do
|
78
|
+
|
79
|
+
let(:folder) { root }
|
80
|
+
|
81
|
+
it "sets #migrations" do
|
82
|
+
expect { subject.migrations = folder }
|
83
|
+
.to change { subject.migrations }
|
84
|
+
.to root
|
85
|
+
end
|
86
|
+
|
87
|
+
end # context
|
88
|
+
|
89
|
+
context "when a folder is absent" do
|
90
|
+
|
91
|
+
let(:folder) { "," }
|
92
|
+
|
93
|
+
it "doesn't set #migrations" do
|
94
|
+
expect { subject.migrations = folder }
|
95
|
+
.not_to change { subject.migrations }
|
96
|
+
end
|
97
|
+
|
98
|
+
end # context
|
99
|
+
|
100
|
+
end # describe #migrations=
|
101
|
+
|
102
|
+
describe "#conn" do
|
103
|
+
|
104
|
+
it "returns a Sequel connection" do
|
105
|
+
expect(subject.conn).to be_kind_of Sequel::Database
|
106
|
+
end
|
107
|
+
|
108
|
+
it "uses the #uri" do
|
109
|
+
expect(subject.conn.uri).to eq subject.uri
|
110
|
+
end
|
111
|
+
|
112
|
+
it "sets original options" do
|
113
|
+
expect(subject.conn.opts[:orig_opts]).to eq subject.options
|
114
|
+
end
|
115
|
+
|
116
|
+
it "sets the logger" do
|
117
|
+
logger = double
|
118
|
+
allow(subject).to receive(:logger) { logger }
|
119
|
+
|
120
|
+
expect(subject.conn.loggers).to contain_exactly subject.logger
|
121
|
+
end
|
122
|
+
|
123
|
+
end # describe #conn
|
124
|
+
|
125
|
+
describe "#migrator" do
|
126
|
+
|
127
|
+
let(:migrator_class) { ROM::SQL::Migration::Migrator }
|
128
|
+
|
129
|
+
context "when a #migrations is set" do
|
130
|
+
|
131
|
+
before { allow(subject).to receive(:migrations) { "foo" } }
|
132
|
+
|
133
|
+
it "returns a migrator" do
|
134
|
+
expect(subject.migrator).to be_kind_of migrator_class
|
135
|
+
end
|
136
|
+
|
137
|
+
it "uses path to #migrations" do
|
138
|
+
expect(subject.migrator.path).to eq subject.migrations
|
139
|
+
end
|
140
|
+
|
141
|
+
it "uses the #conn" do
|
142
|
+
expect(subject.migrator.connection).to eq subject.conn
|
143
|
+
end
|
144
|
+
|
145
|
+
end # context
|
146
|
+
|
147
|
+
context "when a #migrations is absent" do
|
148
|
+
|
149
|
+
it "returns a migrator" do
|
150
|
+
expect(subject.migrator).to be_kind_of migrator_class
|
151
|
+
end
|
152
|
+
|
153
|
+
end # context
|
154
|
+
|
155
|
+
end # describe #migrator
|
156
|
+
|
157
|
+
describe "#settings" do
|
158
|
+
|
159
|
+
context "with some #migrations" do
|
160
|
+
|
161
|
+
before { subject.migrations = subject.root }
|
162
|
+
|
163
|
+
it "uses both the connection and migrator" do
|
164
|
+
expect(subject.settings)
|
165
|
+
.to eq [:sql, [subject.conn, migrator: subject.migrator]]
|
166
|
+
end
|
167
|
+
|
168
|
+
end # context
|
169
|
+
|
170
|
+
context "without #migrations" do
|
171
|
+
|
172
|
+
it "uses the connection only" do
|
173
|
+
expect(subject.settings).to eq [:sql, subject.conn]
|
174
|
+
end
|
175
|
+
|
176
|
+
end # context
|
177
|
+
|
178
|
+
end # describe #settings
|
179
|
+
|
180
|
+
end # describe Hexx::Storage::Repositories::SQL
|
@@ -0,0 +1,66 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
describe Hexx::Storage::Repositories do
|
4
|
+
|
5
|
+
describe ".build" do
|
6
|
+
|
7
|
+
let(:adapter) { "memory" }
|
8
|
+
let(:options) { { uri: :foo } }
|
9
|
+
let(:repository) { double }
|
10
|
+
let(:repository_class) { Hexx::Storage::Repositories::Memory }
|
11
|
+
|
12
|
+
before { allow(repository_class).to receive(:new) { repository } }
|
13
|
+
subject { described_class.build adapter: adapter, **options }
|
14
|
+
|
15
|
+
context "adapter: :memory" do
|
16
|
+
|
17
|
+
it "creates the Memory storage" do
|
18
|
+
expect(repository_class).to receive(:new).with(options)
|
19
|
+
subject
|
20
|
+
end
|
21
|
+
|
22
|
+
it "returns the storage" do
|
23
|
+
expect(subject).to eq repository
|
24
|
+
end
|
25
|
+
|
26
|
+
end # context
|
27
|
+
|
28
|
+
context "adapter: :sql" do
|
29
|
+
|
30
|
+
let(:adapter) { "sql" }
|
31
|
+
let(:repository_class) { Hexx::Storage::Repositories::SQL }
|
32
|
+
|
33
|
+
it "creates the SQL storage" do
|
34
|
+
expect(repository_class).to receive(:new).with(options)
|
35
|
+
subject
|
36
|
+
end
|
37
|
+
|
38
|
+
it "returns the storage" do
|
39
|
+
expect(subject).to eq repository
|
40
|
+
end
|
41
|
+
|
42
|
+
end # context
|
43
|
+
|
44
|
+
context "adapter: :unkonwn" do
|
45
|
+
|
46
|
+
let(:adapter) { :unkonwn }
|
47
|
+
|
48
|
+
it "fails" do
|
49
|
+
expect { subject }.to raise_error ArgumentError
|
50
|
+
end
|
51
|
+
|
52
|
+
end # context
|
53
|
+
|
54
|
+
context "adapter: nil" do
|
55
|
+
|
56
|
+
let(:adapter) { nil }
|
57
|
+
|
58
|
+
it "fails" do
|
59
|
+
expect { subject }.to raise_error
|
60
|
+
end
|
61
|
+
|
62
|
+
end # context
|
63
|
+
|
64
|
+
end # describe .build
|
65
|
+
|
66
|
+
end # describe Hexx::Storage::Repositories
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
describe Hexx::Storage do
|
4
|
+
|
5
|
+
let(:storage_class) { Hexx::Storage::Base }
|
6
|
+
let(:storage) { double }
|
7
|
+
before { allow(storage_class).to receive(:new) { storage } }
|
8
|
+
|
9
|
+
describe ".setup" do
|
10
|
+
|
11
|
+
subject { described_class.setup }
|
12
|
+
|
13
|
+
it "creates the storage object" do
|
14
|
+
expect(storage_class).to receive(:new)
|
15
|
+
subject
|
16
|
+
end
|
17
|
+
|
18
|
+
it "returns the storage object" do
|
19
|
+
expect(subject).to eq storage
|
20
|
+
end
|
21
|
+
|
22
|
+
end # describe #setup
|
23
|
+
|
24
|
+
end # describe Hexx::Storage
|
metadata
ADDED
@@ -0,0 +1,168 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: hexx-storage
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.2
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Andrew Kozin
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2015-05-01 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: naught
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.0'
|
20
|
+
type: :runtime
|
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: rom
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0.6'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0.6'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: thread_safe
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0.3'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0.3'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: hexx-rspec
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0.4'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0.4'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rom-sql
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0.4'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0.4'
|
83
|
+
description:
|
84
|
+
email: andrew.kozin@gmail.com
|
85
|
+
executables: []
|
86
|
+
extensions: []
|
87
|
+
extra_rdoc_files:
|
88
|
+
- README.md
|
89
|
+
- LICENSE
|
90
|
+
files:
|
91
|
+
- ".coveralls.yml"
|
92
|
+
- ".gitignore"
|
93
|
+
- ".metrics"
|
94
|
+
- ".rspec"
|
95
|
+
- ".rubocop.yml"
|
96
|
+
- ".travis.yml"
|
97
|
+
- ".yardopts"
|
98
|
+
- Gemfile
|
99
|
+
- Guardfile
|
100
|
+
- LICENSE
|
101
|
+
- README.md
|
102
|
+
- Rakefile
|
103
|
+
- config/metrics/STYLEGUIDE
|
104
|
+
- config/metrics/cane.yml
|
105
|
+
- config/metrics/churn.yml
|
106
|
+
- config/metrics/flay.yml
|
107
|
+
- config/metrics/metric_fu.yml
|
108
|
+
- config/metrics/reek.yml
|
109
|
+
- config/metrics/roodi.yml
|
110
|
+
- config/metrics/rubocop.yml
|
111
|
+
- config/metrics/saikuro.yml
|
112
|
+
- config/metrics/simplecov.yml
|
113
|
+
- config/metrics/yardstick.yml
|
114
|
+
- hexx-storage.gemspec
|
115
|
+
- lib/hexx-storage.rb
|
116
|
+
- lib/hexx/storage.rb
|
117
|
+
- lib/hexx/storage/base.rb
|
118
|
+
- lib/hexx/storage/patches.rb
|
119
|
+
- lib/hexx/storage/repositories.rb
|
120
|
+
- lib/hexx/storage/repositories/base.rb
|
121
|
+
- lib/hexx/storage/repositories/memory.rb
|
122
|
+
- lib/hexx/storage/repositories/sql.rb
|
123
|
+
- lib/hexx/storage/version.rb
|
124
|
+
- spec/integration/storage.yml
|
125
|
+
- spec/integration/storage_spec.rb
|
126
|
+
- spec/spec_helper.rb
|
127
|
+
- spec/tests/storage/base_spec.rb
|
128
|
+
- spec/tests/storage/patches_spec.rb
|
129
|
+
- spec/tests/storage/repositories/base_spec.rb
|
130
|
+
- spec/tests/storage/repositories/memory_spec.rb
|
131
|
+
- spec/tests/storage/repositories/sql_spec.rb
|
132
|
+
- spec/tests/storage/repositories_spec.rb
|
133
|
+
- spec/tests/storage_spec.rb
|
134
|
+
homepage: https://github.com/nepalez/hexx-storage
|
135
|
+
licenses:
|
136
|
+
- MIT
|
137
|
+
metadata: {}
|
138
|
+
post_install_message:
|
139
|
+
rdoc_options: []
|
140
|
+
require_paths:
|
141
|
+
- lib
|
142
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
143
|
+
requirements:
|
144
|
+
- - "~>"
|
145
|
+
- !ruby/object:Gem::Version
|
146
|
+
version: '2.0'
|
147
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
148
|
+
requirements:
|
149
|
+
- - ">="
|
150
|
+
- !ruby/object:Gem::Version
|
151
|
+
version: '0'
|
152
|
+
requirements: []
|
153
|
+
rubyforge_project:
|
154
|
+
rubygems_version: 2.4.6
|
155
|
+
signing_key:
|
156
|
+
specification_version: 4
|
157
|
+
summary: Settings for ROM storages
|
158
|
+
test_files:
|
159
|
+
- spec/spec_helper.rb
|
160
|
+
- spec/integration/storage_spec.rb
|
161
|
+
- spec/tests/storage/patches_spec.rb
|
162
|
+
- spec/tests/storage/repositories/memory_spec.rb
|
163
|
+
- spec/tests/storage/repositories/sql_spec.rb
|
164
|
+
- spec/tests/storage/repositories/base_spec.rb
|
165
|
+
- spec/tests/storage/repositories_spec.rb
|
166
|
+
- spec/tests/storage/base_spec.rb
|
167
|
+
- spec/tests/storage_spec.rb
|
168
|
+
has_rdoc:
|