federal_register 0.3.0 → 0.4.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/VERSION +1 -1
- data/federal_register.gemspec +5 -3
- data/lib/federal_register.rb +2 -1
- data/lib/federal_register/article.rb +1 -0
- data/lib/federal_register/base.rb +11 -2
- data/lib/federal_register/public_inspection_document.rb +47 -0
- data/spec/agency_spec.rb +3 -3
- data/spec/article_spec.rb +18 -4
- data/spec/base_spec.rb +88 -0
- data/spec/public_inspection_document_spec.rb +68 -0
- data/spec/result_set_spec.rb +2 -2
- metadata +150 -96
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.4.0
|
data/federal_register.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{federal_register}
|
8
|
-
s.version = "0.
|
8
|
+
s.version = "0.4.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Andrew Carpenter"]
|
12
|
-
s.date = %q{2011-
|
12
|
+
s.date = %q{2011-10-29}
|
13
13
|
s.description = %q{Ruby API Client for FederalRegister.gov that handles searching articles and getting information about agencies}
|
14
14
|
s.email = %q{andrew@criticaljuncture.org}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -31,17 +31,19 @@ Gem::Specification.new do |s|
|
|
31
31
|
"lib/federal_register/article.rb",
|
32
32
|
"lib/federal_register/base.rb",
|
33
33
|
"lib/federal_register/client.rb",
|
34
|
+
"lib/federal_register/public_inspection_document.rb",
|
34
35
|
"lib/federal_register/result_set.rb",
|
35
36
|
"spec/agency_spec.rb",
|
36
37
|
"spec/article_spec.rb",
|
37
38
|
"spec/base_spec.rb",
|
39
|
+
"spec/public_inspection_document_spec.rb",
|
38
40
|
"spec/result_set_spec.rb",
|
39
41
|
"spec/spec_helper.rb"
|
40
42
|
]
|
41
43
|
s.homepage = %q{http://github.com/criticaljuncture/federal_register}
|
42
44
|
s.licenses = ["MIT"]
|
43
45
|
s.require_paths = ["lib"]
|
44
|
-
s.rubygems_version = %q{1.
|
46
|
+
s.rubygems_version = %q{1.5.2}
|
45
47
|
s.summary = %q{Ruby API Client for FederalRegister.gov}
|
46
48
|
|
47
49
|
if s.respond_to? :specification_version then
|
data/lib/federal_register.rb
CHANGED
@@ -8,4 +8,5 @@ require "federal_register/client.rb"
|
|
8
8
|
require "federal_register/base.rb"
|
9
9
|
require "federal_register/result_set.rb"
|
10
10
|
require "federal_register/agency.rb"
|
11
|
-
require "federal_register/article.rb"
|
11
|
+
require "federal_register/article.rb"
|
12
|
+
require "federal_register/public_inspection_document.rb"
|
@@ -11,8 +11,17 @@ class FederalRegister::Base < FederalRegister::Client
|
|
11
11
|
attributes.each do |attr|
|
12
12
|
define_method attr do
|
13
13
|
val = @attributes[attr.to_s]
|
14
|
-
if val
|
15
|
-
|
14
|
+
if val
|
15
|
+
case options[:type]
|
16
|
+
when :date
|
17
|
+
if ! val.is_a?(Date)
|
18
|
+
val = Date.strptime(val.to_s)
|
19
|
+
end
|
20
|
+
when :datetime
|
21
|
+
if ! val.is_a?(DateTime)
|
22
|
+
val = DateTime.parse(val.to_s)
|
23
|
+
end
|
24
|
+
end
|
16
25
|
end
|
17
26
|
|
18
27
|
if ! val && ! full? && respond_to?(:json_url) && @attributes['json_url']
|
@@ -0,0 +1,47 @@
|
|
1
|
+
class FederalRegister::PublicInspectionDocument < FederalRegister::Base
|
2
|
+
add_attribute :agencies,
|
3
|
+
:docket_numbers,
|
4
|
+
:document_number,
|
5
|
+
:editorial_note,
|
6
|
+
:html_url,
|
7
|
+
:filing_type,
|
8
|
+
:pdf_url,
|
9
|
+
:pdf_file_size,
|
10
|
+
:num_pages,
|
11
|
+
:title,
|
12
|
+
:toc_subject,
|
13
|
+
:type
|
14
|
+
|
15
|
+
add_attribute :publication_date,
|
16
|
+
:type => :date
|
17
|
+
add_attribute :filed_at,
|
18
|
+
:pdf_update_at,
|
19
|
+
:type => :datetime
|
20
|
+
|
21
|
+
def self.search(args)
|
22
|
+
FederalRegister::ResultSet.fetch("/public-inspection-documents.json", :query => args, :result_class => self)
|
23
|
+
end
|
24
|
+
|
25
|
+
def self.find(document_number)
|
26
|
+
attributes = get("/public-inspection-documents/#{document_number}.json")
|
27
|
+
new(attributes, :full => true)
|
28
|
+
end
|
29
|
+
|
30
|
+
def self.available_on(date)
|
31
|
+
FederalRegister::ResultSet.fetch("/public-inspection-documents.json", :query => {:conditions => {:available_on => date}}, :result_class => self)
|
32
|
+
end
|
33
|
+
|
34
|
+
def self.current
|
35
|
+
FederalRegister::ResultSet.fetch("/public-inspection-documents/current.json", :result_class => self)
|
36
|
+
end
|
37
|
+
|
38
|
+
def self.find_all(*document_numbers)
|
39
|
+
result_set = FederalRegister::ResultSet.fetch("/public-inspection-documents/#{document_numbers.join(',')}.json", :result_class => self)
|
40
|
+
end
|
41
|
+
|
42
|
+
def agencies
|
43
|
+
attributes["agencies"].map do |attr|
|
44
|
+
FederalRegister::Agency.new(attr)
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
data/spec/agency_spec.rb
CHANGED
@@ -3,7 +3,7 @@ require File.dirname(__FILE__) + '/spec_helper'
|
|
3
3
|
describe FederalRegister::Agency do
|
4
4
|
describe ".all" do
|
5
5
|
before(:each) do
|
6
|
-
FakeWeb.register_uri(:get, "http://
|
6
|
+
FakeWeb.register_uri(:get, "http://api.federalregister.gov/v1/agencies.json", :body => [{},{}].to_json, :content_type =>"text/json")
|
7
7
|
end
|
8
8
|
|
9
9
|
it "returns Agency objects" do
|
@@ -21,7 +21,7 @@ describe FederalRegister::Agency do
|
|
21
21
|
|
22
22
|
describe "attribute loading" do
|
23
23
|
before(:each) do
|
24
|
-
@agency = FederalRegister::Agency.new({'name' => "Commerce Department", 'json_url' => "http://
|
24
|
+
@agency = FederalRegister::Agency.new({'name' => "Commerce Department", 'json_url' => "http://api.federalregister.gov/v1/agencies/1.json"})
|
25
25
|
end
|
26
26
|
|
27
27
|
describe "existing attribute" do
|
@@ -37,7 +37,7 @@ describe FederalRegister::Agency do
|
|
37
37
|
end
|
38
38
|
|
39
39
|
describe "missing attribute" do
|
40
|
-
FakeWeb.register_uri(:get, "http://
|
40
|
+
FakeWeb.register_uri(:get, "http://api.federalregister.gov/v1/agencies/1.json", :body => {:description => "Lorem ipsum"}.to_json, :content_type =>"text/json")
|
41
41
|
it "should lazy-load from the json_url" do
|
42
42
|
@agency.send(:attributes)['description'].should be_nil
|
43
43
|
@agency.description.should == "Lorem ipsum"
|
data/spec/article_spec.rb
CHANGED
@@ -6,7 +6,7 @@ describe FederalRegister::Article do
|
|
6
6
|
document_number = "2010-213"
|
7
7
|
FakeWeb.register_uri(
|
8
8
|
:get,
|
9
|
-
"http://
|
9
|
+
"http://api.federalregister.gov/v1/articles/#{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::Article do
|
|
18
18
|
document_number = "some-random-document"
|
19
19
|
FakeWeb.register_uri(
|
20
20
|
:get,
|
21
|
-
"http://
|
21
|
+
"http://api.federalregister.gov/v1/articles/#{document_number}.json",
|
22
22
|
:content_type =>"text/json",
|
23
23
|
:status => 404
|
24
24
|
)
|
@@ -30,7 +30,7 @@ describe FederalRegister::Article do
|
|
30
30
|
it "fetches multiple matching documents" do
|
31
31
|
FakeWeb.register_uri(
|
32
32
|
:get,
|
33
|
-
"http://
|
33
|
+
"http://api.federalregister.gov/v1/articles/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::Article do
|
|
43
43
|
before(:each) do
|
44
44
|
FakeWeb.register_uri(
|
45
45
|
:get,
|
46
|
-
"http://
|
46
|
+
"http://api.federalregister.gov/v1/articles.json?conditions[term]=Fish",
|
47
47
|
:content_type =>"text/json",
|
48
48
|
:body => {:count => 3}.to_json
|
49
49
|
)
|
@@ -74,4 +74,18 @@ describe FederalRegister::Article do
|
|
74
74
|
article.publication_date.should == Date.strptime("2011-07-22")
|
75
75
|
end
|
76
76
|
end
|
77
|
+
|
78
|
+
describe "#docket_ids" do
|
79
|
+
it "returns an array" do
|
80
|
+
document_number = "2010-213"
|
81
|
+
FakeWeb.register_uri(
|
82
|
+
:get,
|
83
|
+
"http://api.federalregister.gov/v1/articles/#{document_number}.json",
|
84
|
+
:content_type =>"text/json",
|
85
|
+
:body => {:title => "Important Notice", :docket_ids => ['ABC','123']}.to_json
|
86
|
+
)
|
87
|
+
|
88
|
+
FederalRegister::Article.find(document_number).docket_ids.should == ['ABC','123']
|
89
|
+
end
|
90
|
+
end
|
77
91
|
end
|
data/spec/base_spec.rb
CHANGED
@@ -21,6 +21,90 @@ describe FederalRegister::Base do
|
|
21
21
|
)
|
22
22
|
instance.foo.should == 'bar'
|
23
23
|
end
|
24
|
+
|
25
|
+
context "when attribute is of type date" do
|
26
|
+
before(:each) do
|
27
|
+
@klass = Class.new(FederalRegister::Base)
|
28
|
+
@klass.add_attribute(:panda, :type => :date)
|
29
|
+
end
|
30
|
+
|
31
|
+
context "when value is nil" do
|
32
|
+
it "should return nil" do
|
33
|
+
instance = @klass.new('panda' => nil)
|
34
|
+
instance.panda.should be_nil
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
context "when value is a Date" do
|
39
|
+
it "returns a date" do
|
40
|
+
date = Date.today
|
41
|
+
instance = @klass.new('panda' => Date.today)
|
42
|
+
instance.panda.should == Date.today
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
context "when value is not a date" do
|
47
|
+
context "when value is a valid date string" do
|
48
|
+
it "returns the date" do
|
49
|
+
date_string = Date.today.to_s
|
50
|
+
instance = @klass.new('panda' => date_string)
|
51
|
+
instance.panda.should == Date.strptime(date_string)
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
context "when value is not a valid date string" do
|
56
|
+
it "throws" do
|
57
|
+
date_string = "PANDA"
|
58
|
+
instance = @klass.new('panda' => date_string)
|
59
|
+
lambda {
|
60
|
+
instance.panda.should == "never going to get here"
|
61
|
+
}.should raise_error
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
context "when attribute is of type datetime" do
|
68
|
+
before(:each) do
|
69
|
+
@klass = Class.new(FederalRegister::Base)
|
70
|
+
@klass.add_attribute(:updated_at, :type => :datetime)
|
71
|
+
end
|
72
|
+
|
73
|
+
context "when value is nil" do
|
74
|
+
it "should return nil" do
|
75
|
+
instance = @klass.new('updated_at' => nil)
|
76
|
+
instance.updated_at.should be_nil
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
context "when value is a DateTime" do
|
81
|
+
it "returns a datetime" do
|
82
|
+
datetime = DateTime.current
|
83
|
+
instance = @klass.new('updated_at' => datetime)
|
84
|
+
instance.updated_at.should == datetime
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
88
|
+
context "when value is not a datetime" do
|
89
|
+
context "when value is a valid datetime string" do
|
90
|
+
it "returns the datetime" do
|
91
|
+
time_string = "2011-10-21T08:45:00-04:00" #"2011-09-29T08:45:00-04:00"
|
92
|
+
instance = @klass.new('updated_at' => time_string)
|
93
|
+
instance.updated_at.should == DateTime.parse(time_string)
|
94
|
+
end
|
95
|
+
end
|
96
|
+
|
97
|
+
context "when value is not a valid date string" do
|
98
|
+
it "throws" do
|
99
|
+
date_string = "foo"
|
100
|
+
instance = @klass.new(:updated_at => date_string)
|
101
|
+
lambda {
|
102
|
+
instance.updated_at.should == '?'
|
103
|
+
}.should raise_error
|
104
|
+
end
|
105
|
+
end
|
106
|
+
end
|
107
|
+
end
|
24
108
|
end
|
25
109
|
|
26
110
|
describe '.override_base_uri' do
|
@@ -33,5 +117,9 @@ describe FederalRegister::Base do
|
|
33
117
|
klass.default_options[:base_uri].should == 'http://fr2.local/api/v1'
|
34
118
|
end
|
35
119
|
end
|
120
|
+
|
121
|
+
after(:all) do
|
122
|
+
FederalRegister::Base.override_base_uri('http://api.federalregister.gov/v1')
|
123
|
+
end
|
36
124
|
end
|
37
125
|
end
|
@@ -0,0 +1,68 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/spec_helper'
|
2
|
+
|
3
|
+
describe FederalRegister::PublicInspectionDocument do
|
4
|
+
describe ".find" do
|
5
|
+
it "fetches the document by its document number" do
|
6
|
+
document_number = "2010-213"
|
7
|
+
FakeWeb.register_uri(
|
8
|
+
:get,
|
9
|
+
"http://api.federalregister.gov/v1/public-inspection-documents/#{document_number}.json",
|
10
|
+
:content_type =>"text/json",
|
11
|
+
:body => {:title => "Important Notice"}.to_json
|
12
|
+
)
|
13
|
+
|
14
|
+
FederalRegister::PublicInspectionDocument.find(document_number).title.should == 'Important Notice'
|
15
|
+
end
|
16
|
+
|
17
|
+
it "throws an error when a document doesn't exist" do
|
18
|
+
document_number = "some-random-document"
|
19
|
+
FakeWeb.register_uri(
|
20
|
+
:get,
|
21
|
+
"http://api.federalregister.gov/v1/public-inspection-documents/#{document_number}.json",
|
22
|
+
:content_type =>"text/json",
|
23
|
+
:status => 404
|
24
|
+
)
|
25
|
+
lambda{ FederalRegister::PublicInspectionDocument.find(document_number) }.should raise_error FederalRegister::Client::RecordNotFound
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
describe ".find_all" do
|
30
|
+
it "fetches multiple matching documents" do
|
31
|
+
FakeWeb.register_uri(
|
32
|
+
:get,
|
33
|
+
"http://api.federalregister.gov/v1/public-inspection-documents/abc,def.json",
|
34
|
+
:content_type =>"text/json",
|
35
|
+
:body => {:results => [{:document_number => "abc"}, {:document_number => "def"}]}.to_json
|
36
|
+
)
|
37
|
+
result_set = FederalRegister::PublicInspectionDocument.find_all('abc','def')
|
38
|
+
result_set.results.map(&:document_number).sort.should === ['abc','def']
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
describe ".available_on" do
|
43
|
+
it "fetches the document on PI on a given date" do
|
44
|
+
FakeWeb.register_uri(
|
45
|
+
:get,
|
46
|
+
"http://api.federalregister.gov/v1/public-inspection-documents.json?conditions[available_on]=2011-10-15",
|
47
|
+
:content_type =>"text/json",
|
48
|
+
:body => {:results => [{:document_number => "abc"}, {:document_number => "def"}]}.to_json
|
49
|
+
)
|
50
|
+
result_set = FederalRegister::PublicInspectionDocument.available_on(Date.parse('2011-10-15'))
|
51
|
+
result_set.results.map(&:document_number).sort.should === ['abc','def']
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
describe ".current" do
|
56
|
+
it "fetches the PI documents from the current issue" do
|
57
|
+
FakeWeb.register_uri(
|
58
|
+
:get,
|
59
|
+
"http://api.federalregister.gov/v1/public-inspection-documents/current.json",
|
60
|
+
:content_type =>"text/json",
|
61
|
+
:body => {:results => [{:document_number => "abc"}, {:document_number => "def"}]}.to_json
|
62
|
+
)
|
63
|
+
result_set = FederalRegister::PublicInspectionDocument.current
|
64
|
+
result_set.results.map(&:document_number).sort.should === ['abc','def']
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
end
|
data/spec/result_set_spec.rb
CHANGED
@@ -3,8 +3,8 @@ require File.dirname(__FILE__) + '/spec_helper'
|
|
3
3
|
describe FederalRegister::ResultSet do
|
4
4
|
describe "#next" do
|
5
5
|
it "loads the next_page_url" do
|
6
|
-
FakeWeb.register_uri(:get, "http://
|
7
|
-
FederalRegister::ResultSet.new({'next_page_url' => 'http://
|
6
|
+
FakeWeb.register_uri(:get, "http://api.federalregister.gov/v1/fishes?page=2", :body => {:count => 24}.to_json, :content_type =>"text/json")
|
7
|
+
FederalRegister::ResultSet.new({'next_page_url' => 'http://api.federalregister.gov/v1/fishes?page=2'}, FederalRegister::Article).next.count.should == 24
|
8
8
|
end
|
9
9
|
end
|
10
10
|
|
metadata
CHANGED
@@ -1,124 +1,169 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: federal_register
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 15
|
5
5
|
prerelease:
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 4
|
9
|
+
- 0
|
10
|
+
version: 0.4.0
|
6
11
|
platform: ruby
|
7
|
-
authors:
|
12
|
+
authors:
|
8
13
|
- Andrew Carpenter
|
9
14
|
autorequire:
|
10
15
|
bindir: bin
|
11
16
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
+
|
18
|
+
date: 2011-10-29 00:00:00 -07:00
|
19
|
+
default_executable:
|
20
|
+
dependencies:
|
21
|
+
- !ruby/object:Gem::Dependency
|
22
|
+
type: :runtime
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
17
24
|
none: false
|
18
|
-
requirements:
|
19
|
-
- -
|
20
|
-
- !ruby/object:Gem::Version
|
25
|
+
requirements:
|
26
|
+
- - ">="
|
27
|
+
- !ruby/object:Gem::Version
|
28
|
+
hash: 3
|
29
|
+
segments:
|
30
|
+
- 0
|
31
|
+
- 7
|
32
|
+
- 0
|
21
33
|
version: 0.7.0
|
22
|
-
|
34
|
+
name: httparty
|
35
|
+
version_requirements: *id001
|
23
36
|
prerelease: false
|
24
|
-
|
25
|
-
- !ruby/object:Gem::Dependency
|
26
|
-
name: shoulda
|
27
|
-
requirement: &70199854862460 !ruby/object:Gem::Requirement
|
28
|
-
none: false
|
29
|
-
requirements:
|
30
|
-
- - ! '>='
|
31
|
-
- !ruby/object:Gem::Version
|
32
|
-
version: '0'
|
37
|
+
- !ruby/object:Gem::Dependency
|
33
38
|
type: :development
|
39
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
40
|
+
none: false
|
41
|
+
requirements:
|
42
|
+
- - ">="
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
hash: 3
|
45
|
+
segments:
|
46
|
+
- 0
|
47
|
+
version: "0"
|
48
|
+
name: shoulda
|
49
|
+
version_requirements: *id002
|
34
50
|
prerelease: false
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
requirement: &70199854861960 !ruby/object:Gem::Requirement
|
51
|
+
- !ruby/object:Gem::Dependency
|
52
|
+
type: :development
|
53
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
39
54
|
none: false
|
40
|
-
requirements:
|
55
|
+
requirements:
|
41
56
|
- - ~>
|
42
|
-
- !ruby/object:Gem::Version
|
57
|
+
- !ruby/object:Gem::Version
|
58
|
+
hash: 23
|
59
|
+
segments:
|
60
|
+
- 1
|
61
|
+
- 0
|
62
|
+
- 0
|
43
63
|
version: 1.0.0
|
44
|
-
|
64
|
+
name: bundler
|
65
|
+
version_requirements: *id003
|
45
66
|
prerelease: false
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
requirement: &70199854861480 !ruby/object:Gem::Requirement
|
67
|
+
- !ruby/object:Gem::Dependency
|
68
|
+
type: :development
|
69
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
50
70
|
none: false
|
51
|
-
requirements:
|
71
|
+
requirements:
|
52
72
|
- - ~>
|
53
|
-
- !ruby/object:Gem::Version
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
hash: 15
|
75
|
+
segments:
|
76
|
+
- 1
|
77
|
+
- 6
|
78
|
+
- 0
|
54
79
|
version: 1.6.0
|
55
|
-
|
80
|
+
name: jeweler
|
81
|
+
version_requirements: *id004
|
56
82
|
prerelease: false
|
57
|
-
|
58
|
-
- !ruby/object:Gem::Dependency
|
59
|
-
name: rcov
|
60
|
-
requirement: &70199854861000 !ruby/object:Gem::Requirement
|
61
|
-
none: false
|
62
|
-
requirements:
|
63
|
-
- - ! '>='
|
64
|
-
- !ruby/object:Gem::Version
|
65
|
-
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
66
84
|
type: :development
|
85
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
86
|
+
none: false
|
87
|
+
requirements:
|
88
|
+
- - ">="
|
89
|
+
- !ruby/object:Gem::Version
|
90
|
+
hash: 3
|
91
|
+
segments:
|
92
|
+
- 0
|
93
|
+
version: "0"
|
94
|
+
name: rcov
|
95
|
+
version_requirements: *id005
|
67
96
|
prerelease: false
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
requirement: &70199854860520 !ruby/object:Gem::Requirement
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
type: :development
|
99
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
72
100
|
none: false
|
73
|
-
requirements:
|
101
|
+
requirements:
|
74
102
|
- - ~>
|
75
|
-
- !ruby/object:Gem::Version
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
103
|
+
- !ruby/object:Gem::Version
|
104
|
+
hash: 15
|
105
|
+
segments:
|
106
|
+
- 2
|
107
|
+
- 6
|
108
|
+
version: "2.6"
|
81
109
|
name: rspec
|
82
|
-
|
110
|
+
version_requirements: *id006
|
111
|
+
prerelease: false
|
112
|
+
- !ruby/object:Gem::Dependency
|
113
|
+
type: :development
|
114
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
83
115
|
none: false
|
84
|
-
requirements:
|
116
|
+
requirements:
|
85
117
|
- - ~>
|
86
|
-
- !ruby/object:Gem::Version
|
87
|
-
|
88
|
-
|
118
|
+
- !ruby/object:Gem::Version
|
119
|
+
hash: 15
|
120
|
+
segments:
|
121
|
+
- 2
|
122
|
+
- 6
|
123
|
+
version: "2.6"
|
124
|
+
name: rspec
|
125
|
+
version_requirements: *id007
|
89
126
|
prerelease: false
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
requirement: &70199854859540 !ruby/object:Gem::Requirement
|
127
|
+
- !ruby/object:Gem::Dependency
|
128
|
+
type: :development
|
129
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
94
130
|
none: false
|
95
|
-
requirements:
|
131
|
+
requirements:
|
96
132
|
- - ~>
|
97
|
-
- !ruby/object:Gem::Version
|
98
|
-
|
99
|
-
|
133
|
+
- !ruby/object:Gem::Version
|
134
|
+
hash: 5
|
135
|
+
segments:
|
136
|
+
- 3
|
137
|
+
version: "3"
|
138
|
+
name: activesupport
|
139
|
+
version_requirements: *id008
|
100
140
|
prerelease: false
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
requirement: &70199854859020 !ruby/object:Gem::Requirement
|
141
|
+
- !ruby/object:Gem::Dependency
|
142
|
+
type: :development
|
143
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
105
144
|
none: false
|
106
|
-
requirements:
|
145
|
+
requirements:
|
107
146
|
- - ~>
|
108
|
-
- !ruby/object:Gem::Version
|
147
|
+
- !ruby/object:Gem::Version
|
148
|
+
hash: 27
|
149
|
+
segments:
|
150
|
+
- 1
|
151
|
+
- 3
|
152
|
+
- 0
|
109
153
|
version: 1.3.0
|
110
|
-
|
154
|
+
name: fakeweb
|
155
|
+
version_requirements: *id009
|
111
156
|
prerelease: false
|
112
|
-
|
113
|
-
description: Ruby API Client for FederalRegister.gov that handles searching articles
|
114
|
-
and getting information about agencies
|
157
|
+
description: Ruby API Client for FederalRegister.gov that handles searching articles and getting information about agencies
|
115
158
|
email: andrew@criticaljuncture.org
|
116
159
|
executables: []
|
160
|
+
|
117
161
|
extensions: []
|
118
|
-
|
162
|
+
|
163
|
+
extra_rdoc_files:
|
119
164
|
- LICENSE.txt
|
120
165
|
- README.rdoc
|
121
|
-
files:
|
166
|
+
files:
|
122
167
|
- .document
|
123
168
|
- .watchr
|
124
169
|
- Gemfile
|
@@ -133,38 +178,47 @@ files:
|
|
133
178
|
- lib/federal_register/article.rb
|
134
179
|
- lib/federal_register/base.rb
|
135
180
|
- lib/federal_register/client.rb
|
181
|
+
- lib/federal_register/public_inspection_document.rb
|
136
182
|
- lib/federal_register/result_set.rb
|
137
183
|
- spec/agency_spec.rb
|
138
184
|
- spec/article_spec.rb
|
139
185
|
- spec/base_spec.rb
|
186
|
+
- spec/public_inspection_document_spec.rb
|
140
187
|
- spec/result_set_spec.rb
|
141
188
|
- spec/spec_helper.rb
|
189
|
+
has_rdoc: true
|
142
190
|
homepage: http://github.com/criticaljuncture/federal_register
|
143
|
-
licenses:
|
191
|
+
licenses:
|
144
192
|
- MIT
|
145
193
|
post_install_message:
|
146
194
|
rdoc_options: []
|
147
|
-
|
195
|
+
|
196
|
+
require_paths:
|
148
197
|
- lib
|
149
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
198
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
150
199
|
none: false
|
151
|
-
requirements:
|
152
|
-
- -
|
153
|
-
- !ruby/object:Gem::Version
|
154
|
-
|
155
|
-
segments:
|
200
|
+
requirements:
|
201
|
+
- - ">="
|
202
|
+
- !ruby/object:Gem::Version
|
203
|
+
hash: 3
|
204
|
+
segments:
|
156
205
|
- 0
|
157
|
-
|
158
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
206
|
+
version: "0"
|
207
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
159
208
|
none: false
|
160
|
-
requirements:
|
161
|
-
- -
|
162
|
-
- !ruby/object:Gem::Version
|
163
|
-
|
209
|
+
requirements:
|
210
|
+
- - ">="
|
211
|
+
- !ruby/object:Gem::Version
|
212
|
+
hash: 3
|
213
|
+
segments:
|
214
|
+
- 0
|
215
|
+
version: "0"
|
164
216
|
requirements: []
|
217
|
+
|
165
218
|
rubyforge_project:
|
166
|
-
rubygems_version: 1.
|
219
|
+
rubygems_version: 1.5.2
|
167
220
|
signing_key:
|
168
221
|
specification_version: 3
|
169
222
|
summary: Ruby API Client for FederalRegister.gov
|
170
223
|
test_files: []
|
224
|
+
|