qa 0.1.0 → 0.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 +23 -23
- data/Rakefile +9 -6
- data/lib/generators/qa/install/USAGE +5 -0
- data/lib/generators/qa/install/install_generator.rb +13 -0
- data/lib/generators/qa/install/templates/config/oclcts-authorities.yml +24 -0
- data/lib/qa/authorities/loc.rb +35 -18
- data/lib/qa/version.rb +1 -1
- data/spec/controllers/terms_controller_spec.rb +10 -10
- data/spec/fixtures/loc-response.txt +85 -2
- data/spec/internal/Gemfile +4 -6
- data/spec/internal/Gemfile.lock +42 -65
- data/spec/internal/config/application.rb +1 -1
- data/spec/internal/config/boot.rb +1 -1
- data/spec/internal/config/initializers/secret_token.rb +1 -1
- data/spec/internal/config/oclcts-authorities.yml +24 -0
- data/spec/internal/config/routes.rb +2 -0
- data/spec/internal/db/development.sqlite3 +0 -0
- data/spec/internal/db/migrate/20140611161143_create_qa_subject_mesh_terms.qa.rb +12 -0
- data/spec/internal/db/migrate/20140611161144_create_qa_mesh_tree.qa.rb +11 -0
- data/spec/internal/db/migrate/20140611161145_add_term_lower_to_qa_subject_mesh_terms.qa.rb +8 -0
- data/spec/internal/db/schema.rb +34 -0
- data/spec/internal/db/test.sqlite3 +0 -0
- data/spec/internal/lib/generators/test_app_generator.rb +13 -11
- data/spec/internal/log/development.log +212 -0
- data/spec/internal/public/robots.txt +1 -1
- data/spec/lib/authorities_loc_spec.rb +21 -0
- data/spec/spec_helper.rb +5 -1
- data/spec/test_app_templates/lib/generators/test_app_generator.rb +22 -0
- metadata +57 -24
- data/spec/support/lib/generators/test_app_generator.rb +0 -20
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8822d1805cf5688f8efa87ccabaf20d5e84a07dd
|
4
|
+
data.tar.gz: 97edb3df48fa497fafaa6e82c7a98b793cbe952b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4f271ed20bc568662f0f74a84804b6eb23c659f9894dc0719bd567210b501dec1a93c733d51aee9260519ee59ae1518e07726eaa56ad2716af0e3bd1adc20a5e
|
7
|
+
data.tar.gz: eb5de6d6f4f892d8661568a6e889cb22ca408acc2957a19a308261763383ab34fc1661dc35b2758775dcdde92d0f0d59b4c7f7867a4a8f77ecddf7d266778022
|
data/README.md
CHANGED
@@ -34,9 +34,15 @@ Add the gem to your Gemfile
|
|
34
34
|
|
35
35
|
gem 'qa'
|
36
36
|
|
37
|
-
|
37
|
+
Run bundler
|
38
38
|
|
39
|
-
|
39
|
+
bundle install
|
40
|
+
|
41
|
+
Install the gem to your application
|
42
|
+
|
43
|
+
rails generate qa:install
|
44
|
+
|
45
|
+
This will copy over some additional config files and add the engine's routes to your `config/route.rb`.
|
40
46
|
|
41
47
|
Start questioning your authorities!
|
42
48
|
|
@@ -137,14 +143,16 @@ for the "states" sub-authority would be named states.yml.
|
|
137
143
|
:term: Term 2
|
138
144
|
:active: false
|
139
145
|
|
140
|
-
#
|
146
|
+
# Experimental Features
|
147
|
+
|
148
|
+
## Medical Subject Headings (MeSH)
|
141
149
|
|
142
150
|
Provides autocompletion of [MeSH terms](http://www.nlm.nih.gov/mesh/introduction.html). This
|
143
151
|
implementation is simple, and only provides *descriptors* and does not implement *qualifiers* (in
|
144
152
|
the technical MeSH sense of these terms). The terms are stored in a local database, which is then
|
145
153
|
queried to provide the suggestions.
|
146
154
|
|
147
|
-
|
155
|
+
### Loading Terms
|
148
156
|
|
149
157
|
To import the mesh terms into the local database, first download the MeSH descriptor dump in ASCII
|
150
158
|
format (see [http://www.nlm.nih.gov/mesh/filelist.html][]). Once you have this file, the rake task
|
@@ -154,25 +162,10 @@ format (see [http://www.nlm.nih.gov/mesh/filelist.html][]). Once you have this
|
|
154
162
|
|
155
163
|
This may take a few minutes to finish.
|
156
164
|
|
157
|
-
# TODOs
|
158
|
-
|
159
|
-
* Provide show method to TermsController to return individual terms
|
160
|
-
|
161
|
-
check the issue list for more...
|
162
|
-
|
163
|
-
# Known Issues
|
164
|
-
|
165
|
-
Some users have reported errors resulting from the curb gem. When performing queries, the application will crash with the error:
|
166
|
-
|
167
|
-
Trace/BPT trap: 5
|
168
|
-
|
169
|
-
The solution is to install the curb gem from the master branch on Github. To do this, add the following line to the Gemfile of your
|
170
|
-
application:
|
171
|
-
|
172
|
-
gem 'curb', github: 'taf2/curb'
|
173
|
-
|
174
165
|
# Developer Notes
|
175
166
|
|
167
|
+
[How to Contribute](./CONTRIBUTING.md)
|
168
|
+
|
176
169
|
To develop this gem, clone the repository, then run:
|
177
170
|
|
178
171
|
bundle install
|
@@ -181,7 +174,15 @@ To develop this gem, clone the repository, then run:
|
|
181
174
|
This will install the gems, create a dummy application under spec/internal and run the tests. After you've made changes, remove the entire spec/internal
|
182
175
|
directory so that further tests and run against a new dummy application.
|
183
176
|
|
184
|
-
|
177
|
+
## Dependencies and Compatability
|
178
|
+
|
179
|
+
Rails 4
|
180
|
+
|
181
|
+
# Help
|
182
|
+
|
183
|
+
For help with Questioning Authority, contact <hydra-tech@googlegroups.com>.
|
184
|
+
|
185
|
+
# Original Authors
|
185
186
|
|
186
187
|
* [Stephen Anderson](https://github.com/scande3)
|
187
188
|
* [Don Brower](https://github.com/dbrower)
|
@@ -195,4 +196,3 @@ directory so that further tests and run against a new dummy application.
|
|
195
196
|
### Special thanks to...
|
196
197
|
|
197
198
|
[Jeremy Friesen](https://github.com/jeremyf) who gave us the name for our gem.
|
198
|
-
|
data/Rakefile
CHANGED
@@ -1,10 +1,13 @@
|
|
1
1
|
#!/usr/bin/env rake
|
2
|
-
require
|
3
|
-
|
4
|
-
|
2
|
+
require 'bundler/gem_tasks'
|
3
|
+
require 'rspec/core/rake_task'
|
4
|
+
require 'engine_cart/rake_task'
|
5
5
|
|
6
|
-
|
6
|
+
RSpec::Core::RakeTask.new(:spec)
|
7
7
|
|
8
|
-
|
8
|
+
desc "Run continuous integration build"
|
9
|
+
task :ci => ['engine_cart:generate'] do
|
10
|
+
Rake::Task['spec'].invoke
|
11
|
+
end
|
9
12
|
|
10
|
-
task :default =>
|
13
|
+
task :default => :ci
|
@@ -0,0 +1,13 @@
|
|
1
|
+
class Qa::InstallGenerator < Rails::Generators::Base
|
2
|
+
source_root File.expand_path('../templates', __FILE__)
|
3
|
+
|
4
|
+
def inject_routes
|
5
|
+
insert_into_file "config/routes.rb", :after => ".draw do" do
|
6
|
+
%{\n mount Qa::Engine => '/qa'\n}
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
10
|
+
def copy_configs
|
11
|
+
copy_file "config/oclcts-authorities.yml", "config/oclcts-authorities.yml"
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
url-pattern:
|
2
|
+
prefix-query: http://tspilot.oclc.org/{authority-id}/?query=oclcts.rootHeading+exact+%22{query}*%22&version=1.1&operation=searchRetrieve&recordSchema=http%3A%2F%2Fzthes.z3950.org%2Fxml%2F1.0%2F&maximumRecords=10&startRecord=1&resultSetTTL=300&recordPacking=xml&recordXPath=&sortKeys=
|
3
|
+
id-lookup: http://tspilot.oclc.org/{authority-id}/?query=dc.identifier+exact+%22{id}%22&version=1.1&operation=searchRetrieve&recordSchema=http%3A%2F%2Fzthes.z3950.org%2Fxml%2F1.0%2F&maximumRecords=10&startRecord=1&resultSetTTL=300&recordPacking=xml&recordXPath=&sortKeys=
|
4
|
+
authorities:
|
5
|
+
lcgft:
|
6
|
+
name: Library of Congress Genre/Form Terms for Library and Archival Materials (LCGFT)
|
7
|
+
bisacsh:
|
8
|
+
name: Book Industry Study Group Subject Headings (BISAC®). Used with permission.
|
9
|
+
fast:
|
10
|
+
name: Faceted Application of Subject Terminology (FAST subject headings)
|
11
|
+
gsafd:
|
12
|
+
name: Form and genre headings for fiction and drama
|
13
|
+
lcshac:
|
14
|
+
name: Library of Congress AC Subject Headings
|
15
|
+
lcsh:
|
16
|
+
name: Library of Congress Subject Headings
|
17
|
+
mesh:
|
18
|
+
name: Medical Subject Headings (MeSH®)
|
19
|
+
lctgm:
|
20
|
+
name: "Thesaurus for graphic materials: TGM I, Subject terms"
|
21
|
+
gmgpc:
|
22
|
+
name: "Thesaurus for graphic materials: TGM II, Genre terms"
|
23
|
+
meta:
|
24
|
+
name: Controlled Vocabulary Metadata
|
data/lib/qa/authorities/loc.rb
CHANGED
@@ -15,7 +15,8 @@ module Qa::Authorities
|
|
15
15
|
@response = nil
|
16
16
|
return
|
17
17
|
end
|
18
|
-
|
18
|
+
|
19
|
+
q = URI.escape(q)
|
19
20
|
authority_fragment = sub_authorityURL(sub_authority)
|
20
21
|
query_url = "http://id.loc.gov/search/?q=#{q}&q=#{authority_fragment}&format=json"
|
21
22
|
@raw_response = get_json(query_url)
|
@@ -89,26 +90,42 @@ module Qa::Authorities
|
|
89
90
|
@sub_authorities ||= sub_authority_table.keys
|
90
91
|
end
|
91
92
|
|
93
|
+
def parse_authority_response(raw_responses)
|
94
|
+
raw_responses.select {|response| response[0] == "atom:entry"}.map do |response|
|
95
|
+
loc_response_to_qa(response_to_struct(response))
|
96
|
+
end
|
97
|
+
end
|
92
98
|
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
99
|
+
# Converts most of the atom data into an OpenStruct object.
|
100
|
+
#
|
101
|
+
# Note that this is a pretty naive conversion. There should probably just
|
102
|
+
# be a class that properly translates and stores the various pieces of
|
103
|
+
# data, especially if this logic could be useful in other auth lookups.
|
104
|
+
def response_to_struct(response)
|
105
|
+
result = response.each_with_object({}) do |result_parts, result|
|
106
|
+
next unless result_parts[0]
|
107
|
+
key = result_parts[0].sub('atom:', '').sub('dcterms:', '')
|
108
|
+
info = result_parts[1]
|
109
|
+
val = result_parts[2]
|
110
|
+
|
111
|
+
case key
|
112
|
+
when 'title', 'id', 'name', 'updated', 'created'
|
113
|
+
result[key] = val
|
114
|
+
when 'link'
|
115
|
+
result["links"] ||= []
|
116
|
+
result["links"] << [info["type"], info["href"]]
|
106
117
|
end
|
107
|
-
|
108
|
-
id ||= label
|
109
|
-
result << {"id"=>id, "label"=>label}
|
110
118
|
end
|
111
|
-
|
119
|
+
|
120
|
+
OpenStruct.new(result)
|
121
|
+
end
|
122
|
+
|
123
|
+
# Simple conversion from LoC-based struct to QA hash
|
124
|
+
def loc_response_to_qa(data)
|
125
|
+
{
|
126
|
+
"id" => data.id || data.title,
|
127
|
+
"label" => data.title
|
128
|
+
}
|
112
129
|
end
|
113
130
|
|
114
131
|
def find_record_in_response(raw_response, id)
|
data/lib/qa/version.rb
CHANGED
@@ -2,37 +2,37 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe Qa::TermsController do
|
4
4
|
|
5
|
-
before
|
5
|
+
before do
|
6
6
|
@routes = Qa::Engine.routes
|
7
7
|
end
|
8
8
|
|
9
9
|
describe "#index" do
|
10
10
|
|
11
|
-
|
11
|
+
context "with errors" do
|
12
12
|
|
13
13
|
it "should return 400 if no vocabulary is specified" do
|
14
14
|
get :index, { :vocab => nil}
|
15
|
-
response.code.
|
15
|
+
expect(response.code).to eq("400")
|
16
16
|
end
|
17
17
|
|
18
18
|
it "should return 400 if no query is specified" do
|
19
19
|
get :index, { :q => nil}
|
20
|
-
response.code.
|
20
|
+
expect(response.code).to eq("400")
|
21
21
|
end
|
22
22
|
|
23
23
|
it "should return 400 if vocabulary is not valid" do
|
24
24
|
get :index, { :q => "foo", :vocab => "bar" }
|
25
|
-
response.code.
|
25
|
+
expect(response.code).to eq("400")
|
26
26
|
end
|
27
27
|
|
28
28
|
it "should return 400 if sub_authority is not valid" do
|
29
29
|
get :index, { :q => "foo", :vocab => "loc", :sub_authority => "foo" }
|
30
|
-
response.code.
|
30
|
+
expect(response.code).to eq("400")
|
31
31
|
end
|
32
32
|
|
33
33
|
end
|
34
34
|
|
35
|
-
|
35
|
+
context "with successful queries" do
|
36
36
|
|
37
37
|
before :each do
|
38
38
|
stub_request(:get, "http://id.loc.gov/search/?format=json&q=").
|
@@ -45,17 +45,17 @@ describe Qa::TermsController do
|
|
45
45
|
|
46
46
|
it "should return a set of terms for a tgnlang query" do
|
47
47
|
get :index, {:q => "Tibetan", :vocab => "tgnlang" }
|
48
|
-
response.
|
48
|
+
expect(response).to be_success
|
49
49
|
end
|
50
50
|
|
51
51
|
it "should not return 400 if vocabulary is valid" do
|
52
52
|
get :index, { :q => "foo", :vocab => "loc" }
|
53
|
-
response.code.
|
53
|
+
expect(response.code).to_not eq("400")
|
54
54
|
end
|
55
55
|
|
56
56
|
it "should not return 400 if sub_authority is valid" do
|
57
57
|
get :index, { :q => "foo", :vocab => "loc", :sub_authority => "relators" }
|
58
|
-
response.code.
|
58
|
+
expect(response.code).to_not eq("400")
|
59
59
|
end
|
60
60
|
|
61
61
|
end
|
@@ -43,7 +43,7 @@
|
|
43
43
|
"xmlns:opensearch" : "http://a9.com/-/spec/opensearch/1.1/"
|
44
44
|
}
|
45
45
|
,
|
46
|
-
"
|
46
|
+
"2"
|
47
47
|
],
|
48
48
|
[
|
49
49
|
"opensearch:startIndex",
|
@@ -72,6 +72,89 @@
|
|
72
72
|
{
|
73
73
|
"xmlns:atom" : "http://www.w3.org/2005/Atom"
|
74
74
|
}
|
75
|
+
,
|
76
|
+
"Haw, Lily, 1890?-1915"
|
77
|
+
],
|
78
|
+
[
|
79
|
+
"atom:link",
|
80
|
+
{
|
81
|
+
"xmlns:atom" : "http://www.w3.org/2005/Atom",
|
82
|
+
"rel" : "alternate",
|
83
|
+
"href" : "http://id.loc.gov/authorities/names/n2008008718"
|
84
|
+
}
|
85
|
+
|
86
|
+
],
|
87
|
+
[
|
88
|
+
"atom:link",
|
89
|
+
{
|
90
|
+
"xmlns:atom" : "http://www.w3.org/2005/Atom",
|
91
|
+
"rel" : "alternate",
|
92
|
+
"type" : "application/rdf+xml",
|
93
|
+
"href" : "http://id.loc.gov/authorities/names/n2008008718.rdf"
|
94
|
+
}
|
95
|
+
|
96
|
+
],
|
97
|
+
[
|
98
|
+
"atom:link",
|
99
|
+
{
|
100
|
+
"xmlns:atom" : "http://www.w3.org/2005/Atom",
|
101
|
+
"rel" : "alternate",
|
102
|
+
"type" : "application/json",
|
103
|
+
"href" : "http://id.loc.gov/authorities/names/n2008008718.json"
|
104
|
+
}
|
105
|
+
|
106
|
+
],
|
107
|
+
[
|
108
|
+
"atom:id",
|
109
|
+
{
|
110
|
+
"xmlns:atom" : "http://www.w3.org/2005/Atom"
|
111
|
+
}
|
112
|
+
,
|
113
|
+
"info:lc/authorities/names/n2008008718"
|
114
|
+
],
|
115
|
+
[
|
116
|
+
"atom:author",
|
117
|
+
{
|
118
|
+
"xmlns:atom" : "http://www.w3.org/2005/Atom"
|
119
|
+
}
|
120
|
+
,
|
121
|
+
[
|
122
|
+
"atom:name",
|
123
|
+
{
|
124
|
+
"xmlns:atom" : "http://www.w3.org/2005/Atom"
|
125
|
+
}
|
126
|
+
,
|
127
|
+
"Library of Congress"
|
128
|
+
]
|
129
|
+
],
|
130
|
+
[
|
131
|
+
"atom:updated",
|
132
|
+
{
|
133
|
+
"xmlns:atom" : "http://www.w3.org/2005/Atom"
|
134
|
+
}
|
135
|
+
,
|
136
|
+
"2008-03-05T00:00:00-04:00"
|
137
|
+
],
|
138
|
+
[
|
139
|
+
"dcterms:created",
|
140
|
+
{
|
141
|
+
"xmlns:dcterms" : "http://purl.org/dc/terms/"
|
142
|
+
}
|
143
|
+
,
|
144
|
+
"2008-02-05T00:00:00-04:00"
|
145
|
+
]
|
146
|
+
],
|
147
|
+
[
|
148
|
+
"atom:entry",
|
149
|
+
{
|
150
|
+
"xmlns:atom" : "http://www.w3.org/2005/Atom"
|
151
|
+
}
|
152
|
+
,
|
153
|
+
[
|
154
|
+
"atom:title",
|
155
|
+
{
|
156
|
+
"xmlns:atom" : "http://www.w3.org/2005/Atom"
|
157
|
+
}
|
75
158
|
,
|
76
159
|
"Hawaii"
|
77
160
|
],
|
@@ -144,4 +227,4 @@
|
|
144
227
|
"1970-01-01T00:00:00-04:00"
|
145
228
|
]
|
146
229
|
]
|
147
|
-
]
|
230
|
+
]
|
data/spec/internal/Gemfile
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
source 'https://rubygems.org'
|
2
2
|
|
3
3
|
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
|
4
|
-
gem 'rails', '4.0.
|
4
|
+
gem 'rails', '4.0.5'
|
5
5
|
|
6
6
|
# Use sqlite3 as the database for Active Record
|
7
7
|
gem 'sqlite3'
|
8
8
|
|
9
9
|
# Use SCSS for stylesheets
|
10
|
-
gem 'sass-rails', '~> 4.0.
|
10
|
+
gem 'sass-rails', '~> 4.0.2'
|
11
11
|
|
12
12
|
# Use Uglifier as compressor for JavaScript assets
|
13
13
|
gem 'uglifier', '>= 1.3.0'
|
@@ -33,7 +33,7 @@ group :doc do
|
|
33
33
|
end
|
34
34
|
|
35
35
|
# Use ActiveModel has_secure_password
|
36
|
-
# gem 'bcrypt
|
36
|
+
# gem 'bcrypt', '~> 3.1.7'
|
37
37
|
|
38
38
|
# Use unicorn as the app server
|
39
39
|
# gem 'unicorn'
|
@@ -43,6 +43,4 @@ end
|
|
43
43
|
|
44
44
|
# Use debugger
|
45
45
|
# gem 'debugger', group: [:development, :test]
|
46
|
-
gem 'qa', :path=>'
|
47
|
-
gem 'rspec-rails'
|
48
|
-
gem 'webmock'
|
46
|
+
gem 'qa', :path => '/Users/awead/Projects/Github/projecthydra-labs/questioning_authority'
|
data/spec/internal/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
|
-
remote:
|
2
|
+
remote: /Users/awead/Projects/Github/projecthydra-labs/questioning_authority
|
3
3
|
specs:
|
4
|
-
qa (0.0
|
4
|
+
qa (0.1.0)
|
5
5
|
activerecord-import
|
6
6
|
deprecation
|
7
7
|
nokogiri (~> 1.6.0)
|
@@ -11,35 +11,33 @@ PATH
|
|
11
11
|
GEM
|
12
12
|
remote: https://rubygems.org/
|
13
13
|
specs:
|
14
|
-
actionmailer (4.0.
|
15
|
-
actionpack (= 4.0.
|
14
|
+
actionmailer (4.0.5)
|
15
|
+
actionpack (= 4.0.5)
|
16
16
|
mail (~> 2.5.4)
|
17
|
-
actionpack (4.0.
|
18
|
-
activesupport (= 4.0.
|
17
|
+
actionpack (4.0.5)
|
18
|
+
activesupport (= 4.0.5)
|
19
19
|
builder (~> 3.1.0)
|
20
20
|
erubis (~> 2.7.0)
|
21
21
|
rack (~> 1.5.2)
|
22
22
|
rack-test (~> 0.6.2)
|
23
|
-
activemodel (4.0.
|
24
|
-
activesupport (= 4.0.
|
23
|
+
activemodel (4.0.5)
|
24
|
+
activesupport (= 4.0.5)
|
25
25
|
builder (~> 3.1.0)
|
26
|
-
activerecord (4.0.
|
27
|
-
activemodel (= 4.0.
|
26
|
+
activerecord (4.0.5)
|
27
|
+
activemodel (= 4.0.5)
|
28
28
|
activerecord-deprecated_finders (~> 1.0.2)
|
29
|
-
activesupport (= 4.0.
|
29
|
+
activesupport (= 4.0.5)
|
30
30
|
arel (~> 4.0.0)
|
31
31
|
activerecord-deprecated_finders (1.0.3)
|
32
|
-
activerecord-import (0.
|
32
|
+
activerecord-import (0.5.0)
|
33
33
|
activerecord (>= 3.0)
|
34
|
-
activesupport (4.0.
|
35
|
-
i18n (~> 0.6, >= 0.6.
|
34
|
+
activesupport (4.0.5)
|
35
|
+
i18n (~> 0.6, >= 0.6.9)
|
36
36
|
minitest (~> 4.2)
|
37
37
|
multi_json (~> 1.3)
|
38
38
|
thread_safe (~> 0.1)
|
39
39
|
tzinfo (~> 0.3.37)
|
40
|
-
addressable (2.3.5)
|
41
40
|
arel (4.0.2)
|
42
|
-
atomic (1.1.15)
|
43
41
|
builder (3.1.4)
|
44
42
|
coffee-rails (4.0.1)
|
45
43
|
coffee-script (>= 2.2.0)
|
@@ -48,13 +46,10 @@ GEM
|
|
48
46
|
coffee-script-source
|
49
47
|
execjs
|
50
48
|
coffee-script-source (1.7.0)
|
51
|
-
crack (0.4.2)
|
52
|
-
safe_yaml (~> 1.0.0)
|
53
49
|
deprecation (0.1.0)
|
54
50
|
activesupport
|
55
|
-
diff-lcs (1.2.5)
|
56
51
|
erubis (2.7.0)
|
57
|
-
execjs (2.0
|
52
|
+
execjs (2.2.0)
|
58
53
|
hike (1.2.3)
|
59
54
|
i18n (0.6.9)
|
60
55
|
jbuilder (1.5.3)
|
@@ -68,51 +63,39 @@ GEM
|
|
68
63
|
mime-types (~> 1.16)
|
69
64
|
treetop (~> 1.4.8)
|
70
65
|
mime-types (1.25.1)
|
71
|
-
mini_portile (0.
|
66
|
+
mini_portile (0.6.0)
|
72
67
|
minitest (4.7.5)
|
73
|
-
multi_json (1.
|
74
|
-
nokogiri (1.6.1)
|
75
|
-
mini_portile (
|
76
|
-
polyglot (0.3.
|
68
|
+
multi_json (1.10.1)
|
69
|
+
nokogiri (1.6.2.1)
|
70
|
+
mini_portile (= 0.6.0)
|
71
|
+
polyglot (0.3.5)
|
77
72
|
rack (1.5.2)
|
78
73
|
rack-test (0.6.2)
|
79
74
|
rack (>= 1.0)
|
80
|
-
rails (4.0.
|
81
|
-
actionmailer (= 4.0.
|
82
|
-
actionpack (= 4.0.
|
83
|
-
activerecord (= 4.0.
|
84
|
-
activesupport (= 4.0.
|
75
|
+
rails (4.0.5)
|
76
|
+
actionmailer (= 4.0.5)
|
77
|
+
actionpack (= 4.0.5)
|
78
|
+
activerecord (= 4.0.5)
|
79
|
+
activesupport (= 4.0.5)
|
85
80
|
bundler (>= 1.3.0, < 2.0)
|
86
|
-
railties (= 4.0.
|
81
|
+
railties (= 4.0.5)
|
87
82
|
sprockets-rails (~> 2.0.0)
|
88
|
-
railties (4.0.
|
89
|
-
actionpack (= 4.0.
|
90
|
-
activesupport (= 4.0.
|
83
|
+
railties (4.0.5)
|
84
|
+
actionpack (= 4.0.5)
|
85
|
+
activesupport (= 4.0.5)
|
91
86
|
rake (>= 0.8.7)
|
92
87
|
thor (>= 0.18.1, < 2.0)
|
93
|
-
rake (10.
|
88
|
+
rake (10.3.2)
|
94
89
|
rdoc (4.1.1)
|
95
90
|
json (~> 1.4)
|
96
91
|
rest-client (1.6.7)
|
97
92
|
mime-types (>= 1.16)
|
98
|
-
|
99
|
-
|
100
|
-
diff-lcs (>= 1.1.3, < 2.0)
|
101
|
-
rspec-mocks (2.14.6)
|
102
|
-
rspec-rails (2.14.1)
|
103
|
-
actionpack (>= 3.0)
|
104
|
-
activemodel (>= 3.0)
|
105
|
-
activesupport (>= 3.0)
|
106
|
-
railties (>= 3.0)
|
107
|
-
rspec-core (~> 2.14.0)
|
108
|
-
rspec-expectations (~> 2.14.0)
|
109
|
-
rspec-mocks (~> 2.14.0)
|
110
|
-
safe_yaml (1.0.1)
|
111
|
-
sass (3.2.14)
|
112
|
-
sass-rails (4.0.1)
|
93
|
+
sass (3.2.19)
|
94
|
+
sass-rails (4.0.3)
|
113
95
|
railties (>= 4.0.0, < 5.0)
|
114
|
-
sass (
|
115
|
-
sprockets
|
96
|
+
sass (~> 3.2.0)
|
97
|
+
sprockets (~> 2.8, <= 2.11.0)
|
98
|
+
sprockets-rails (~> 2.0)
|
116
99
|
sdoc (0.4.0)
|
117
100
|
json (~> 1.8)
|
118
101
|
rdoc (~> 4.0, < 5.0)
|
@@ -126,22 +109,18 @@ GEM
|
|
126
109
|
activesupport (>= 3.0)
|
127
110
|
sprockets (~> 2.8)
|
128
111
|
sqlite3 (1.3.9)
|
129
|
-
thor (0.
|
130
|
-
thread_safe (0.
|
131
|
-
atomic (>= 1.1.7, < 2)
|
112
|
+
thor (0.19.1)
|
113
|
+
thread_safe (0.3.4)
|
132
114
|
tilt (1.4.1)
|
133
115
|
treetop (1.4.15)
|
134
116
|
polyglot
|
135
117
|
polyglot (>= 0.3.1)
|
136
|
-
turbolinks (2.2.
|
118
|
+
turbolinks (2.2.2)
|
137
119
|
coffee-rails
|
138
|
-
tzinfo (0.3.
|
139
|
-
uglifier (2.
|
120
|
+
tzinfo (0.3.39)
|
121
|
+
uglifier (2.5.0)
|
140
122
|
execjs (>= 0.3.0)
|
141
123
|
json (>= 1.8.0)
|
142
|
-
webmock (1.17.4)
|
143
|
-
addressable (>= 2.2.7)
|
144
|
-
crack (>= 0.3.2)
|
145
124
|
|
146
125
|
PLATFORMS
|
147
126
|
ruby
|
@@ -151,11 +130,9 @@ DEPENDENCIES
|
|
151
130
|
jbuilder (~> 1.2)
|
152
131
|
jquery-rails
|
153
132
|
qa!
|
154
|
-
rails (= 4.0.
|
155
|
-
|
156
|
-
sass-rails (~> 4.0.0)
|
133
|
+
rails (= 4.0.5)
|
134
|
+
sass-rails (~> 4.0.2)
|
157
135
|
sdoc
|
158
136
|
sqlite3
|
159
137
|
turbolinks
|
160
138
|
uglifier (>= 1.3.0)
|
161
|
-
webmock
|