federal_register 0.5.1 → 0.6.0
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.
- data/.rubocop.yml +286 -0
- data/Gemfile +3 -4
- data/Gemfile.lock +82 -22
- data/README.md +6 -6
- data/Rakefile +5 -5
- data/VERSION +1 -1
- data/federal_register.gemspec +49 -19
- data/lib/federal_register.rb +41 -0
- data/lib/federal_register/agency.rb +45 -9
- data/lib/federal_register/article.rb +2 -106
- data/lib/federal_register/base.rb +52 -3
- data/lib/federal_register/client.rb +3 -3
- data/lib/federal_register/document.rb +113 -0
- data/lib/federal_register/document_image.rb +17 -0
- data/lib/federal_register/facet.rb +21 -0
- data/lib/federal_register/facet/agency.rb +5 -0
- data/lib/federal_register/facet/document.rb +2 -0
- data/lib/federal_register/facet/document/agency.rb +5 -0
- data/lib/federal_register/facet/document/daily.rb +5 -0
- data/lib/federal_register/facet/document/frequency.rb +12 -0
- data/lib/federal_register/facet/document/monthly.rb +5 -0
- data/lib/federal_register/facet/document/quarterly.rb +5 -0
- data/lib/federal_register/facet/document/section.rb +5 -0
- data/lib/federal_register/facet/document/topic.rb +5 -0
- data/lib/federal_register/facet/document/type.rb +5 -0
- data/lib/federal_register/facet/document/weekly.rb +5 -0
- data/lib/federal_register/facet/document/yearly.rb +5 -0
- data/lib/federal_register/facet/presidential_document_type.rb +6 -0
- data/lib/federal_register/facet/public_inspection_document.rb +2 -0
- data/lib/federal_register/facet/public_inspection_document/agencies.rb +5 -0
- data/lib/federal_register/facet/public_inspection_document/agency.rb +5 -0
- data/lib/federal_register/facet/public_inspection_document/type.rb +5 -0
- data/lib/federal_register/facet/public_inspection_issue.rb +36 -0
- data/lib/federal_register/facet/public_inspection_issue/daily.rb +11 -0
- data/lib/federal_register/facet/public_inspection_issue/daily_filing.rb +6 -0
- data/lib/federal_register/facet/public_inspection_issue/type.rb +11 -0
- data/lib/federal_register/facet/public_inspection_issue/type_filing.rb +22 -0
- data/lib/federal_register/facet/topic.rb +5 -0
- data/lib/federal_register/facet_result_set.rb +25 -0
- data/lib/federal_register/highlighted_document.rb +42 -0
- data/lib/federal_register/public_inspection_document.rb +21 -7
- data/lib/federal_register/public_inspection_issue_result_set.rb +10 -0
- data/lib/federal_register/result_set.rb +5 -5
- data/lib/federal_register/section.rb +26 -0
- data/lib/federal_register/suggested_search.rb +26 -0
- data/lib/federal_register/topic.rb +13 -0
- data/spec/{article_spec.rb → document_spec.rb} +20 -28
- data/spec/public_inspection_document_spec.rb +5 -6
- data/spec/result_set_spec.rb +4 -4
- metadata +99 -39
@@ -1,8 +1,11 @@
|
|
1
1
|
class FederalRegister::PublicInspectionDocument < FederalRegister::Base
|
2
|
+
extend FederalRegister::Utilities
|
3
|
+
|
2
4
|
add_attribute :agencies,
|
3
5
|
:docket_numbers,
|
4
6
|
:document_number,
|
5
7
|
:editorial_note,
|
8
|
+
:excerpts,
|
6
9
|
:html_url,
|
7
10
|
:filing_type,
|
8
11
|
:pdf_url,
|
@@ -18,7 +21,7 @@ class FederalRegister::PublicInspectionDocument < FederalRegister::Base
|
|
18
21
|
add_attribute :filed_at,
|
19
22
|
:pdf_update_at,
|
20
23
|
:type => :datetime
|
21
|
-
|
24
|
+
|
22
25
|
def self.search(args)
|
23
26
|
FederalRegister::ResultSet.fetch("/public-inspection-documents.json", :query => args, :result_class => self)
|
24
27
|
end
|
@@ -26,24 +29,35 @@ class FederalRegister::PublicInspectionDocument < FederalRegister::Base
|
|
26
29
|
def self.search_metadata(args)
|
27
30
|
FederalRegister::ResultSet.fetch("/public-inspection-documents.json", :query => args.merge(:metadata_only => '1'), :result_class => self)
|
28
31
|
end
|
29
|
-
|
32
|
+
|
30
33
|
def self.find(document_number)
|
31
34
|
attributes = get("/public-inspection-documents/#{document_number}.json")
|
32
35
|
new(attributes, :full => true)
|
33
36
|
end
|
34
37
|
|
35
38
|
def self.available_on(date)
|
36
|
-
FederalRegister::
|
39
|
+
FederalRegister::PublicInspectionIssueResultSet.fetch("/public-inspection-documents.json", :query => {:conditions => {:available_on => date}}, :result_class => self)
|
37
40
|
end
|
38
41
|
|
39
42
|
def self.current
|
40
|
-
FederalRegister::
|
43
|
+
FederalRegister::PublicInspectionIssueResultSet.fetch("/public-inspection-documents/current.json", :result_class => self)
|
41
44
|
end
|
42
45
|
|
43
|
-
def self.find_all(*
|
44
|
-
|
46
|
+
def self.find_all(*args)
|
47
|
+
options, document_numbers = extract_options(args)
|
48
|
+
|
49
|
+
fetch_options = {:result_class => self}
|
50
|
+
fetch_options.merge!(:query => {:fields => options[:fields]}) if options[:fields]
|
51
|
+
|
52
|
+
#TODO: fix this gross hack to ensure that find_all with a single document number
|
53
|
+
# is returned in the same way multiple document numbers are
|
54
|
+
if document_numbers.size == 1
|
55
|
+
document_numbers << " "
|
56
|
+
end
|
57
|
+
|
58
|
+
result_set = FederalRegister::ResultSet.fetch("/public-inspection-documents/#{document_numbers.join(',').strip}.json", fetch_options)
|
45
59
|
end
|
46
|
-
|
60
|
+
|
47
61
|
def agencies
|
48
62
|
attributes["agencies"].map do |attr|
|
49
63
|
FederalRegister::Agency.new(attr)
|
@@ -0,0 +1,10 @@
|
|
1
|
+
class FederalRegister::PublicInspectionIssueResultSet < FederalRegister::ResultSet
|
2
|
+
attr_reader :regular_filings_updated_at, :special_filings_updated_at
|
3
|
+
|
4
|
+
def initialize(attributes, result_class)
|
5
|
+
super attributes, result_class
|
6
|
+
|
7
|
+
@regular_filings_updated_at = attributes['regular_filings_updated_at']
|
8
|
+
@special_filings_updated_at = attributes['special_filings_updated_at']
|
9
|
+
end
|
10
|
+
end
|
@@ -2,7 +2,7 @@ class FederalRegister::ResultSet < FederalRegister::Client
|
|
2
2
|
include Enumerable
|
3
3
|
|
4
4
|
attr_reader :count, :total_pages, :results, :errors, :description
|
5
|
-
|
5
|
+
|
6
6
|
def initialize(attributes, result_class)
|
7
7
|
@result_class = result_class
|
8
8
|
@count = attributes['count']
|
@@ -10,20 +10,20 @@ class FederalRegister::ResultSet < FederalRegister::Client
|
|
10
10
|
@results = (attributes['results'] || []).map{|result| @result_class.new(result) }
|
11
11
|
|
12
12
|
@description = attributes['description']
|
13
|
-
|
13
|
+
|
14
14
|
@prev_url = attributes['previous_page_url']
|
15
15
|
@next_url = attributes['next_page_url']
|
16
16
|
@errors = attributes['errors']
|
17
17
|
end
|
18
|
-
|
18
|
+
|
19
19
|
def next
|
20
20
|
self.class.fetch(@next_url, :result_class => @result_class) if @next_url
|
21
21
|
end
|
22
|
-
|
22
|
+
|
23
23
|
def previous
|
24
24
|
self.class.fetch(@prev_url, :result_class => @result_class) if @prev_url
|
25
25
|
end
|
26
|
-
|
26
|
+
|
27
27
|
def self.fetch(url, options = {})
|
28
28
|
result_class = options.delete(:result_class)
|
29
29
|
response = get(url, options)
|
@@ -0,0 +1,26 @@
|
|
1
|
+
class FederalRegister::Section < FederalRegister::Base
|
2
|
+
add_attribute :name
|
3
|
+
|
4
|
+
def self.search(args={})
|
5
|
+
response = get('/sections', query: args)
|
6
|
+
|
7
|
+
responses = {}
|
8
|
+
response.map do |section, attributes|
|
9
|
+
responses[section] = new(attributes)
|
10
|
+
end
|
11
|
+
|
12
|
+
responses
|
13
|
+
end
|
14
|
+
|
15
|
+
def highlighted_documents
|
16
|
+
@highlighted_documents ||= attributes['highlighted_documents'].map do |attributes|
|
17
|
+
highlighted_document_class.new(attributes)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
private
|
22
|
+
|
23
|
+
def highlighted_document_class
|
24
|
+
FederalRegister::HighlightedDocument
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
class FederalRegister::SuggestedSearch < FederalRegister::Base
|
2
|
+
add_attribute :description,
|
3
|
+
:documents_in_last_year,
|
4
|
+
:documents_with_open_comment_periods,
|
5
|
+
:position,
|
6
|
+
:search_conditions,
|
7
|
+
:section,
|
8
|
+
:slug,
|
9
|
+
:title
|
10
|
+
|
11
|
+
def self.search(args={})
|
12
|
+
response = get('/suggested_searches', query: args)
|
13
|
+
|
14
|
+
responses = {}
|
15
|
+
response.map do |section, searches|
|
16
|
+
responses[section] = searches.map{|attributes| new(attributes)}
|
17
|
+
end
|
18
|
+
|
19
|
+
responses
|
20
|
+
end
|
21
|
+
|
22
|
+
def self.find(slug)
|
23
|
+
response = get("/suggested_searches/#{slug}")
|
24
|
+
new(response)
|
25
|
+
end
|
26
|
+
end
|
@@ -1,29 +1,29 @@
|
|
1
1
|
require File.dirname(__FILE__) + '/spec_helper'
|
2
2
|
|
3
|
-
describe FederalRegister::
|
3
|
+
describe FederalRegister::Document do
|
4
4
|
describe ".find" do
|
5
5
|
it "fetches the document by its document number" do
|
6
6
|
document_number = "2010-213"
|
7
7
|
FakeWeb.register_uri(
|
8
8
|
:get,
|
9
|
-
"https://www.federalregister.gov/api/v1/
|
9
|
+
"https://www.federalregister.gov/api/v1/documents/#{document_number}.json",
|
10
10
|
:content_type =>"text/json",
|
11
11
|
:body => {:title => "Important Notice"}.to_json
|
12
12
|
)
|
13
13
|
|
14
|
-
FederalRegister::
|
14
|
+
FederalRegister::Document.find(document_number).title.should == 'Important Notice'
|
15
15
|
end
|
16
16
|
|
17
17
|
it "fetches the document with only requested fields (when present)" do
|
18
18
|
document_number = "2010-213"
|
19
19
|
FakeWeb.register_uri(
|
20
20
|
:get,
|
21
|
-
"https://www.federalregister.gov/api/v1/
|
21
|
+
"https://www.federalregister.gov/api/v1/documents/#{document_number}.json?fields[]=title&fields[]=start_page",
|
22
22
|
:content_type => "text/json",
|
23
23
|
:body => {:title => "Important Notice", :start_page => 12345}.to_json
|
24
24
|
)
|
25
25
|
|
26
|
-
result = FederalRegister::
|
26
|
+
result = FederalRegister::Document.find(document_number, :fields => ["title", "start_page"])
|
27
27
|
result.title.should eql("Important Notice")
|
28
28
|
result.start_page.should eql(12345)
|
29
29
|
result.end_page.should be(nil)
|
@@ -33,15 +33,11 @@ describe FederalRegister::Article do
|
|
33
33
|
document_number = "some-random-document"
|
34
34
|
FakeWeb.register_uri(
|
35
35
|
:get,
|
36
|
-
"https://www.federalregister.gov/api/v1/
|
36
|
+
"https://www.federalregister.gov/api/v1/documents/#{document_number}.json",
|
37
37
|
:content_type =>"text/json",
|
38
38
|
:status => 404
|
39
39
|
)
|
40
|
-
lambda{ FederalRegister::
|
41
|
-
end
|
42
|
-
|
43
|
-
it "throws an error when given an invalid document number" do
|
44
|
-
lambda{ FederalRegister::Article.find('an! invalid! document! number!') }.should raise_error FederalRegister::Article::InvalidDocumentNumber
|
40
|
+
lambda{ FederalRegister::Document.find(document_number) }.should raise_error FederalRegister::Client::RecordNotFound
|
45
41
|
end
|
46
42
|
end
|
47
43
|
|
@@ -49,66 +45,62 @@ describe FederalRegister::Article do
|
|
49
45
|
it "fetches multiple matching documents" do
|
50
46
|
FakeWeb.register_uri(
|
51
47
|
:get,
|
52
|
-
"https://www.federalregister.gov/api/v1/
|
48
|
+
"https://www.federalregister.gov/api/v1/documents/abc,def.json",
|
53
49
|
:content_type =>"text/json",
|
54
50
|
:body => {:results => [{:document_number => "abc"}, {:document_number => "def"}]}.to_json
|
55
51
|
)
|
56
|
-
result_set = FederalRegister::
|
52
|
+
result_set = FederalRegister::Document.find_all('abc','def')
|
57
53
|
result_set.results.map(&:document_number).sort.should === ['abc','def']
|
58
54
|
end
|
59
55
|
|
60
56
|
it "fetches multiple matching documents with only requested fields (when present)" do
|
61
57
|
FakeWeb.register_uri(
|
62
58
|
:get,
|
63
|
-
"https://www.federalregister.gov/api/v1/
|
59
|
+
"https://www.federalregister.gov/api/v1/documents/abc,def.json?fields[]=document_number&fields[]=title",
|
64
60
|
:content_type =>"text/json",
|
65
|
-
:body => {:results => [{:document_number => "abc", :title => "Important Notice"},
|
61
|
+
:body => {:results => [{:document_number => "abc", :title => "Important Notice"},
|
66
62
|
{:document_number => "def", :title => "Important Rule"}]}.to_json
|
67
63
|
)
|
68
|
-
result_set = FederalRegister::
|
64
|
+
result_set = FederalRegister::Document.find_all('abc','def', :fields => ["document_number", "title"])
|
69
65
|
result_set.results.map(&:document_number).sort.should === ['abc','def']
|
70
66
|
result_set.results.map(&:title).sort.should === ['Important Notice','Important Rule']
|
71
67
|
result_set.results.map(&:start_page).should === [nil, nil]
|
72
68
|
end
|
73
|
-
|
74
|
-
it "throws an error when given an invalid document number" do
|
75
|
-
lambda{ FederalRegister::Article.find_all('123-456','an! invalid! document! number!') }.should raise_error FederalRegister::Article::InvalidDocumentNumber
|
76
|
-
end
|
77
69
|
end
|
78
70
|
|
79
71
|
describe ".search" do
|
80
72
|
before(:each) do
|
81
73
|
FakeWeb.register_uri(
|
82
74
|
:get,
|
83
|
-
"https://www.federalregister.gov/api/v1/
|
75
|
+
"https://www.federalregister.gov/api/v1/documents.json?conditions[term]=Fish",
|
84
76
|
:content_type =>"text/json",
|
85
77
|
:body => {:count => 3}.to_json
|
86
78
|
)
|
87
79
|
end
|
88
80
|
|
89
81
|
it "returns a resultset object" do
|
90
|
-
FederalRegister::
|
82
|
+
FederalRegister::Document.search(:conditions => {:term => "Fish"}).should be_an_instance_of(FederalRegister::ResultSet)
|
91
83
|
end
|
92
84
|
end
|
93
85
|
|
94
86
|
describe "#full_text_xml" do
|
95
87
|
it "fetches the full_text_xml from the full_text_xml_url" do
|
96
88
|
url = "http://example.com/full_text"
|
97
|
-
|
89
|
+
document = FederalRegister::Document.new("full_text_xml_url" => url)
|
98
90
|
FakeWeb.register_uri(
|
99
91
|
:get,
|
100
92
|
url,
|
101
93
|
:content_type =>"text/xml",
|
102
94
|
:body => "hello, world!"
|
103
95
|
)
|
104
|
-
|
96
|
+
document.full_text_xml.should == 'hello, world!'
|
105
97
|
end
|
106
98
|
end
|
107
99
|
|
108
100
|
describe "#publication_date" do
|
109
101
|
it "returns a Date object" do
|
110
|
-
|
111
|
-
|
102
|
+
document = FederalRegister::Document.new("publication_date" => "2011-07-22")
|
103
|
+
document.publication_date.should == Date.strptime("2011-07-22")
|
112
104
|
end
|
113
105
|
end
|
114
106
|
|
@@ -117,12 +109,12 @@ describe FederalRegister::Article do
|
|
117
109
|
document_number = "2010-213"
|
118
110
|
FakeWeb.register_uri(
|
119
111
|
:get,
|
120
|
-
"https://www.federalregister.gov/api/v1/
|
112
|
+
"https://www.federalregister.gov/api/v1/documents/#{document_number}.json",
|
121
113
|
:content_type =>"text/json",
|
122
114
|
:body => {:title => "Important Notice", :docket_ids => ['ABC','123']}.to_json
|
123
115
|
)
|
124
116
|
|
125
|
-
FederalRegister::
|
117
|
+
FederalRegister::Document.find(document_number).docket_ids.should == ['ABC','123']
|
126
118
|
end
|
127
119
|
end
|
128
120
|
end
|
@@ -6,7 +6,7 @@ describe FederalRegister::PublicInspectionDocument do
|
|
6
6
|
document_number = "2010-213"
|
7
7
|
FakeWeb.register_uri(
|
8
8
|
:get,
|
9
|
-
"https://www.federalregister.gov/api/v1/public-inspection-documents/#{document_number}.json",
|
9
|
+
"https://www.federalregister.gov/api/v1/public-inspection-documents/#{document_number}.json",
|
10
10
|
:content_type =>"text/json",
|
11
11
|
:body => {:title => "Important Notice"}.to_json
|
12
12
|
)
|
@@ -18,7 +18,7 @@ describe FederalRegister::PublicInspectionDocument do
|
|
18
18
|
document_number = "some-random-document"
|
19
19
|
FakeWeb.register_uri(
|
20
20
|
:get,
|
21
|
-
"https://www.federalregister.gov/api/v1/public-inspection-documents/#{document_number}.json",
|
21
|
+
"https://www.federalregister.gov/api/v1/public-inspection-documents/#{document_number}.json",
|
22
22
|
:content_type =>"text/json",
|
23
23
|
:status => 404
|
24
24
|
)
|
@@ -30,7 +30,7 @@ describe FederalRegister::PublicInspectionDocument do
|
|
30
30
|
it "fetches multiple matching documents" do
|
31
31
|
FakeWeb.register_uri(
|
32
32
|
:get,
|
33
|
-
"https://www.federalregister.gov/api/v1/public-inspection-documents/abc,def.json",
|
33
|
+
"https://www.federalregister.gov/api/v1/public-inspection-documents/abc,def.json",
|
34
34
|
:content_type =>"text/json",
|
35
35
|
:body => {:results => [{:document_number => "abc"}, {:document_number => "def"}]}.to_json
|
36
36
|
)
|
@@ -43,7 +43,7 @@ describe FederalRegister::PublicInspectionDocument do
|
|
43
43
|
it "fetches the document on PI on a given date" do
|
44
44
|
FakeWeb.register_uri(
|
45
45
|
:get,
|
46
|
-
"https://www.federalregister.gov/api/v1/public-inspection-documents.json?conditions[available_on]=2011-10-15",
|
46
|
+
"https://www.federalregister.gov/api/v1/public-inspection-documents.json?conditions[available_on]=2011-10-15",
|
47
47
|
:content_type =>"text/json",
|
48
48
|
:body => {:results => [{:document_number => "abc"}, {:document_number => "def"}]}.to_json
|
49
49
|
)
|
@@ -56,7 +56,7 @@ describe FederalRegister::PublicInspectionDocument do
|
|
56
56
|
it "fetches the PI documents from the current issue" do
|
57
57
|
FakeWeb.register_uri(
|
58
58
|
:get,
|
59
|
-
"https://www.federalregister.gov/api/v1/public-inspection-documents/current.json",
|
59
|
+
"https://www.federalregister.gov/api/v1/public-inspection-documents/current.json",
|
60
60
|
:content_type =>"text/json",
|
61
61
|
:body => {:results => [{:document_number => "abc"}, {:document_number => "def"}]}.to_json
|
62
62
|
)
|
@@ -64,5 +64,4 @@ describe FederalRegister::PublicInspectionDocument do
|
|
64
64
|
result_set.results.map(&:document_number).sort.should === ['abc','def']
|
65
65
|
end
|
66
66
|
end
|
67
|
-
|
68
67
|
end
|
data/spec/result_set_spec.rb
CHANGED
@@ -4,13 +4,13 @@ describe FederalRegister::ResultSet do
|
|
4
4
|
describe "#next" do
|
5
5
|
it "loads the next_page_url" do
|
6
6
|
FakeWeb.register_uri(:get, "https://www.federalregister.gov/api/v1/fishes?page=2", :body => {:count => 24}.to_json, :content_type =>"text/json")
|
7
|
-
FederalRegister::ResultSet.new({'next_page_url' => 'https://www.federalregister.gov/api/v1/fishes?page=2'}, FederalRegister::
|
7
|
+
FederalRegister::ResultSet.new({'next_page_url' => 'https://www.federalregister.gov/api/v1/fishes?page=2'}, FederalRegister::Document).next.count.should == 24
|
8
8
|
end
|
9
9
|
end
|
10
10
|
|
11
11
|
describe "enumerability" do
|
12
12
|
it "responds to #each" do
|
13
|
-
FederalRegister::ResultSet.new({}, FederalRegister::
|
13
|
+
FederalRegister::ResultSet.new({}, FederalRegister::Document).should respond_to(:each)
|
14
14
|
end
|
15
15
|
|
16
16
|
it "includes Enumerable" do
|
@@ -19,7 +19,7 @@ describe FederalRegister::ResultSet do
|
|
19
19
|
|
20
20
|
context "given an empty result set" do
|
21
21
|
it "never invokes the block" do
|
22
|
-
results = FederalRegister::ResultSet.new({}, FederalRegister::
|
22
|
+
results = FederalRegister::ResultSet.new({}, FederalRegister::Document)
|
23
23
|
lambda {
|
24
24
|
results.each {|i| fail i }
|
25
25
|
}.should_not raise_error
|
@@ -32,7 +32,7 @@ describe FederalRegister::ResultSet do
|
|
32
32
|
{'panda' => 'bamboo'},
|
33
33
|
{'curry' => 'noodle'},
|
34
34
|
{'soup' => 'tree'}
|
35
|
-
]}, FederalRegister::
|
35
|
+
]}, FederalRegister::Document)
|
36
36
|
end
|
37
37
|
|
38
38
|
it "doesn't yields nil to a block" do
|
metadata
CHANGED
@@ -1,19 +1,20 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: federal_register
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Andrew Carpenter
|
9
|
+
- Bob Burbach
|
9
10
|
autorequire:
|
10
11
|
bindir: bin
|
11
12
|
cert_chain: []
|
12
|
-
date:
|
13
|
+
date: 2016-11-03 00:00:00.000000000 Z
|
13
14
|
dependencies:
|
14
15
|
- !ruby/object:Gem::Dependency
|
15
16
|
name: httparty
|
16
|
-
requirement:
|
17
|
+
requirement: !ruby/object:Gem::Requirement
|
17
18
|
none: false
|
18
19
|
requirements:
|
19
20
|
- - ! '>='
|
@@ -21,10 +22,15 @@ dependencies:
|
|
21
22
|
version: 0.7.0
|
22
23
|
type: :runtime
|
23
24
|
prerelease: false
|
24
|
-
version_requirements:
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
none: false
|
27
|
+
requirements:
|
28
|
+
- - ! '>='
|
29
|
+
- !ruby/object:Gem::Version
|
30
|
+
version: 0.7.0
|
25
31
|
- !ruby/object:Gem::Dependency
|
26
32
|
name: shoulda
|
27
|
-
requirement:
|
33
|
+
requirement: !ruby/object:Gem::Requirement
|
28
34
|
none: false
|
29
35
|
requirements:
|
30
36
|
- - ! '>='
|
@@ -32,43 +38,47 @@ dependencies:
|
|
32
38
|
version: '0'
|
33
39
|
type: :development
|
34
40
|
prerelease: false
|
35
|
-
version_requirements:
|
41
|
+
version_requirements: !ruby/object:Gem::Requirement
|
42
|
+
none: false
|
43
|
+
requirements:
|
44
|
+
- - ! '>='
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '0'
|
36
47
|
- !ruby/object:Gem::Dependency
|
37
48
|
name: bundler
|
38
|
-
requirement:
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
39
50
|
none: false
|
40
51
|
requirements:
|
41
|
-
- -
|
52
|
+
- - ! '>='
|
42
53
|
- !ruby/object:Gem::Version
|
43
|
-
version:
|
54
|
+
version: '0'
|
44
55
|
type: :development
|
45
56
|
prerelease: false
|
46
|
-
version_requirements:
|
57
|
+
version_requirements: !ruby/object:Gem::Requirement
|
58
|
+
none: false
|
59
|
+
requirements:
|
60
|
+
- - ! '>='
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '0'
|
47
63
|
- !ruby/object:Gem::Dependency
|
48
64
|
name: jeweler
|
49
|
-
requirement:
|
65
|
+
requirement: !ruby/object:Gem::Requirement
|
50
66
|
none: false
|
51
67
|
requirements:
|
52
|
-
- -
|
68
|
+
- - ! '>='
|
53
69
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
70
|
+
version: '0'
|
55
71
|
type: :development
|
56
72
|
prerelease: false
|
57
|
-
version_requirements:
|
58
|
-
- !ruby/object:Gem::Dependency
|
59
|
-
name: rcov
|
60
|
-
requirement: &70102078967720 !ruby/object:Gem::Requirement
|
73
|
+
version_requirements: !ruby/object:Gem::Requirement
|
61
74
|
none: false
|
62
75
|
requirements:
|
63
76
|
- - ! '>='
|
64
77
|
- !ruby/object:Gem::Version
|
65
78
|
version: '0'
|
66
|
-
type: :development
|
67
|
-
prerelease: false
|
68
|
-
version_requirements: *70102078967720
|
69
79
|
- !ruby/object:Gem::Dependency
|
70
80
|
name: rspec
|
71
|
-
requirement:
|
81
|
+
requirement: !ruby/object:Gem::Requirement
|
72
82
|
none: false
|
73
83
|
requirements:
|
74
84
|
- - ~>
|
@@ -76,21 +86,15 @@ dependencies:
|
|
76
86
|
version: '2.6'
|
77
87
|
type: :development
|
78
88
|
prerelease: false
|
79
|
-
version_requirements:
|
80
|
-
- !ruby/object:Gem::Dependency
|
81
|
-
name: rspec
|
82
|
-
requirement: &70102078964840 !ruby/object:Gem::Requirement
|
89
|
+
version_requirements: !ruby/object:Gem::Requirement
|
83
90
|
none: false
|
84
91
|
requirements:
|
85
92
|
- - ~>
|
86
93
|
- !ruby/object:Gem::Version
|
87
94
|
version: '2.6'
|
88
|
-
type: :development
|
89
|
-
prerelease: false
|
90
|
-
version_requirements: *70102078964840
|
91
95
|
- !ruby/object:Gem::Dependency
|
92
96
|
name: activesupport
|
93
|
-
requirement:
|
97
|
+
requirement: !ruby/object:Gem::Requirement
|
94
98
|
none: false
|
95
99
|
requirements:
|
96
100
|
- - ~>
|
@@ -98,10 +102,15 @@ dependencies:
|
|
98
102
|
version: '3'
|
99
103
|
type: :development
|
100
104
|
prerelease: false
|
101
|
-
version_requirements:
|
105
|
+
version_requirements: !ruby/object:Gem::Requirement
|
106
|
+
none: false
|
107
|
+
requirements:
|
108
|
+
- - ~>
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '3'
|
102
111
|
- !ruby/object:Gem::Dependency
|
103
112
|
name: fakeweb
|
104
|
-
requirement:
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
105
114
|
none: false
|
106
115
|
requirements:
|
107
116
|
- - ~>
|
@@ -109,8 +118,29 @@ dependencies:
|
|
109
118
|
version: 1.3.0
|
110
119
|
type: :development
|
111
120
|
prerelease: false
|
112
|
-
version_requirements:
|
113
|
-
|
121
|
+
version_requirements: !ruby/object:Gem::Requirement
|
122
|
+
none: false
|
123
|
+
requirements:
|
124
|
+
- - ~>
|
125
|
+
- !ruby/object:Gem::Version
|
126
|
+
version: 1.3.0
|
127
|
+
- !ruby/object:Gem::Dependency
|
128
|
+
name: rubocop
|
129
|
+
requirement: !ruby/object:Gem::Requirement
|
130
|
+
none: false
|
131
|
+
requirements:
|
132
|
+
- - ! '>='
|
133
|
+
- !ruby/object:Gem::Version
|
134
|
+
version: '0'
|
135
|
+
type: :development
|
136
|
+
prerelease: false
|
137
|
+
version_requirements: !ruby/object:Gem::Requirement
|
138
|
+
none: false
|
139
|
+
requirements:
|
140
|
+
- - ! '>='
|
141
|
+
- !ruby/object:Gem::Version
|
142
|
+
version: '0'
|
143
|
+
description: Ruby API Client for FederalRegister.gov that handles searching documents
|
114
144
|
and getting information about agencies
|
115
145
|
email: andrew@criticaljuncture.org
|
116
146
|
executables: []
|
@@ -120,6 +150,7 @@ extra_rdoc_files:
|
|
120
150
|
- README.md
|
121
151
|
files:
|
122
152
|
- .document
|
153
|
+
- .rubocop.yml
|
123
154
|
- .watchr
|
124
155
|
- Gemfile
|
125
156
|
- Gemfile.lock
|
@@ -133,16 +164,48 @@ files:
|
|
133
164
|
- lib/federal_register/article.rb
|
134
165
|
- lib/federal_register/base.rb
|
135
166
|
- lib/federal_register/client.rb
|
167
|
+
- lib/federal_register/document.rb
|
168
|
+
- lib/federal_register/document_image.rb
|
169
|
+
- lib/federal_register/facet.rb
|
170
|
+
- lib/federal_register/facet/agency.rb
|
171
|
+
- lib/federal_register/facet/document.rb
|
172
|
+
- lib/federal_register/facet/document/agency.rb
|
173
|
+
- lib/federal_register/facet/document/daily.rb
|
174
|
+
- lib/federal_register/facet/document/frequency.rb
|
175
|
+
- lib/federal_register/facet/document/monthly.rb
|
176
|
+
- lib/federal_register/facet/document/quarterly.rb
|
177
|
+
- lib/federal_register/facet/document/section.rb
|
178
|
+
- lib/federal_register/facet/document/topic.rb
|
179
|
+
- lib/federal_register/facet/document/type.rb
|
180
|
+
- lib/federal_register/facet/document/weekly.rb
|
181
|
+
- lib/federal_register/facet/document/yearly.rb
|
182
|
+
- lib/federal_register/facet/presidential_document_type.rb
|
183
|
+
- lib/federal_register/facet/public_inspection_document.rb
|
184
|
+
- lib/federal_register/facet/public_inspection_document/agencies.rb
|
185
|
+
- lib/federal_register/facet/public_inspection_document/agency.rb
|
186
|
+
- lib/federal_register/facet/public_inspection_document/type.rb
|
187
|
+
- lib/federal_register/facet/public_inspection_issue.rb
|
188
|
+
- lib/federal_register/facet/public_inspection_issue/daily.rb
|
189
|
+
- lib/federal_register/facet/public_inspection_issue/daily_filing.rb
|
190
|
+
- lib/federal_register/facet/public_inspection_issue/type.rb
|
191
|
+
- lib/federal_register/facet/public_inspection_issue/type_filing.rb
|
192
|
+
- lib/federal_register/facet/topic.rb
|
193
|
+
- lib/federal_register/facet_result_set.rb
|
194
|
+
- lib/federal_register/highlighted_document.rb
|
136
195
|
- lib/federal_register/public_inspection_document.rb
|
196
|
+
- lib/federal_register/public_inspection_issue_result_set.rb
|
137
197
|
- lib/federal_register/result_set.rb
|
198
|
+
- lib/federal_register/section.rb
|
199
|
+
- lib/federal_register/suggested_search.rb
|
200
|
+
- lib/federal_register/topic.rb
|
138
201
|
- lib/federal_register/utilities.rb
|
139
202
|
- spec/agency_spec.rb
|
140
|
-
- spec/article_spec.rb
|
141
203
|
- spec/base_spec.rb
|
204
|
+
- spec/document_spec.rb
|
142
205
|
- spec/public_inspection_document_spec.rb
|
143
206
|
- spec/result_set_spec.rb
|
144
207
|
- spec/spec_helper.rb
|
145
|
-
homepage: http://github.com/
|
208
|
+
homepage: http://github.com/usnationalarchives/federal_register
|
146
209
|
licenses:
|
147
210
|
- MIT
|
148
211
|
post_install_message:
|
@@ -155,9 +218,6 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
155
218
|
- - ! '>='
|
156
219
|
- !ruby/object:Gem::Version
|
157
220
|
version: '0'
|
158
|
-
segments:
|
159
|
-
- 0
|
160
|
-
hash: 2337510225236876614
|
161
221
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
162
222
|
none: false
|
163
223
|
requirements:
|
@@ -166,7 +226,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
166
226
|
version: '0'
|
167
227
|
requirements: []
|
168
228
|
rubyforge_project:
|
169
|
-
rubygems_version: 1.8.
|
229
|
+
rubygems_version: 1.8.29
|
170
230
|
signing_key:
|
171
231
|
specification_version: 3
|
172
232
|
summary: Ruby API Client for FederalRegister.gov
|