qa 0.3.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (66) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +24 -21
  3. data/Rakefile +1 -1
  4. data/app/controllers/qa/terms_controller.rb +22 -53
  5. data/config/routes.rb +4 -7
  6. data/lib/qa/authorities.rb +3 -1
  7. data/lib/qa/authorities/base.rb +27 -8
  8. data/lib/qa/authorities/getty.rb +56 -0
  9. data/lib/qa/authorities/loc.rb +27 -131
  10. data/lib/qa/authorities/loc_subauthority.rb +90 -0
  11. data/lib/qa/authorities/local.rb +38 -21
  12. data/lib/qa/authorities/local_subauthority.rb +18 -0
  13. data/lib/qa/authorities/mesh.rb +16 -23
  14. data/lib/qa/authorities/mesh_tools/mesh_data_parser.rb +0 -25
  15. data/lib/qa/authorities/mesh_tools/mesh_importer.rb +0 -2
  16. data/lib/qa/authorities/oclcts.rb +17 -24
  17. data/lib/qa/authorities/tgnlang.rb +4 -18
  18. data/lib/qa/authorities/web_service_base.rb +3 -10
  19. data/lib/qa/version.rb +1 -1
  20. data/spec/controllers/terms_controller_spec.rb +93 -44
  21. data/spec/fixtures/aat-response.txt +108 -0
  22. data/spec/fixtures/getty-aat-find-response.json +2494 -0
  23. data/spec/fixtures/loc-response.txt +1521 -17
  24. data/spec/fixtures/loc-subject-find-response.txt +24 -0
  25. data/spec/internal/Gemfile +16 -13
  26. data/spec/internal/Gemfile.lock +121 -86
  27. data/spec/internal/app/assets/javascripts/application.js +1 -1
  28. data/spec/internal/app/assets/stylesheets/application.css +1 -1
  29. data/spec/internal/bin/rails +1 -5
  30. data/spec/internal/bin/rake +0 -4
  31. data/spec/internal/bin/setup +29 -0
  32. data/spec/internal/config.ru +1 -1
  33. data/spec/internal/config/application.rb +3 -0
  34. data/spec/internal/config/boot.rb +1 -2
  35. data/spec/internal/config/environments/development.rb +4 -0
  36. data/spec/internal/config/environments/production.rb +14 -18
  37. data/spec/internal/config/environments/test.rb +5 -2
  38. data/spec/internal/config/initializers/assets.rb +11 -0
  39. data/spec/internal/config/initializers/cookies_serializer.rb +1 -1
  40. data/spec/internal/config/secrets.yml +2 -2
  41. data/spec/internal/db/development.sqlite3 +0 -0
  42. data/spec/internal/db/migrate/{20140620210534_create_qa_subject_mesh_terms.qa.rb → 20150311214117_create_qa_subject_mesh_terms.qa.rb} +0 -0
  43. data/spec/internal/db/migrate/{20140620210535_create_qa_mesh_tree.qa.rb → 20150311214118_create_qa_mesh_tree.qa.rb} +0 -0
  44. 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
  45. data/spec/internal/db/schema.rb +3 -3
  46. data/spec/internal/db/test.sqlite3 +0 -0
  47. data/spec/internal/lib/generators/test_app_generator.rb +0 -1
  48. data/spec/internal/log/development.log +498 -207
  49. data/spec/internal/test/test_helper.rb +0 -3
  50. data/spec/lib/authorities_getty_spec.rb +71 -0
  51. data/spec/lib/authorities_loc_spec.rb +98 -65
  52. data/spec/lib/authorities_loc_subauthorities.rb +81 -0
  53. data/spec/lib/authorities_local_spec.rb +53 -79
  54. data/spec/lib/authorities_local_subauthorities_spec.rb +43 -0
  55. data/spec/lib/authorities_mesh_spec.rb +16 -12
  56. data/spec/lib/authorities_oclcts_spec.rb +17 -17
  57. data/spec/lib/authorities_tgnlang_spec.rb +4 -7
  58. data/spec/lib/mesh_data_parser_spec.rb +13 -13
  59. data/spec/lib/tasks/mesh.rake_spec.rb +4 -4
  60. data/spec/models/subject_mesh_term_spec.rb +5 -5
  61. data/spec/routing/route_spec.rb +34 -0
  62. data/spec/spec_helper.rb +5 -22
  63. data/spec/test_app_templates/lib/generators/test_app_generator.rb +0 -1
  64. metadata +44 -12
  65. data/lib/qa/authorities/local/subauthority.rb +0 -65
  66. 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.should == 1
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.should == 11
16
+ expect(Qa::SubjectMeshTerm.all.length).to eq(11)
17
17
  end
18
18
 
19
- describe "#results" do
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
- m = Qa::Authorities::Mesh.new
32
- m.search('mr')
33
- results = m.results
34
- results.should include( {id: '1', label: 'Mr Plow'} )
35
- results.length.should == 3
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 "gets full records" do
39
- m = Qa::Authorities::Mesh.new
40
- result = m.full_record('2')
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", "mesh")
15
- @term_record = @first_query.full_record(@terms.first["id"], "mesh")
16
- @second_query = Qa::Authorities::Oclcts.new
17
- @second_query.search("alph", "mesh")
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.should be_kind_of Array
24
- @terms.first.should be_kind_of Hash
25
- @terms.first["label"].should be_kind_of String
26
- @terms.first["label"].should include "Ballota"
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.should have_key("id")
31
- @terms.first.should have_key("label")
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.should be_kind_of Hash
39
- @term_record.values.should include @terms.first["id"]
40
- @term_record.values.should include @terms.first["label"]
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.full_record(@terms.first["id"], "mesh")
45
- record.values.should include @terms.first["id"]
46
- record.values.should include @terms.first["label"]
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
- before :all do
6
- @terms = Qa::Authorities::Tgnlang.new
7
- @terms.search("Tibetan")
8
- end
5
+ let(:subject) { @terms = Qa::Authorities::Tgnlang.new }
9
6
 
10
- describe "response from dataset" do
7
+ describe "#search" do
11
8
  it "should return unique record with query of Tibetan" do
12
- @terms.results.should == [{"id"=>"75446", "label"=>"Tibetan"}]
9
+ expect(subject.search("Tibetan")).to eq([{"id"=>"75446", "label"=>"Tibetan"}])
13
10
  end
14
11
  it "should return type Array" do
15
- @terms.results.class.should == Array
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.should == 1
15
- records[0].should == {'A'=>['45'],'B'=>['a = b = c = d','more than one']}
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.should == 2
32
- records[0].should == {'A'=>['45'],'B'=>['a = b = c = d']}
33
- records[1].should == {'A'=>['another field'], 'print entry'=>['test']}
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.should == 2
47
- records[0].should == {'A'=>['45']}
48
- records[1].should == {}
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.should == 11
55
- records[0].should == {
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].should == {
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.should include("environment")
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.should =~ /Need to set \$MESH_FILE with path to file to ingest/
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.should_not be_nil
39
- term.term.should == "test"
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.should == []
14
+ expect(@term.synonyms).to eq([])
15
15
  end
16
16
  it "returns a list of trees" do
17
- @term.trees.should == []
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.should == ['b', 'c']
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.should == 1
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
@@ -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"] ||= 'test'
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
@@ -24,7 +24,6 @@ class TestAppGenerator < Rails::Generators::Base
24
24
  def run_migrations
25
25
  rake "qa:install:migrations"
26
26
  rake "db:migrate"
27
- rake "db:test:prepare"
28
27
  end
29
28
 
30
29
  end
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.3.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: 2014-06-20 00:00:00.000000000 Z
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/local/subauthority.rb
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/spring
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/20140620210534_create_qa_subject_mesh_terms.qa.rb
270
- - spec/internal/db/migrate/20140620210535_create_qa_mesh_tree.qa.rb
271
- - spec/internal/db/migrate/20140620210536_add_term_lower_to_qa_subject_mesh_terms.qa.rb
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.2.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/spring
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/20140620210534_create_qa_subject_mesh_terms.qa.rb
366
- - spec/internal/db/migrate/20140620210535_create_qa_mesh_tree.qa.rb
367
- - spec/internal/db/migrate/20140620210536_add_term_lower_to_qa_subject_mesh_terms.qa.rb
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