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.
Files changed (50) hide show
  1. data/.rubocop.yml +286 -0
  2. data/Gemfile +3 -4
  3. data/Gemfile.lock +82 -22
  4. data/README.md +6 -6
  5. data/Rakefile +5 -5
  6. data/VERSION +1 -1
  7. data/federal_register.gemspec +49 -19
  8. data/lib/federal_register.rb +41 -0
  9. data/lib/federal_register/agency.rb +45 -9
  10. data/lib/federal_register/article.rb +2 -106
  11. data/lib/federal_register/base.rb +52 -3
  12. data/lib/federal_register/client.rb +3 -3
  13. data/lib/federal_register/document.rb +113 -0
  14. data/lib/federal_register/document_image.rb +17 -0
  15. data/lib/federal_register/facet.rb +21 -0
  16. data/lib/federal_register/facet/agency.rb +5 -0
  17. data/lib/federal_register/facet/document.rb +2 -0
  18. data/lib/federal_register/facet/document/agency.rb +5 -0
  19. data/lib/federal_register/facet/document/daily.rb +5 -0
  20. data/lib/federal_register/facet/document/frequency.rb +12 -0
  21. data/lib/federal_register/facet/document/monthly.rb +5 -0
  22. data/lib/federal_register/facet/document/quarterly.rb +5 -0
  23. data/lib/federal_register/facet/document/section.rb +5 -0
  24. data/lib/federal_register/facet/document/topic.rb +5 -0
  25. data/lib/federal_register/facet/document/type.rb +5 -0
  26. data/lib/federal_register/facet/document/weekly.rb +5 -0
  27. data/lib/federal_register/facet/document/yearly.rb +5 -0
  28. data/lib/federal_register/facet/presidential_document_type.rb +6 -0
  29. data/lib/federal_register/facet/public_inspection_document.rb +2 -0
  30. data/lib/federal_register/facet/public_inspection_document/agencies.rb +5 -0
  31. data/lib/federal_register/facet/public_inspection_document/agency.rb +5 -0
  32. data/lib/federal_register/facet/public_inspection_document/type.rb +5 -0
  33. data/lib/federal_register/facet/public_inspection_issue.rb +36 -0
  34. data/lib/federal_register/facet/public_inspection_issue/daily.rb +11 -0
  35. data/lib/federal_register/facet/public_inspection_issue/daily_filing.rb +6 -0
  36. data/lib/federal_register/facet/public_inspection_issue/type.rb +11 -0
  37. data/lib/federal_register/facet/public_inspection_issue/type_filing.rb +22 -0
  38. data/lib/federal_register/facet/topic.rb +5 -0
  39. data/lib/federal_register/facet_result_set.rb +25 -0
  40. data/lib/federal_register/highlighted_document.rb +42 -0
  41. data/lib/federal_register/public_inspection_document.rb +21 -7
  42. data/lib/federal_register/public_inspection_issue_result_set.rb +10 -0
  43. data/lib/federal_register/result_set.rb +5 -5
  44. data/lib/federal_register/section.rb +26 -0
  45. data/lib/federal_register/suggested_search.rb +26 -0
  46. data/lib/federal_register/topic.rb +13 -0
  47. data/spec/{article_spec.rb → document_spec.rb} +20 -28
  48. data/spec/public_inspection_document_spec.rb +5 -6
  49. data/spec/result_set_spec.rb +4 -4
  50. 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::ResultSet.fetch("/public-inspection-documents.json", :query => {:conditions => {:available_on => date}}, :result_class => self)
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::ResultSet.fetch("/public-inspection-documents/current.json", :result_class => self)
43
+ FederalRegister::PublicInspectionIssueResultSet.fetch("/public-inspection-documents/current.json", :result_class => self)
41
44
  end
42
45
 
43
- def self.find_all(*document_numbers)
44
- result_set = FederalRegister::ResultSet.fetch("/public-inspection-documents/#{document_numbers.join(',')}.json", :result_class => self)
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
@@ -0,0 +1,13 @@
1
+ class FederalRegister::Topic < FederalRegister::Base
2
+ add_attribute :name,
3
+ :slug,
4
+ :url
5
+
6
+ def self.suggestions(args={})
7
+ response = get("/topics/suggestions", query: args)
8
+
9
+ response.map do |hsh|
10
+ new(hsh, :full => true)
11
+ end
12
+ end
13
+ end
@@ -1,29 +1,29 @@
1
1
  require File.dirname(__FILE__) + '/spec_helper'
2
2
 
3
- describe FederalRegister::Article do
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/articles/#{document_number}.json",
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::Article.find(document_number).title.should == 'Important Notice'
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/articles/#{document_number}.json?fields[]=title&fields[]=start_page",
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::Article.find(document_number, :fields => ["title", "start_page"])
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/articles/#{document_number}.json",
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::Article.find(document_number) }.should raise_error FederalRegister::Client::RecordNotFound
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/articles/abc,def.json",
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::Article.find_all('abc','def')
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/articles/abc,def.json?fields[]=document_number&fields[]=title",
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::Article.find_all('abc','def', :fields => ["document_number", "title"])
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/articles.json?conditions[term]=Fish",
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::Article.search(:conditions => {:term => "Fish"}).should be_an_instance_of(FederalRegister::ResultSet)
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
- article = FederalRegister::Article.new("full_text_xml_url" => url)
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
- article.full_text_xml.should == 'hello, world!'
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
- article = FederalRegister::Article.new("publication_date" => "2011-07-22")
111
- article.publication_date.should == Date.strptime("2011-07-22")
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/articles/#{document_number}.json",
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::Article.find(document_number).docket_ids.should == ['ABC','123']
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
@@ -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::Article).next.count.should == 24
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::Article).should respond_to(:each)
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::Article)
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::Article)
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.5.1
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: 2015-02-06 00:00:00.000000000 Z
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: &70102078955580 !ruby/object:Gem::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: *70102078955580
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: &70102078954740 !ruby/object:Gem::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: *70102078954740
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: &70102078953820 !ruby/object:Gem::Requirement
49
+ requirement: !ruby/object:Gem::Requirement
39
50
  none: false
40
51
  requirements:
41
- - - ~>
52
+ - - ! '>='
42
53
  - !ruby/object:Gem::Version
43
- version: 1.0.0
54
+ version: '0'
44
55
  type: :development
45
56
  prerelease: false
46
- version_requirements: *70102078953820
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: &70102078952760 !ruby/object:Gem::Requirement
65
+ requirement: !ruby/object:Gem::Requirement
50
66
  none: false
51
67
  requirements:
52
- - - ~>
68
+ - - ! '>='
53
69
  - !ruby/object:Gem::Version
54
- version: 1.6.0
70
+ version: '0'
55
71
  type: :development
56
72
  prerelease: false
57
- version_requirements: *70102078952760
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: &70102078966280 !ruby/object:Gem::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: *70102078966280
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: &70102078963560 !ruby/object:Gem::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: *70102078963560
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: &70102078961920 !ruby/object:Gem::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: *70102078961920
113
- description: Ruby API Client for FederalRegister.gov that handles searching articles
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/criticaljuncture/federal_register
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.11
229
+ rubygems_version: 1.8.29
170
230
  signing_key:
171
231
  specification_version: 3
172
232
  summary: Ruby API Client for FederalRegister.gov