refile-postgres 1.2.0 → 1.2.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 +4 -4
- data/README.md +1 -0
- data/lib/refile/postgres/backend.rb +1 -1
- data/lib/refile/postgres/version.rb +1 -1
- data/spec/refile/postgres/backend_spec.rb +35 -1
- data/spec/spec_helper.rb +21 -5
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3750ff6ae5e70ecd23b619f28d6a3c9a12150d09
|
4
|
+
data.tar.gz: ccaf3d9739e3b80e7c4ebbf76de3b124c33064ae
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2983f0299c9d796c8ba4a1b1831612b4bf2633ee410c7897aa4ad3da5b4f9b6acb1276fc576b8e7dd819504ab4b383fe00de5264b90b5df7339cf0398f0fc173
|
7
|
+
data.tar.gz: 16d74a9439671ae6ffd5a3970dad6b987619d56c8941bd8586673344d6ef44c33410cef0415aa5754b53014cf24d8d9b66f28dc59deb0be93589a2f20dae1e21
|
data/README.md
CHANGED
@@ -4,6 +4,7 @@ A PostgreSQL backend for [Refile](https://github.com/elabs/refile).
|
|
4
4
|
|
5
5
|
[](https://travis-ci.org/krists/refile-postgres)
|
6
6
|
[](https://codeclimate.com/github/krists/refile-postgres)
|
7
|
+
[](https://codeclimate.com/github/krists/refile-postgres/coverage)
|
7
8
|
|
8
9
|
## Why?
|
9
10
|
|
@@ -23,7 +23,7 @@ module Refile
|
|
23
23
|
unless @registry_table_validated
|
24
24
|
with_connection do |connection|
|
25
25
|
connection.exec_params("SELECT * FROM pg_catalog.pg_tables WHERE tablename = $1::varchar;", [@registry_table]) do |result|
|
26
|
-
if result.count
|
26
|
+
if result.count == 0
|
27
27
|
raise RegistryTableDoesNotExistError.new(%{Please create a table "#{@registry_table}" where backend could store list of attachments})
|
28
28
|
end
|
29
29
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require "spec_helper"
|
2
2
|
|
3
3
|
describe Refile::Postgres::Backend do
|
4
|
-
let(:connection) {
|
4
|
+
let(:connection) { test_connection }
|
5
5
|
let(:backend) { Refile::Postgres::Backend.new(connection_or_proc, max_size: 100) }
|
6
6
|
|
7
7
|
context "Connection tests" do
|
@@ -21,6 +21,7 @@ describe Refile::Postgres::Backend do
|
|
21
21
|
}.to raise_error(ArgumentError, "When initializing new Refile::Postgres::Backend first argument should be an instance of PG::Connection or a lambda/proc that yields it.")
|
22
22
|
end
|
23
23
|
end
|
24
|
+
|
24
25
|
context "when lambda does yield a PG::Connection" do
|
25
26
|
let(:connection_or_proc) { lambda { |&blk| blk.call(connection) } }
|
26
27
|
it "is usable in queries" do
|
@@ -30,6 +31,39 @@ describe Refile::Postgres::Backend do
|
|
30
31
|
end
|
31
32
|
end
|
32
33
|
|
34
|
+
describe "#registry_table" do
|
35
|
+
context "when no registry table is present" do
|
36
|
+
it "raises an exception" do
|
37
|
+
drop_registry_table
|
38
|
+
expect {
|
39
|
+
Refile::Postgres::Backend.new(test_connection, max_size: 100).registry_table
|
40
|
+
}.to raise_error Refile::Postgres::Backend::RegistryTableDoesNotExistError
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
context "when registry tables exist in multiple schemas" do
|
45
|
+
before do
|
46
|
+
test_connection.exec %{
|
47
|
+
CREATE SCHEMA other_schema;
|
48
|
+
CREATE TABLE IF NOT EXISTS other_schema.#{Refile::Postgres::Backend::DEFAULT_REGISTRY_TABLE}
|
49
|
+
( id serial NOT NULL );
|
50
|
+
}
|
51
|
+
end
|
52
|
+
|
53
|
+
after do
|
54
|
+
test_connection.exec %{
|
55
|
+
DROP SCHEMA other_schema CASCADE;
|
56
|
+
}
|
57
|
+
end
|
58
|
+
|
59
|
+
it "does not raise an exception" do
|
60
|
+
expect {
|
61
|
+
Refile::Postgres::Backend.new(test_connection, max_size: 100).registry_table
|
62
|
+
}.not_to raise_error
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
33
67
|
context "Refile Provided tests" do
|
34
68
|
let(:connection_or_proc) { connection }
|
35
69
|
it_behaves_like :backend
|
data/spec/spec_helper.rb
CHANGED
@@ -11,11 +11,13 @@ require "refile/postgres"
|
|
11
11
|
|
12
12
|
WebMock.disable!(:except => [:codeclimate_test_reporter])
|
13
13
|
|
14
|
-
|
15
|
-
|
16
|
-
connection
|
17
|
-
|
18
|
-
|
14
|
+
module DatabaseHelpers
|
15
|
+
def test_connection
|
16
|
+
@@connection ||= PG.connect(host: 'localhost', dbname: 'refile_test', user: 'refile_postgres_test_user', password: 'refilepostgres')
|
17
|
+
end
|
18
|
+
|
19
|
+
def create_registy_table
|
20
|
+
test_connection.exec %{
|
19
21
|
CREATE TABLE IF NOT EXISTS #{Refile::Postgres::Backend::DEFAULT_REGISTRY_TABLE}
|
20
22
|
(
|
21
23
|
id serial NOT NULL,
|
@@ -27,4 +29,18 @@ RSpec.configure do |config|
|
|
27
29
|
);
|
28
30
|
}
|
29
31
|
end
|
32
|
+
|
33
|
+
def drop_registry_table
|
34
|
+
test_connection.exec %{ DROP TABLE IF EXISTS #{Refile::Postgres::Backend::DEFAULT_REGISTRY_TABLE} CASCADE; }
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
RSpec.configure do |config|
|
39
|
+
config.include DatabaseHelpers
|
40
|
+
|
41
|
+
config.around(:each) do |example|
|
42
|
+
create_registy_table
|
43
|
+
example.run
|
44
|
+
drop_registry_table
|
45
|
+
end
|
30
46
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: refile-postgres
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Krists Ozols
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-03-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: refile
|
@@ -209,7 +209,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
209
209
|
version: '0'
|
210
210
|
requirements: []
|
211
211
|
rubyforge_project:
|
212
|
-
rubygems_version: 2.
|
212
|
+
rubygems_version: 2.5.1
|
213
213
|
signing_key:
|
214
214
|
specification_version: 4
|
215
215
|
summary: Postgres database as a backend for Refile
|