qa 0.3.0 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +24 -21
- data/Rakefile +1 -1
- data/app/controllers/qa/terms_controller.rb +22 -53
- data/config/routes.rb +4 -7
- data/lib/qa/authorities.rb +3 -1
- data/lib/qa/authorities/base.rb +27 -8
- data/lib/qa/authorities/getty.rb +56 -0
- data/lib/qa/authorities/loc.rb +27 -131
- data/lib/qa/authorities/loc_subauthority.rb +90 -0
- data/lib/qa/authorities/local.rb +38 -21
- data/lib/qa/authorities/local_subauthority.rb +18 -0
- data/lib/qa/authorities/mesh.rb +16 -23
- data/lib/qa/authorities/mesh_tools/mesh_data_parser.rb +0 -25
- data/lib/qa/authorities/mesh_tools/mesh_importer.rb +0 -2
- data/lib/qa/authorities/oclcts.rb +17 -24
- data/lib/qa/authorities/tgnlang.rb +4 -18
- data/lib/qa/authorities/web_service_base.rb +3 -10
- data/lib/qa/version.rb +1 -1
- data/spec/controllers/terms_controller_spec.rb +93 -44
- data/spec/fixtures/aat-response.txt +108 -0
- data/spec/fixtures/getty-aat-find-response.json +2494 -0
- data/spec/fixtures/loc-response.txt +1521 -17
- data/spec/fixtures/loc-subject-find-response.txt +24 -0
- data/spec/internal/Gemfile +16 -13
- data/spec/internal/Gemfile.lock +121 -86
- data/spec/internal/app/assets/javascripts/application.js +1 -1
- data/spec/internal/app/assets/stylesheets/application.css +1 -1
- data/spec/internal/bin/rails +1 -5
- data/spec/internal/bin/rake +0 -4
- data/spec/internal/bin/setup +29 -0
- data/spec/internal/config.ru +1 -1
- data/spec/internal/config/application.rb +3 -0
- data/spec/internal/config/boot.rb +1 -2
- data/spec/internal/config/environments/development.rb +4 -0
- data/spec/internal/config/environments/production.rb +14 -18
- data/spec/internal/config/environments/test.rb +5 -2
- data/spec/internal/config/initializers/assets.rb +11 -0
- data/spec/internal/config/initializers/cookies_serializer.rb +1 -1
- data/spec/internal/config/secrets.yml +2 -2
- data/spec/internal/db/development.sqlite3 +0 -0
- data/spec/internal/db/migrate/{20140620210534_create_qa_subject_mesh_terms.qa.rb → 20150311214117_create_qa_subject_mesh_terms.qa.rb} +0 -0
- data/spec/internal/db/migrate/{20140620210535_create_qa_mesh_tree.qa.rb → 20150311214118_create_qa_mesh_tree.qa.rb} +0 -0
- data/spec/internal/db/migrate/{20140620210536_add_term_lower_to_qa_subject_mesh_terms.qa.rb → 20150311214119_add_term_lower_to_qa_subject_mesh_terms.qa.rb} +0 -0
- data/spec/internal/db/schema.rb +3 -3
- data/spec/internal/db/test.sqlite3 +0 -0
- data/spec/internal/lib/generators/test_app_generator.rb +0 -1
- data/spec/internal/log/development.log +498 -207
- data/spec/internal/test/test_helper.rb +0 -3
- data/spec/lib/authorities_getty_spec.rb +71 -0
- data/spec/lib/authorities_loc_spec.rb +98 -65
- data/spec/lib/authorities_loc_subauthorities.rb +81 -0
- data/spec/lib/authorities_local_spec.rb +53 -79
- data/spec/lib/authorities_local_subauthorities_spec.rb +43 -0
- data/spec/lib/authorities_mesh_spec.rb +16 -12
- data/spec/lib/authorities_oclcts_spec.rb +17 -17
- data/spec/lib/authorities_tgnlang_spec.rb +4 -7
- data/spec/lib/mesh_data_parser_spec.rb +13 -13
- data/spec/lib/tasks/mesh.rake_spec.rb +4 -4
- data/spec/models/subject_mesh_term_spec.rb +5 -5
- data/spec/routing/route_spec.rb +34 -0
- data/spec/spec_helper.rb +5 -22
- data/spec/test_app_templates/lib/generators/test_app_generator.rb +0 -1
- metadata +44 -12
- data/lib/qa/authorities/local/subauthority.rb +0 -65
- data/spec/internal/bin/spring +0 -18
@@ -0,0 +1,43 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Qa::Authorities::LocalSubauthority do
|
4
|
+
|
5
|
+
let :test do
|
6
|
+
class TestClass
|
7
|
+
include Qa::Authorities::LocalSubauthority
|
8
|
+
end
|
9
|
+
TestClass.new
|
10
|
+
end
|
11
|
+
|
12
|
+
describe "#sub_authorities_path" do
|
13
|
+
before do
|
14
|
+
@original_path = AUTHORITIES_CONFIG[:local_path]
|
15
|
+
end
|
16
|
+
after do
|
17
|
+
AUTHORITIES_CONFIG[:local_path] = @original_path
|
18
|
+
end
|
19
|
+
context "configured with a full path" do
|
20
|
+
before do
|
21
|
+
AUTHORITIES_CONFIG[:local_path] = "/full/path"
|
22
|
+
end
|
23
|
+
it "returns a full path" do
|
24
|
+
expect(test.sub_authorities_path).to eq(AUTHORITIES_CONFIG[:local_path])
|
25
|
+
end
|
26
|
+
end
|
27
|
+
context "configured with a relative path" do
|
28
|
+
before do
|
29
|
+
AUTHORITIES_CONFIG[:local_path] = "relative/path"
|
30
|
+
end
|
31
|
+
it "returns a path relative to the Rails applicaition" do
|
32
|
+
expect(test.sub_authorities_path).to eq(File.join(Rails.root, AUTHORITIES_CONFIG[:local_path]))
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
describe "#names" do
|
38
|
+
it "returns a list of yaml files" do
|
39
|
+
expect(test.names).to include("authority_A", "authority_B", "authority_C", "authority_D", "states")
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
end
|
@@ -2,7 +2,7 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe Qa::Authorities::Mesh do
|
4
4
|
def where_unique_record(klass, q)
|
5
|
-
klass.where(q).length.
|
5
|
+
expect(klass.where(q).length).to eq(1)
|
6
6
|
end
|
7
7
|
|
8
8
|
it "imports a mesh dump file" do
|
@@ -13,10 +13,10 @@ describe Qa::Authorities::Mesh do
|
|
13
13
|
where_unique_record(Qa::SubjectMeshTerm, {term_lower: "malaria"})
|
14
14
|
where_unique_record(Qa::SubjectMeshTerm, {term: "Malaria"})
|
15
15
|
where_unique_record(Qa::SubjectMeshTerm, {term_id: "D008288"})
|
16
|
-
Qa::SubjectMeshTerm.all.length.
|
16
|
+
expect(Qa::SubjectMeshTerm.all.length).to eq(11)
|
17
17
|
end
|
18
18
|
|
19
|
-
describe "
|
19
|
+
describe "the query interface" do
|
20
20
|
before(:all) do
|
21
21
|
Qa::SubjectMeshTerm.create(term_id: '1', term: 'Mr Plow', term_lower: 'mr plow')
|
22
22
|
Qa::SubjectMeshTerm.create(term_id: '2', term: 'Mr Snow', term_lower: 'mr snow')
|
@@ -27,18 +27,22 @@ describe Qa::Authorities::Mesh do
|
|
27
27
|
Qa::SubjectMeshTerm.delete_all
|
28
28
|
end
|
29
29
|
|
30
|
+
let(:m) { Qa::Authorities::Mesh.new }
|
31
|
+
|
30
32
|
it "handles queries" do
|
31
|
-
|
32
|
-
|
33
|
-
results
|
34
|
-
|
35
|
-
|
33
|
+
results = m.search('mr')
|
34
|
+
expect(results).to include( {id: '1', label: 'Mr Plow'} )
|
35
|
+
expect(results.length).to eq(3)
|
36
|
+
end
|
37
|
+
|
38
|
+
it "returns individual records" do
|
39
|
+
result = m.find('2')
|
40
|
+
expect(result).to eq({id: '2', label: 'Mr Snow', synonyms: []})
|
36
41
|
end
|
37
42
|
|
38
|
-
it "
|
39
|
-
m
|
40
|
-
|
41
|
-
result.should == {id: '2', label: 'Mr Snow', synonyms: []}
|
43
|
+
it "returns all records" do
|
44
|
+
expect(m.all.count).to eq(3)
|
45
|
+
expect(m.all).to include({:id=>"2", :label=>"Mr Snow"})
|
42
46
|
end
|
43
47
|
end
|
44
48
|
end
|
@@ -10,40 +10,40 @@ describe Qa::Authorities::Oclcts do
|
|
10
10
|
stub_request(:get, "http://tspilot.oclc.org/mesh/?maximumRecords=10&operation=searchRetrieve&query=dc.identifier%20exact%20%22D031329Q000821%22&recordPacking=xml&recordSchema=http://zthes.z3950.org/xml/1.0/&recordXPath=&resultSetTTL=300&sortKeys=&startRecord=1&version=1.1").
|
11
11
|
to_return(:body => webmock_fixture("oclcts-response-mesh-3.txt"), :status => 200)
|
12
12
|
|
13
|
-
@first_query = Qa::Authorities::Oclcts.new
|
14
|
-
@terms = @first_query.search("ball"
|
15
|
-
@term_record = @first_query.
|
16
|
-
@second_query = Qa::Authorities::Oclcts.new
|
17
|
-
@second_query.search("alph"
|
13
|
+
@first_query = Qa::Authorities::Oclcts.new("mesh")
|
14
|
+
@terms = @first_query.search("ball")
|
15
|
+
@term_record = @first_query.find(@terms.first["id"])
|
16
|
+
@second_query = Qa::Authorities::Oclcts.new("mesh")
|
17
|
+
@second_query.search("alph")
|
18
18
|
end
|
19
19
|
|
20
20
|
describe "a query for terms" do
|
21
21
|
|
22
22
|
it "should have an array of hashes that match the query" do
|
23
|
-
@terms.
|
24
|
-
@terms.first.
|
25
|
-
@terms.first["label"].
|
26
|
-
@terms.first["label"].
|
23
|
+
expect(@terms).to be_kind_of Array
|
24
|
+
expect(@terms.first).to be_kind_of Hash
|
25
|
+
expect(@terms.first["label"]).to be_kind_of String
|
26
|
+
expect(@terms.first["label"]).to include "Ballota"
|
27
27
|
end
|
28
28
|
|
29
29
|
it "should have an array of hashes containing unique id and label" do
|
30
|
-
@terms.first.
|
31
|
-
@terms.first.
|
30
|
+
expect(@terms.first).to have_key("id")
|
31
|
+
expect(@terms.first).to have_key("label")
|
32
32
|
end
|
33
33
|
|
34
34
|
end
|
35
35
|
|
36
36
|
describe "a query for a single item" do
|
37
37
|
it "should have a hash of values that represent the item requested" do
|
38
|
-
@term_record.
|
39
|
-
@term_record.values.
|
40
|
-
@term_record.values.
|
38
|
+
expect(@term_record).to be_kind_of Hash
|
39
|
+
expect(@term_record.values).to include @terms.first["id"]
|
40
|
+
expect(@term_record.values).to include @terms.first["label"]
|
41
41
|
end
|
42
42
|
|
43
43
|
it "should succeed for valid ids, even if the id is not in the initial list of responses" do
|
44
|
-
record = @second_query.
|
45
|
-
record.values.
|
46
|
-
record.values.
|
44
|
+
record = @second_query.find(@terms.first["id"])
|
45
|
+
expect(record.values).to include @terms.first["id"]
|
46
|
+
expect(record.values).to include @terms.first["label"]
|
47
47
|
end
|
48
48
|
end
|
49
49
|
|
@@ -2,17 +2,14 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe Qa::Authorities::Tgnlang do
|
4
4
|
|
5
|
-
|
6
|
-
@terms = Qa::Authorities::Tgnlang.new
|
7
|
-
@terms.search("Tibetan")
|
8
|
-
end
|
5
|
+
let(:subject) { @terms = Qa::Authorities::Tgnlang.new }
|
9
6
|
|
10
|
-
describe "
|
7
|
+
describe "#search" do
|
11
8
|
it "should return unique record with query of Tibetan" do
|
12
|
-
|
9
|
+
expect(subject.search("Tibetan")).to eq([{"id"=>"75446", "label"=>"Tibetan"}])
|
13
10
|
end
|
14
11
|
it "should return type Array" do
|
15
|
-
|
12
|
+
expect(subject.search("Tibetan")).to be_kind_of(Array)
|
16
13
|
end
|
17
14
|
end
|
18
15
|
|
@@ -11,8 +11,8 @@ B = more than one
|
|
11
11
|
EOS
|
12
12
|
mesh = Qa::Authorities::MeshTools::MeshDataParser.new(StringIO.new(data))
|
13
13
|
records = mesh.all_records
|
14
|
-
records.length.
|
15
|
-
records[0].
|
14
|
+
expect(records.length).to eq(1)
|
15
|
+
expect(records[0]).to eq({'A'=>['45'],'B'=>['a = b = c = d','more than one']})
|
16
16
|
end
|
17
17
|
|
18
18
|
it "handles two records" do
|
@@ -28,9 +28,9 @@ print entry = test
|
|
28
28
|
EOS
|
29
29
|
mesh = Qa::Authorities::MeshTools::MeshDataParser.new(StringIO.new(data))
|
30
30
|
records = mesh.all_records
|
31
|
-
records.length.
|
32
|
-
records[0].
|
33
|
-
records[1].
|
31
|
+
expect(records.length).to eq(2)
|
32
|
+
expect(records[0]).to eq({'A'=>['45'],'B'=>['a = b = c = d']})
|
33
|
+
expect(records[1]).to eq({'A'=>['another field'], 'print entry'=>['test']})
|
34
34
|
end
|
35
35
|
|
36
36
|
it 'ignores bad input' do
|
@@ -43,16 +43,16 @@ B=no space
|
|
43
43
|
EOS
|
44
44
|
mesh = Qa::Authorities::MeshTools::MeshDataParser.new(StringIO.new(data))
|
45
45
|
records = mesh.all_records
|
46
|
-
records.length.
|
47
|
-
records[0].
|
48
|
-
records[1].
|
46
|
+
expect(records.length).to eq(2)
|
47
|
+
expect(records[0]).to eq({'A'=>['45']})
|
48
|
+
expect(records[1]).to eq({})
|
49
49
|
end
|
50
50
|
|
51
51
|
it 'parses a sample mesh file' do
|
52
52
|
mesh = Qa::Authorities::MeshTools::MeshDataParser.new(webmock_fixture('mesh.txt'))
|
53
53
|
records = mesh.all_records
|
54
|
-
records.length.
|
55
|
-
records[0].
|
54
|
+
expect(records.length).to eq(11)
|
55
|
+
expect(records[0]).to eq({
|
56
56
|
"RECTYPE" => ["D"],
|
57
57
|
"MH" => ["Malaria"],
|
58
58
|
"AQ" => ["BL CF CI CL CN CO DH DI DT EC EH EM EN EP ET GE HI IM ME MI MO NU PA PC PP PS PX RA RH RI RT SU TH TM UR US VE VI"],
|
@@ -86,8 +86,8 @@ EOS
|
|
86
86
|
"DA" => ["19990101"],
|
87
87
|
"DC" => ["1"],
|
88
88
|
"UI" => ["D008288"]
|
89
|
-
}
|
90
|
-
records[1].
|
89
|
+
})
|
90
|
+
expect(records[1]).to eq({
|
91
91
|
"RECTYPE" => ["D"],
|
92
92
|
"MH" => ["Calcimycin"],
|
93
93
|
"AQ" => ["AA AD AE AG AI AN BI BL CF CH CL CS CT DU EC HI IM IP ME PD PK PO RE SD ST TO TU UR"],
|
@@ -119,7 +119,7 @@ EOS
|
|
119
119
|
"DC" => ["1"],
|
120
120
|
"DX" => ["19840101"],
|
121
121
|
"UI" => ["D000001"]
|
122
|
-
}
|
122
|
+
})
|
123
123
|
end
|
124
124
|
end
|
125
125
|
|
@@ -20,13 +20,13 @@ describe "mesh rake tasks" do
|
|
20
20
|
$stdout = STDOUT
|
21
21
|
end
|
22
22
|
it "should have 'environment' as a prereq" do
|
23
|
-
@rake[@task_name].prerequisites.
|
23
|
+
expect(@rake[@task_name].prerequisites).to include("environment")
|
24
24
|
end
|
25
25
|
it "should require $MESH_FILE to be set" do
|
26
26
|
old_mesh_file = ENV.delete('MESH_FILE')
|
27
27
|
@rake[@task_name].invoke
|
28
28
|
@output.seek(0)
|
29
|
-
@output.read.
|
29
|
+
expect(@output.read).to match(/Need to set \$MESH_FILE with path to file to ingest/)
|
30
30
|
ENV['MESH_FILE'] = old_mesh_file
|
31
31
|
end
|
32
32
|
it "should create or update all records in the config file" do
|
@@ -35,8 +35,8 @@ describe "mesh rake tasks" do
|
|
35
35
|
expect(File).to receive(:open).with("dummy").and_yield(input)
|
36
36
|
@rake[@task_name].invoke
|
37
37
|
term = Qa::SubjectMeshTerm.find_by_term_id(5)
|
38
|
-
term.
|
39
|
-
term.term.
|
38
|
+
expect(term).not_to be_nil
|
39
|
+
expect(term.term).to eq("test")
|
40
40
|
ENV['MESH_FILE'] = nil
|
41
41
|
end
|
42
42
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
describe Qa::SubjectMeshTerm do
|
3
|
+
describe Qa::SubjectMeshTerm, :type => :model do
|
4
4
|
before(:all) do
|
5
5
|
@term = Qa::SubjectMeshTerm.new
|
6
6
|
@term.term_id = "ABCDEFG"
|
@@ -11,17 +11,17 @@ describe Qa::SubjectMeshTerm do
|
|
11
11
|
@term.destroy
|
12
12
|
end
|
13
13
|
it "returns an empty synonym list" do
|
14
|
-
@term.synonyms.
|
14
|
+
expect(@term.synonyms).to eq([])
|
15
15
|
end
|
16
16
|
it "returns a list of trees" do
|
17
|
-
@term.trees.
|
17
|
+
expect(@term.trees).to eq([])
|
18
18
|
end
|
19
19
|
it "saves a synonym list" do
|
20
20
|
a = Qa::SubjectMeshTerm.new
|
21
21
|
a.term_id = 'a'
|
22
22
|
a.synonyms = ['b','c']
|
23
23
|
a.save
|
24
|
-
a.synonyms.
|
24
|
+
expect(a.synonyms).to eq(['b', 'c'])
|
25
25
|
end
|
26
26
|
it "finds a term by tree number" do
|
27
27
|
t = Qa::MeshTree.new
|
@@ -29,7 +29,7 @@ describe Qa::SubjectMeshTerm do
|
|
29
29
|
t.tree_number = "D1.2.3.4"
|
30
30
|
t.save!
|
31
31
|
a = Qa::SubjectMeshTerm.from_tree_number("D1.2.3.4")
|
32
|
-
a.length.
|
32
|
+
expect(a.length).to eq(1)
|
33
33
|
end
|
34
34
|
|
35
35
|
it "returns parents"
|
@@ -0,0 +1,34 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe "QA Routes", :type => :routing do
|
4
|
+
|
5
|
+
routes { Qa::Engine.routes }
|
6
|
+
|
7
|
+
context "listing terms" do
|
8
|
+
it "should route to index with an authority" do
|
9
|
+
expect({ get: '/terms/vocab' }).to route_to(controller: 'qa/terms', action: 'index', vocab: 'vocab')
|
10
|
+
end
|
11
|
+
it "should route to index with an authority and a subauthority" do
|
12
|
+
expect({ get: '/terms/vocab/sub' }).to route_to(controller: 'qa/terms', action: 'index', vocab: 'vocab', sub_authority: 'sub')
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
context "searching for terms" do
|
17
|
+
it "should route to searching for an authority" do
|
18
|
+
expect({ get: '/search/vocab' }).to route_to(controller: 'qa/terms', action: 'search', vocab: 'vocab')
|
19
|
+
end
|
20
|
+
it "should route to searching for an authority and a subauthority" do
|
21
|
+
expect({ get: '/search/vocab/sub' }).to route_to(controller: 'qa/terms', action: 'search', vocab: 'vocab', sub_authority: 'sub')
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
context "displaying a single term" do
|
26
|
+
it "should route to an authority" do
|
27
|
+
expect({ get: '/show/vocab/term_id' }).to route_to(controller: 'qa/terms', action: 'show', vocab: 'vocab', id: 'term_id')
|
28
|
+
end
|
29
|
+
it "should route to an authority with a subauthority" do
|
30
|
+
expect({ get: '/show/vocab/sub/term_id' }).to route_to(controller: 'qa/terms', action: 'show', vocab: 'vocab', sub_authority: 'sub', id: 'term_id')
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -2,40 +2,23 @@ require File.expand_path("../internal/config/environment.rb", __FILE__)
|
|
2
2
|
require 'rspec/rails'
|
3
3
|
require 'webmock/rspec'
|
4
4
|
require 'engine_cart'
|
5
|
+
require 'simplecov'
|
6
|
+
require 'byebug' unless ENV['TRAVIS']
|
5
7
|
|
6
|
-
ENV["RAILS_ENV"] ||=
|
7
|
-
|
8
|
-
if ENV['COVERAGE']
|
9
|
-
require 'simplecov'
|
10
|
-
SimpleCov.start 'rails'
|
11
|
-
SimpleCov.command_name "spec"
|
12
|
-
end
|
8
|
+
ENV["RAILS_ENV"] ||= "test"
|
13
9
|
|
10
|
+
SimpleCov.start "rails"
|
11
|
+
SimpleCov.command_name "spec"
|
14
12
|
EngineCart.load_application!
|
15
13
|
|
16
14
|
# Requires supporting ruby files with custom matchers and macros, etc,
|
17
15
|
# in spec/support/ and its subdirectories.
|
18
16
|
Dir[Rails.root.join("spec/support/**/*.rb")].each { |f| require f }
|
19
17
|
|
20
|
-
# Checks for pending migrations before tests are run.
|
21
|
-
# If you are not using ActiveRecord, you can remove this line.
|
22
|
-
ActiveRecord::Migration.check_pending! if defined?(ActiveRecord::Migration)
|
23
|
-
|
24
18
|
RSpec.configure do |config|
|
25
|
-
# ## Mock Framework
|
26
|
-
#
|
27
|
-
# If you prefer to use mocha, flexmock or RR, uncomment the appropriate line:
|
28
|
-
#
|
29
|
-
# config.mock_with :mocha
|
30
|
-
# config.mock_with :flexmock
|
31
|
-
# config.mock_with :rr
|
32
19
|
|
33
|
-
# Remove this line if you're not using ActiveRecord or ActiveRecord fixtures
|
34
20
|
config.fixture_path = "../spec/fixtures"
|
35
21
|
|
36
|
-
# If you're not using ActiveRecord, or you'd prefer not to run each of your
|
37
|
-
# examples within a transaction, remove the following line or assign false
|
38
|
-
# instead of true.
|
39
22
|
config.use_transactional_fixtures = true
|
40
23
|
|
41
24
|
# If true, the base class of anonymous controllers will be inferred
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: qa
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stephen Anderson
|
@@ -15,7 +15,7 @@ authors:
|
|
15
15
|
autorequire:
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
|
-
date:
|
18
|
+
date: 2015-03-12 00:00:00.000000000 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: rails
|
@@ -163,6 +163,20 @@ dependencies:
|
|
163
163
|
- - ">="
|
164
164
|
- !ruby/object:Gem::Version
|
165
165
|
version: '0'
|
166
|
+
- !ruby/object:Gem::Dependency
|
167
|
+
name: byebug
|
168
|
+
requirement: !ruby/object:Gem::Requirement
|
169
|
+
requirements:
|
170
|
+
- - ">="
|
171
|
+
- !ruby/object:Gem::Version
|
172
|
+
version: '0'
|
173
|
+
type: :development
|
174
|
+
prerelease: false
|
175
|
+
version_requirements: !ruby/object:Gem::Requirement
|
176
|
+
requirements:
|
177
|
+
- - ">="
|
178
|
+
- !ruby/object:Gem::Version
|
179
|
+
version: '0'
|
166
180
|
description: Provides a set of uniform RESTful routes to query any controlled vocabulary
|
167
181
|
or set of authority terms.
|
168
182
|
email:
|
@@ -200,9 +214,11 @@ files:
|
|
200
214
|
- lib/qa.rb
|
201
215
|
- lib/qa/authorities.rb
|
202
216
|
- lib/qa/authorities/base.rb
|
217
|
+
- lib/qa/authorities/getty.rb
|
203
218
|
- lib/qa/authorities/loc.rb
|
219
|
+
- lib/qa/authorities/loc_subauthority.rb
|
204
220
|
- lib/qa/authorities/local.rb
|
205
|
-
- lib/qa/authorities/
|
221
|
+
- lib/qa/authorities/local_subauthority.rb
|
206
222
|
- lib/qa/authorities/mesh.rb
|
207
223
|
- lib/qa/authorities/mesh_tools.rb
|
208
224
|
- lib/qa/authorities/mesh_tools/mesh_data_parser.rb
|
@@ -216,12 +232,15 @@ files:
|
|
216
232
|
- lib/tasks/mesh.rake
|
217
233
|
- lib/tasks/qa_tasks.rake
|
218
234
|
- spec/controllers/terms_controller_spec.rb
|
235
|
+
- spec/fixtures/aat-response.txt
|
219
236
|
- spec/fixtures/authorities/authority_A.yml
|
220
237
|
- spec/fixtures/authorities/authority_B.yml
|
221
238
|
- spec/fixtures/authorities/authority_C.yml
|
222
239
|
- spec/fixtures/authorities/authority_D.yml
|
240
|
+
- spec/fixtures/getty-aat-find-response.json
|
223
241
|
- spec/fixtures/loc-names-response.txt
|
224
242
|
- spec/fixtures/loc-response.txt
|
243
|
+
- spec/fixtures/loc-subject-find-response.txt
|
225
244
|
- spec/fixtures/loc-subjects-response.txt
|
226
245
|
- spec/fixtures/mesh.txt
|
227
246
|
- spec/fixtures/oclcts-response-mesh-1.txt
|
@@ -239,7 +258,7 @@ files:
|
|
239
258
|
- spec/internal/bin/bundle
|
240
259
|
- spec/internal/bin/rails
|
241
260
|
- spec/internal/bin/rake
|
242
|
-
- spec/internal/bin/
|
261
|
+
- spec/internal/bin/setup
|
243
262
|
- spec/internal/config.ru
|
244
263
|
- spec/internal/config/application.rb
|
245
264
|
- spec/internal/config/authorities.yml
|
@@ -254,6 +273,7 @@ files:
|
|
254
273
|
- spec/internal/config/environments/development.rb
|
255
274
|
- spec/internal/config/environments/production.rb
|
256
275
|
- spec/internal/config/environments/test.rb
|
276
|
+
- spec/internal/config/initializers/assets.rb
|
257
277
|
- spec/internal/config/initializers/backtrace_silencers.rb
|
258
278
|
- spec/internal/config/initializers/cookies_serializer.rb
|
259
279
|
- spec/internal/config/initializers/filter_parameter_logging.rb
|
@@ -266,9 +286,9 @@ files:
|
|
266
286
|
- spec/internal/config/routes.rb
|
267
287
|
- spec/internal/config/secrets.yml
|
268
288
|
- spec/internal/db/development.sqlite3
|
269
|
-
- spec/internal/db/migrate/
|
270
|
-
- spec/internal/db/migrate/
|
271
|
-
- spec/internal/db/migrate/
|
289
|
+
- spec/internal/db/migrate/20150311214117_create_qa_subject_mesh_terms.qa.rb
|
290
|
+
- spec/internal/db/migrate/20150311214118_create_qa_mesh_tree.qa.rb
|
291
|
+
- spec/internal/db/migrate/20150311214119_add_term_lower_to_qa_subject_mesh_terms.qa.rb
|
272
292
|
- spec/internal/db/schema.rb
|
273
293
|
- spec/internal/db/seeds.rb
|
274
294
|
- spec/internal/db/test.sqlite3
|
@@ -280,14 +300,18 @@ files:
|
|
280
300
|
- spec/internal/public/favicon.ico
|
281
301
|
- spec/internal/public/robots.txt
|
282
302
|
- spec/internal/test/test_helper.rb
|
303
|
+
- spec/lib/authorities_getty_spec.rb
|
283
304
|
- spec/lib/authorities_loc_spec.rb
|
305
|
+
- spec/lib/authorities_loc_subauthorities.rb
|
284
306
|
- spec/lib/authorities_local_spec.rb
|
307
|
+
- spec/lib/authorities_local_subauthorities_spec.rb
|
285
308
|
- spec/lib/authorities_mesh_spec.rb
|
286
309
|
- spec/lib/authorities_oclcts_spec.rb
|
287
310
|
- spec/lib/authorities_tgnlang_spec.rb
|
288
311
|
- spec/lib/mesh_data_parser_spec.rb
|
289
312
|
- spec/lib/tasks/mesh.rake_spec.rb
|
290
313
|
- spec/models/subject_mesh_term_spec.rb
|
314
|
+
- spec/routing/route_spec.rb
|
291
315
|
- spec/spec_helper.rb
|
292
316
|
- spec/test_app_templates/lib/generators/test_app_generator.rb
|
293
317
|
homepage: https://github.com/projecthydra/questioning_authority
|
@@ -310,18 +334,21 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
310
334
|
version: '0'
|
311
335
|
requirements: []
|
312
336
|
rubyforge_project:
|
313
|
-
rubygems_version: 2.
|
337
|
+
rubygems_version: 2.4.5
|
314
338
|
signing_key:
|
315
339
|
specification_version: 4
|
316
340
|
summary: You should question your authorities.
|
317
341
|
test_files:
|
318
342
|
- spec/controllers/terms_controller_spec.rb
|
343
|
+
- spec/fixtures/aat-response.txt
|
319
344
|
- spec/fixtures/authorities/authority_A.yml
|
320
345
|
- spec/fixtures/authorities/authority_B.yml
|
321
346
|
- spec/fixtures/authorities/authority_C.yml
|
322
347
|
- spec/fixtures/authorities/authority_D.yml
|
348
|
+
- spec/fixtures/getty-aat-find-response.json
|
323
349
|
- spec/fixtures/loc-names-response.txt
|
324
350
|
- spec/fixtures/loc-response.txt
|
351
|
+
- spec/fixtures/loc-subject-find-response.txt
|
325
352
|
- spec/fixtures/loc-subjects-response.txt
|
326
353
|
- spec/fixtures/mesh.txt
|
327
354
|
- spec/fixtures/oclcts-response-mesh-1.txt
|
@@ -335,7 +362,7 @@ test_files:
|
|
335
362
|
- spec/internal/bin/bundle
|
336
363
|
- spec/internal/bin/rails
|
337
364
|
- spec/internal/bin/rake
|
338
|
-
- spec/internal/bin/
|
365
|
+
- spec/internal/bin/setup
|
339
366
|
- spec/internal/config/application.rb
|
340
367
|
- spec/internal/config/authorities/authority_A.yml
|
341
368
|
- spec/internal/config/authorities/authority_B.yml
|
@@ -349,6 +376,7 @@ test_files:
|
|
349
376
|
- spec/internal/config/environments/development.rb
|
350
377
|
- spec/internal/config/environments/production.rb
|
351
378
|
- spec/internal/config/environments/test.rb
|
379
|
+
- spec/internal/config/initializers/assets.rb
|
352
380
|
- spec/internal/config/initializers/backtrace_silencers.rb
|
353
381
|
- spec/internal/config/initializers/cookies_serializer.rb
|
354
382
|
- spec/internal/config/initializers/filter_parameter_logging.rb
|
@@ -362,9 +390,9 @@ test_files:
|
|
362
390
|
- spec/internal/config/secrets.yml
|
363
391
|
- spec/internal/config.ru
|
364
392
|
- spec/internal/db/development.sqlite3
|
365
|
-
- spec/internal/db/migrate/
|
366
|
-
- spec/internal/db/migrate/
|
367
|
-
- spec/internal/db/migrate/
|
393
|
+
- spec/internal/db/migrate/20150311214117_create_qa_subject_mesh_terms.qa.rb
|
394
|
+
- spec/internal/db/migrate/20150311214118_create_qa_mesh_tree.qa.rb
|
395
|
+
- spec/internal/db/migrate/20150311214119_add_term_lower_to_qa_subject_mesh_terms.qa.rb
|
368
396
|
- spec/internal/db/schema.rb
|
369
397
|
- spec/internal/db/seeds.rb
|
370
398
|
- spec/internal/db/test.sqlite3
|
@@ -380,13 +408,17 @@ test_files:
|
|
380
408
|
- spec/internal/Rakefile
|
381
409
|
- spec/internal/README.rdoc
|
382
410
|
- spec/internal/test/test_helper.rb
|
411
|
+
- spec/lib/authorities_getty_spec.rb
|
383
412
|
- spec/lib/authorities_loc_spec.rb
|
413
|
+
- spec/lib/authorities_loc_subauthorities.rb
|
384
414
|
- spec/lib/authorities_local_spec.rb
|
415
|
+
- spec/lib/authorities_local_subauthorities_spec.rb
|
385
416
|
- spec/lib/authorities_mesh_spec.rb
|
386
417
|
- spec/lib/authorities_oclcts_spec.rb
|
387
418
|
- spec/lib/authorities_tgnlang_spec.rb
|
388
419
|
- spec/lib/mesh_data_parser_spec.rb
|
389
420
|
- spec/lib/tasks/mesh.rake_spec.rb
|
390
421
|
- spec/models/subject_mesh_term_spec.rb
|
422
|
+
- spec/routing/route_spec.rb
|
391
423
|
- spec/spec_helper.rb
|
392
424
|
- spec/test_app_templates/lib/generators/test_app_generator.rb
|