binya 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore ADDED
@@ -0,0 +1,17 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ Gemfile.lock
7
+ InstalledFiles
8
+ _yardoc
9
+ coverage
10
+ doc/
11
+ lib/bundler/man
12
+ pkg
13
+ rdoc
14
+ spec/reports
15
+ test/tmp
16
+ test/version_tmp
17
+ tmp
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in binya.gemspec
4
+ gemspec
data/LICENSE.txt ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2013 Derek Willis
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,42 @@
1
+ # Binya
2
+
3
+ Binya is a Ruby library for parsing information from Federal Reserve sites. Its initial utility is to parse [a listing of speeches, testimony and other comments](http://www.stlouisfed.org/fomcspeak/date.aspx) by Federal Open Market Committee participants and return Ruby objects.
4
+
5
+ Binya is tested under Ruby 1.9.3.
6
+
7
+ ## Installation
8
+
9
+ Add this line to your application's Gemfile:
10
+
11
+ gem 'binya'
12
+
13
+ And then execute:
14
+
15
+ $ bundle
16
+
17
+ Or install it yourself as:
18
+
19
+ $ gem install binya
20
+
21
+ ## Tests
22
+
23
+ To run the tests, run `rake test`. Binya uses MiniTest.
24
+
25
+ ## Usage
26
+
27
+ ```ruby
28
+ require 'rubygems'
29
+ require 'binya'
30
+
31
+ results = Binya::Remarks.fetch!
32
+ puts results.first
33
+ <Binya::Remarks:0x007fc5f4996c88 @date=<Date: 2013-07-02 ((2456476j,0s,0n),+0s,2299161j)>, @time=2013-07-02 17:45:00 -0400, @speaker="Gov. Powell", @type="Speech", @location="The University Club, New York, N.Y.", @title="International Financial Regulatory Reform ", @url="http://www.federalreserve.gov/newsevents/speech/powell20130702a.htm">
34
+ ```
35
+
36
+ ## Contributing
37
+
38
+ 1. Fork it
39
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
40
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
41
+ 4. Push to the branch (`git push origin my-new-feature`)
42
+ 5. Create new Pull Request
data/Rakefile ADDED
@@ -0,0 +1,6 @@
1
+ require "bundler/gem_tasks"
2
+ require 'rake/testtask'
3
+
4
+ Rake::TestTask.new do |t|
5
+ t.pattern = "test/test_*.rb"
6
+ end
data/binya.gemspec ADDED
@@ -0,0 +1,27 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'binya/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "binya"
8
+ spec.version = Binya::VERSION
9
+ spec.authors = ["Derek Willis"]
10
+ spec.email = ["dwillis@gmail.com"]
11
+ spec.description = %q{A small library to extract FOMC public speeches }
12
+ spec.summary = %q{Ruby scraper for Federal Open Market Committee speech listings}
13
+ spec.homepage = ""
14
+ spec.license = "Apache"
15
+
16
+ spec.files = `git ls-files`.split($/)
17
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
+ spec.require_paths = ["lib"]
20
+
21
+ spec.add_development_dependency "bundler", "~> 1.3"
22
+ spec.add_development_dependency "rake"
23
+ spec.add_development_dependency "minitest"
24
+ spec.add_development_dependency "webmock"
25
+ spec.add_dependency "nokogiri"
26
+ spec.add_dependency "american_date"
27
+ end
@@ -0,0 +1,42 @@
1
+ require 'open-uri'
2
+ require 'nokogiri'
3
+ require 'american_date'
4
+ module Binya
5
+
6
+ class Remarks
7
+
8
+ attr_accessor :date, :time, :speaker, :type, :location, :title, :url, :text
9
+
10
+ def initialize(params={})
11
+ params.each_pair do |k,v|
12
+ instance_variable_set("@#{k}", v)
13
+ end
14
+ end
15
+
16
+ def self.create(params={})
17
+ self.new :date => params[:date],
18
+ :time => params[:time],
19
+ :speaker => params[:speaker],
20
+ :type => params[:type],
21
+ :location => params[:location],
22
+ :title => params[:title],
23
+ :url => params[:url]
24
+ end
25
+
26
+ def self.fetch!
27
+ results = []
28
+ url = "http://www.stlouisfed.org/fomcspeak/date.aspx"
29
+ doc = Nokogiri::HTML(open(url).read)
30
+ (doc/:table)[1].children[2..26].each do |row|
31
+ date = Date.parse(row.children[0].children[0].text)
32
+ time = row.children[0].children.size == 1 ? nil : Time.parse(row.children[0].children[2].text, date)
33
+ results << {:date => date, :time => time, :speaker => row.children[1].text, :type => row.children[2].text,
34
+ :location => row.children[3].text.strip, :title => row.children[4].text.strip, :url => row.children[4].children[0]['href']}
35
+ end
36
+ results.map{|r| Remarks.create(r)}
37
+ end
38
+
39
+ end
40
+
41
+
42
+ end
@@ -0,0 +1,3 @@
1
+ module Binya
2
+ VERSION = "0.0.1"
3
+ end
data/lib/binya.rb ADDED
@@ -0,0 +1,6 @@
1
+ require "binya/version"
2
+ require "binya/remarks"
3
+
4
+ module Binya
5
+ # Your code goes here...
6
+ end
@@ -0,0 +1,302 @@
1
+
2
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+
4
+ <html xmlns="http://www.w3.org/1999/xhtml">
5
+ <head id="Head1"><title>
6
+ FOMC Speak - A repository of speeches, testimony, interviews and commentary by FOMC participants
7
+ </title>
8
+ <link href="../../css/styles.css" rel="stylesheet" type="text/css" />
9
+ <link href="../../css/nav.css" rel="stylesheet" type="text/css" />
10
+ <link href="../../css/footer.css" rel="stylesheet" type="text/css" />
11
+ <link href="./Styles/fomc_css.css" rel="stylesheet" type="text/css" />
12
+ <link href="../../css/navrrr.css" rel="stylesheet" type="text/css" />
13
+
14
+ <script language="javascript" type="text/javascript">
15
+ function classCurrentPage(id) {
16
+ identity = document.getElementById(id);
17
+ identity.className = 'currentpage';
18
+ }
19
+ </script>
20
+ </head>
21
+ <body >
22
+ <form method="post" action="date.aspx" onkeypress="javascript:return WebForm_FireDefaultButton(event, 'btnSearch')" id="form1">
23
+ <div class="aspNetHidden">
24
+ <input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
25
+ <input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
26
+ <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="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dXItZGlzdHJpY3QvcHJlc3MvcHJlc2lkZW50cy1zcGVlY2hlcy93aWxsaWFtcy1zcGVlY2hlcy8yMDEzL2p1bmUvdGhlLWVjb25vbWljLXJlY292ZXJ5LXBhc3QtcHJlc2VudC1hbmQtZnV0dXJlLx8GaGRkAgIPDxYEHwsFAjI1HwZoZGQCAw8PFgofCwUaNi8yOC8yMDEzPGJyLz4oMzozMCBQTSBFVCkfBxsAAAAAAEBVQAEAAAAfCGgfCQsrBQIfCgKAghRkZAIEDw8WBh8LBTM8YSBocmVmPSdQYXJ0aWNpcGFudC5hc3B4P2lkPTI1Jz5QcmVzLiBXaWxsaWFtczwvYT4fBxsAAAAAAMBiQAEAAAAfCgKAAmRkAgUPDxYGHwsFBlNwZWVjaB8HGwAAAAAAAFlAAQAAAB8KAoACZGQCBg8PFgYfCwVAU29ub21hIENvdW50eSBFY29ub21pYyBEZXZlbG9wbWVudCBCb2FyZCBpbiBSb2huZXJ0IFBhcmssIENhbGlmLh8HGwAAAAAAwHJAAQAAAB8KAoACZGQCBw8PFgYfCwWGAjxhIHRhcmdldD0nX2JsYW5rJyBocmVmPSdodHRwOi8vd3d3LmZyYnNmLm9yZy9vdXItZGlzdHJpY3QvcHJlc3MvcHJlc2lkZW50cy1zcGVlY2hlcy93aWxsaWFtcy1zcGVlY2hlcy8yMDEzL2p1bmUvdGhlLWVjb25vbWljLXJlY292ZXJ5LXBhc3QtcHJlc2VudC1hbmQtZnV0dXJlLyc+VGhlIEVjb25vbWljIFJlY292ZXJ5OiBQYXN0LCBQcmVzZW50LCBhbmQgRnV0dXJlPC9hPiZuYnNwOzxpbWcgc3JjPScuL2ltYWdlcy94bGluay5naWYnIGJvcmRlcj0nMCcgLz4fBxsAAAAAAMByQAEAAAAfCgKAAmRkAggPDxYEHwsFBUZhbHNlHwZoZGQCBQ9kFhJmDw8WBB8LBQQxMDE3HwZoZGQCAQ8PFgQfCwVkaHR0cDovL3d3dy5yaWNobW9uZGZlZC5vcmcvcHJlc3Nfcm9vbS9zcGVlY2hlcy9wcmVzaWRlbnRfamVmZl9sYWNrZXIvMjAxMy9sYWNrZXJfc3BlZWNoXzIwMTMwNjI4LmNmbR8GaGRkAgIPDxYEHwsFAjExHwZoZGQCAw8PFgofCwUaNi8yOC8yMDEzPGJyLz4oOToxNSBBTSBFVCkfBxsAAAAAAEBVQAEAAAAfCGgfCQsrBQIfCgKAghRkZAIEDw8WBh8LBTE8YSBocmVmPSdQYXJ0aWNpcGFudC5hc3B4P2lkPTExJz5QcmVzLiBMYWNrZXI8L2E+HwcbAAAAAADAYkABAAAAHwoCgAJkZAIFDw8WBh8LBQZTcGVlY2gfBxsAAAAAAABZQAEAAAAfCgKAAmRkAgYPDxYGHwsFSUp1ZGljaWFsIENvbmZlcmVuY2Ugb2YgdGhlIEZvdXJ0aCBDaXJjdWl0IGluIFdoaXRlIFN1bHBodXIgU3ByaW5ncywgVy5WYS4fBxsAAAAAAMByQAEAAAAfCgKAAmRkAgcPDxYGHwsFzwE8YSB0YXJnZXQ9J19ibGFuaycgaHJlZj0naHR0cDovL3d3dy5yaWNobW9uZGZlZC5vcmcvcHJlc3Nfcm9vbS9zcGVlY2hlcy9wcmVzaWRlbnRfamVmZl9sYWNrZXIvMjAxMy9sYWNrZXJfc3BlZWNoXzIwMTMwNjI4LmNmbSc+RWNvbm9taWMgT3V0bG9vaywgSnVuZSAyMDEzPC9hPiZuYnNwOzxpbWcgc3JjPScuL2ltYWdlcy94bGluay5naWYnIGJvcmRlcj0nMCcgLz4fBxsAAAAAAMByQAEAAAAfCgKAAmRkAggPDxYEHwsFBUZhbHNlHwZoZGQCBg9kFhJmDw8WBB8LBQQxMDE2HwZoZGQCAQ8PFgQfCwVCaHR0cDovL3d3dy5mZWRlcmFscmVzZXJ2ZS5nb3YvbmV3c2V2ZW50cy9zcGVlY2gvc3RlaW4yMDEzMDYyOGEuaHRtHwZoZGQCAg8PFgQfCwUCMjEfBmhkZAIDDw8WCh8LBRo2LzI4LzIwMTM8YnIvPig4OjAwIEFNIEVUKR8HGwAAAAAAQFVAAQAAAB8IaB8JCysFAh8KAoCCFGRkAgQPDxYGHwsFLzxhIGhyZWY9J1BhcnRpY2lwYW50LmFzcHg/aWQ9MjEnPkdvdi4gU3RlaW48L2E+HwcbAAAAAADAYkABAAAAHwoCgAJkZAIFDw8WBh8LBQdSZW1hcmtzHwcbAAAAAAAAWUABAAAAHwoCgAJkZAIGDw8WBh8LBWVDLiBQZXRlciBNY0NvbG91Z2ggU2VyaWVzIG9uIEludGVybmF0aW9uYWwgRWNvbm9taWNzLCBDb3VuY2lsIG9uIEZvcmVpZ24gUmVsYXRpb25zLCBpbiBOZXcgWW9yaywgTi5ZLh8HGwAAAAAAwHJAAQAAAB8KAoACZGQCBw8PFgYfCwWtATxhIHRhcmdldD0nX2JsYW5rJyBocmVmPSdodHRwOi8vd3d3LmZlZGVyYWxyZXNlcnZlLmdvdi9uZXdzZXZlbnRzL3NwZWVjaC9zdGVpbjIwMTMwNjI4YS5odG0nPkNvbW1lbnRzIG9uIE1vbmV0YXJ5IFBvbGljeTwvYT4mbmJzcDs8aW1nIHNyYz0nLi9pbWFnZXMveGxpbmsuZ2lmJyBib3JkZXI9JzAnIC8+HwcbAAAAAADAckABAAAAHwoCgAJkZAIIDw8WBB8LBQVGYWxzZR8GaGRkAgcPZBYSZg8PFgQfCwUEMTAyNh8GaGRkAgEPDxYEHwsFZ2h0dHA6Ly9saW5rLmJyaWdodGNvdmUuY29tL3NlcnZpY2VzL3BsYXllci9iY3BpZDgzNDQ2NTIyMTAwMT9iY2xpZD0yMDczODMzNDIwMDEmYW1wO2JjdGlkPTI1MTU5NDA2NDcwMDEfBmhkZAICDw8WBB8LBQE1HwZoZGQCAw8PFgofCwUJNi8yNy8yMDEzHwcbAAAAAABAVUABAAAAHwhoHwkLKwUCHwoCgIIUZGQCBA8PFgYfCwUwPGEgaHJlZj0nUGFydGljaXBhbnQuYXNweD9pZD01Jz5QcmVzLiBEdWRsZXk8L2E+HwcbAAAAAADAYkABAAAAHwoCgAJkZAIFDw8WBh8LBRBQcmVzcyBDb25mZXJlbmNlHwcbAAAAAAAAWUABAAAAHwoCgAJkZAIGDw8WBh8LBTVSZWdpb25hbCBFY29ub21pYyBQcmVzcyBCcmllZmluZywgTmV3IFlvcmsgQ2l0eSwgTi5ZLh8HGwAAAAAAwHJAAQAAAB8KAoACZGQCBw8PFgYfCwXrATxhIHRhcmdldD0nX2JsYW5rJyBocmVmPSdodHRwOi8vbGluay5icmlnaHRjb3ZlLmNvbS9zZXJ2aWNlcy9wbGF5ZXIvYmNwaWQ4MzQ0NjUyMjEwMDE/YmNsaWQ9MjA3MzgzMzQyMDAxJmFtcDtiY3RpZD0yNTE1OTQwNjQ3MDAxJz5QcmVzcyBCcmllZmluZyBvbiBMYWJvciBNYXJrZXQgZm9yIENvbGxlZ2UgR3JhZHVhdGVzPC9hPiZuYnNwOzxpbWcgc3JjPScuL2ltYWdlcy94bGluay5naWYnIGJvcmRlcj0nMCcgLz4fBxsAAAAAAMByQAEAAAAfCgKAAmRkAggPDxYEHwsFBFRydWUfBmhkZAIID2QWEmYPDxYEHwsFBDEwMTUfBmhkZAIBDw8WBB8LBTtodHRwOi8vd3d3LmZyYmF0bGFudGEub3JnL25ld3Mvc3BlZWNoZXMvMTMwNjI3X2xvY2toYXJ0LmNmbR8GaGRkAgIPDxYEHwsFAjEyHwZoZGQCAw8PFgofCwUbNi8yNy8yMDEzPGJyLz4oMTI6MzAgUE0gRVQpHwcbAAAAAABAVUABAAAAHwhoHwkLKwUCHwoCgIIUZGQCBA8PFgYfCwUzPGEgaHJlZj0nUGFydGljaXBhbnQuYXNweD9pZD0xMic+UHJlcy4gTG9ja2hhcnQ8L2E+HwcbAAAAAADAYkABAAAAHwoCgAJkZAIFDw8WBh8LBQZTcGVlY2gfBxsAAAAAAABZQAEAAAAfCgKAAmRkAgYPDxYGHwsFKUtpd2FuaXMgQ2x1YiBvZiBNYXJpZXR0YSBpbiBNYXJpZXR0YSwgR2EuHwcbAAAAAADAckABAAAAHwoCgAJkZAIHDw8WBh8LBbsBPGEgdGFyZ2V0PSdfYmxhbmsnIGhyZWY9J2h0dHA6Ly93d3cuZnJiYXRsYW50YS5vcmcvbmV3cy9zcGVlY2hlcy8xMzA2MjdfbG9ja2hhcnQuY2ZtJz5Nb25ldGFyeSBQb2xpY3kgaW4gTGlnaHQgb2YgdGhlIEVjb25vbWljIE91dGxvb2s8L2E+Jm5ic3A7PGltZyBzcmM9Jy4vaW1hZ2VzL3hsaW5rLmdpZicgYm9yZGVyPScwJyAvPh8HGwAAAAAAwHJAAQAAAB8KAoACZGQCCA8PFgQfCwUFRmFsc2UfBmhkZAIJD2QWEmYPDxYEHwsFBDEwMTMfBmhkZAIBDw8WBB8LBUNodHRwOi8vd3d3LmZlZGVyYWxyZXNlcnZlLmdvdi9uZXdzZXZlbnRzL3NwZWVjaC9wb3dlbGwyMDEzMDYyN2EuaHRtHwZoZGQCAg8PFgQfCwUCMjIfBmhkZAIDDw8WCh8LBRs2LzI3LzIwMTM8YnIvPigxMDozMCBBTSBFVCkfBxsAAAAAAEBVQAEAAAAfCGgfCQsrBQIfCgKAghRkZAIEDw8WBh8LBTA8YSBocmVmPSdQYXJ0aWNpcGFudC5hc3B4P2lkPTIyJz5Hb3YuIFBvd2VsbDwvYT4fBxsAAAAAAMBiQAEAAAAfCgKAAmRkAgUPDxYGHwsFBlNwZWVjaB8HGwAAAAAAAFlAAQAAAB8KAoACZGQCBg8PFgYfCwUrQmlwYXJ0aXNhbiBQb2xpY3kgQ2VudGVyLCBXYXNoaW5ndG9uLCBELkMuIB8HGwAAAAAAwHJAAQAAAB8KAoACZGQCBw8PFgYfCwWzATxhIHRhcmdldD0nX2JsYW5rJyBocmVmPSdodHRwOi8vd3d3LmZlZGVyYWxyZXNlcnZlLmdvdi9uZXdzZXZlbnRzL3NwZWVjaC9wb3dlbGwyMDEzMDYyN2EuaHRtJz5Ob24tQ29udmVudGlvbmFsIE1vbmV0YXJ5IFBvbGljeTwvYT4mbmJzcDs8aW1nIHNyYz0nLi9pbWFnZXMveGxpbmsuZ2lmJyBib3JkZXI9JzAnIC8+HwcbAAAAAADAckABAAAAHwoCgAJkZAIIDw8WBB8LBQVGYWxzZR8GaGRkAgoPZBYSZg8PFgQfCwUEMTAxNB8GaGRkAgEPDxYEHwsFQWh0dHA6Ly93d3cubmV3eW9ya2ZlZC5vcmcvbmV3c2V2ZW50cy9zcGVlY2hlcy8yMDEzL2R1ZDEzMDYyNy5odG1sHwZoZGQCAg8PFgQfCwUBNR8GaGRkAgMPDxYKHwsFGzYvMjcvMjAxMzxici8+KDEwOjAwIEFNIEVUKR8HGwAAAAAAQFVAAQAAAB8IaB8JCysFAh8KAoCCFGRkAgQPDxYGHwsFMDxhIGhyZWY9J1BhcnRpY2lwYW50LmFzcHg/aWQ9NSc+UHJlcy4gRHVkbGV5PC9hPh8HGwAAAAAAwGJAAQAAAB8KAoACZGQCBQ8PFgYfCwUGU3BlZWNoHwcbAAAAAAAAWUABAAAAHwoCgAJkZAIGDw8WBh8LBTVSZWdpb25hbCBFY29ub21pYyBQcmVzcyBCcmllZmluZywgTmV3IFlvcmsgQ2l0eSwgTi5ZLh8HGwAAAAAAwHJAAQAAAB8KAoACZGQCBw8PFgYfCwXAATxhIHRhcmdldD0nX2JsYW5rJyBocmVmPSdodHRwOi8vd3d3Lm5ld3lvcmtmZWQub3JnL25ld3NldmVudHMvc3BlZWNoZXMvMjAxMy9kdWQxMzA2MjcuaHRtbCc+QXJlIFJlY2VudCBDb2xsZWdlIEdyYWR1YXRlcyBGaW5kaW5nIEdvb2QgSm9icz88L2E+Jm5ic3A7PGltZyBzcmM9Jy4vaW1hZ2VzL3hsaW5rLmdpZicgYm9yZGVyPScwJyAvPh8HGwAAAAAAwHJAAQAAAB8KAoACZGQCCA8PFgQfCwUFRmFsc2UfBmhkZAILD2QWEmYPDxYEHwsFBDEwMTIfBmhkZAIBDw8WBB8LBWxodHRwOi8vd3d3LmJsb29tYmVyZy5jb20vdmlkZW8vZmVkLXMtbGFja2VyLWludGVydmlldy1vbi1lY29ub215LW1vbmV0YXJ5LXBvbGljeS1aRFBadGR3alJ2NjBvaGpKX2N5bDh3Lmh0bWwfBmhkZAICDw8WBB8LBQIxMR8GaGRkAgMPDxYKHwsFCTYvMjYvMjAxMx8HGwAAAAAAQFVAAQAAAB8IaB8JCysFAh8KAoCCFGRkAgQPDxYGHwsFMTxhIGhyZWY9J1BhcnRpY2lwYW50LmFzcHg/aWQ9MTEnPlByZXMuIExhY2tlcjwvYT4fBxsAAAAAAMBiQAEAAAAfCgKAAmRkAgUPDxYGHwsFD1ZpZGVvIEludGVydmlldx8HGwAAAAAAAFlAAQAAAB8KAoACZGQCBg8PFgYfCwU1Qmxvb21iZXJnIFRWICZxdW90O1N0cmVldCBTbWFydCZxdW90OyB3aXRoIFBldGVyIENvb2sfBxsAAAAAAMByQAEAAAAfCgKAAmRkAgcPDxYGHwsF8wE8YSB0YXJnZXQ9J19ibGFuaycgaHJlZj0naHR0cDovL3d3dy5ibG9vbWJlcmcuY29tL3ZpZGVvL2ZlZC1zLWxhY2tlci1pbnRlcnZpZXctb24tZWNvbm9teS1tb25ldGFyeS1wb2xpY3ktWkRQWnRkd2pSdjYwb2hqSl9jeWw4dy5odG1sJz5GZWQmIzM5O3MgTGFja2VyIEludGVydmlldyBvbiBFY29ub215LCBNb25ldGFyeSBQb2xpY3kgPC9hPiZuYnNwOzxpbWcgc3JjPScuL2ltYWdlcy94bGluay5naWYnIGJvcmRlcj0nMCcgLz4fBxsAAAAAAMByQAEAAAAfCgKAAmRkAggPDxYEHwsFBFRydWUfBmhkZAIMD2QWEmYPDxYEHwsFBDEwMDkfBmhkZAIBDw8WBB8LBWdodHRwOi8vd3d3LnJpY2htb25kZmVkLm9yZy9wcmVzc19yb29tL3NwZWVjaGVzL3ByZXNpZGVudF9qZWZmX2xhY2tlci8yMDEzL2xhY2tlcl90ZXN0aW1vbnlfMjAxMzA2MjYuY2ZtHwZoZGQCAg8PFgQfCwUCMTEfBmhkZAIDDw8WCh8LBRs2LzI2LzIwMTM8YnIvPigxMDowMCBBTSBFVCkfBxsAAAAAAEBVQAEAAAAfCGgfCQsrBQIfCgKAghRkZAIEDw8WBh8LBTE8YSBocmVmPSdQYXJ0aWNpcGFudC5hc3B4P2lkPTExJz5QcmVzLiBMYWNrZXI8L2E+HwcbAAAAAADAYkABAAAAHwoCgAJkZAIFDw8WBh8LBQlUZXN0aW1vbnkfBxsAAAAAAABZQAEAAAAfCgKAAmRkAgYPDxYGHwsFXGJlZm9yZSB0aGUgQ29tbWl0dGVlIG9uIEZpbmFuY2lhbCBTZXJ2aWNlcywgVS5TLiBIb3VzZSBvZiBSZXByZXNlbnRhdGl2ZXMsIFdhc2hpbmd0b24sIEQuQy4gHwcbAAAAAADAckABAAAAHwoCgAJkZAIHDw8WBh8LBZQCPGEgdGFyZ2V0PSdfYmxhbmsnIGhyZWY9J2h0dHA6Ly93d3cucmljaG1vbmRmZWQub3JnL3ByZXNzX3Jvb20vc3BlZWNoZXMvcHJlc2lkZW50X2plZmZfbGFja2VyLzIwMTMvbGFja2VyX3Rlc3RpbW9ueV8yMDEzMDYyNi5jZm0nPlJpY2htb25kIEZlZCBQcmVzaWRlbnQgSmVmZnJleSBNLiBMYWNrZXIgVGVzdGlmaWVzIG9uIHRoZSBJc3N1ZSBvZiAmIzM5O1RvbyBCaWcgdG8gRmFpbC4mIzM5OzwvYT4mbmJzcDs8aW1nIHNyYz0nLi9pbWFnZXMveGxpbmsuZ2lmJyBib3JkZXI9JzAnIC8+HwcbAAAAAADAckABAAAAHwoCgAJkZAIIDw8WBB8LBQVGYWxzZR8GaGRkAg0PZBYSZg8PFgQfCwUEMTAxMB8GaGRkAgEPDxYEHwsFO2h0dHA6Ly9kYWxsYXNmZWQub3JnL25ld3Mvc3BlZWNoZXMvZmlzaGVyLzIwMTMvZnMx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LmdpZicgYm9yZGVyPScwJyAvPh8HGwAAAAAAwHJAAQAAAB8KAoACZGQCCA8PFgQfCwUEVHJ1ZR8GaGRkAhAPZBYSZg8PFgQfCwUEMTAwOB8GaGRkAgEPDxYEHwsFQWh0dHA6Ly93d3cubmV3eW9ya2ZlZC5vcmcvbmV3c2V2ZW50cy9zcGVlY2hlcy8yMDEzL2R1ZDEzMDYyNC5odG1sHwZoZGQCAg8PFgQfCwUBNR8GaGRkAgMPDxYKHwsFCTYvMjMvMjAxMx8HGwAAAAAAQFVAAQAAAB8IaB8JCysFAh8KAoCCFGRkAgQPDxYGHwsFMDxhIGhyZWY9J1BhcnRpY2lwYW50LmFzcHg/aWQ9NSc+UHJlcy4gRHVkbGV5PC9hPh8HGwAAAAAAwGJAAQAAAB8KAoACZGQCBQ8PFgYfCwUGU3BlZWNoHwcbAAAAAAAAWUABAAAAHwoCgAJkZAIGDw8WBh8LBXdBbmRyZXcgQ3JvY2tldHQgTWVtb3JpYWwgTGVjdHVyZSwgQmFuayBmb3IgSW50ZXJuYXRpb25hbCBTZXR0bGVtZW50cyAyMDEzIEFubnVhbCBHZW5lcmFsIE1lZXRpbmcsIGluIEJhc2VsLCBTd2l0emVybGFuZB8HGwAAAAAAwHJAAQAAAB8KAoACZGQCBw8PFgYfCwXmATxhIHRhcmdldD0nX2JsYW5rJyBocmVmPSdodHRwOi8vd3d3Lm5ld3lvcmtmZWQub3JnL25ld3NldmVudHMvc3BlZWNoZXMvMjAxMy9kdWQxMzA2MjQuaHRtbCc+V2h5IEZpbmFuY2lhbCBTdGFiaWxpdHkgaXMgYSBOZWNlc3NhcnkgUHJlcmVxdWlzaXRlIGZvciBhbiBFZmZlY3RpdmUgTW9uZXRhcnkgUG9saWN5IDwvYT4mbmJzcDs8aW1nIHNyYz0nLi9pbWFnZXMveGxpbmsuZ2lmJyBib3JkZXI9JzAnIC8+HwcbAAAAAADAckABAAAAHwoCgAJkZAIIDw8WBB8LBQRUcnVlHwZoZGQCEQ9kFhJmDw8WBB8LBQQxMDExHwZoZGQCAQ8PFgQfCwV+aHR0cDovL3d3dy53YXNoaW5ndG9ucG9zdC5jb20vYmxvZ3Mvd29ua2Jsb2cvd3AvMjAxMy8wNi8yMS9qYW1lcy1idWxsYXJkLXRoaXMtaXMtd2h5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ZGQCCA8PFgQfCwUEVHJ1ZR8GaGRkAhQPZBYSZg8PFgQfCwUEMTAwNh8GaGRkAgEPDxYEHwsFUmh0dHA6Ly9yZXNlYXJjaC5zdGxvdWlzZmVkLm9yZy9lY29uL2J1bGxhcmQvcGRmL0J1bGxhcmRNb250cmVhbDEwSnVuZTIwMTNGaW5hbC5wZGYfBmhkZAICDw8WBB8LBQEzHwZoZGQCAw8PFgofCwUaNi8xMC8yMDEzPGJyLz4oOTo1MCBBTSBFVCkfBxsAAAAAAEBVQAEAAAAfCGgfCQsrBQIfCgKAghRkZAIEDw8WBh8LBTE8YSBocmVmPSdQYXJ0aWNpcGFudC5hc3B4P2lkPTMnPlByZXMuIEJ1bGxhcmQ8L2E+HwcbAAAAAADAYkABAAAAHwoCgAJkZAIFDw8WBh8LBQxQcmVzZW50YXRpb24fBxsAAAAAAABZQAEAAAAfCgKAAmRkAgYPDxYGHwsFcDE5dGggQ29uZmVyZW5jZSBvZiBNb250cmVhbCAmcXVvdDtFbnRlcmluZyB0aGUgTmV4dCBFY29ub215OiBOZXcgUmVhbGl0aWVzLCBOZXcgRnJvbnRpZXJzJnF1b3Q7IE1vbnRyZWFsLCBDYW5hZGEfBxsAAAAAAMByQAEAAAAfCgKAAmRkAgcPDxYGHwsFlQE8YSB0YXJnZXQ9J19ibGFuaycgaHJlZj0naHR0cDovL3Jlc2VhcmNoLnN0bG91aXNmZWQub3JnL2Vjb24vYnVsbGFyZC9wZGYvQnVsbGFyZE1vbnRyZWFsMTBKdW5lMjAxM0ZpbmFsLnBkZic+VGhlIFUuUy4gRWNvbm9teSBhbmQgTW9uZXRhcnkgUG9saWN5PC9hPh8HGwAAAAAAwHJAAQAAAB8KAoACZGQCCA8PFgQfCwUFRmFsc2UfBmhkZAIVD2QWEmYPDxYEHwsFAzk5OR8GaGRkAgEPDxYEHwsFhQFodHRwOi8vd3d3LnBoaWxhZGVscGhpYWZlZC5vcmcvcHVibGljYXRpb25zL3NwZWVjaGVzL3Bsb3NzZXIvMjAxMy8wNi0wNi0xM19yZWR1Y2luZy1maW5hbmNpYWwtZnJhZ2lsaXR5LWJ5LWVuZGluZy10b28tYmlnLXRvLWZhaWwuY2ZtHwZoZGQCAg8PFgQfCwUCMTUfBmhkZAIDDw8WCh8LBRo2LzYv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Y2UgdG8gU2hlaWxhIENvcHBzLCBUaG9tYXMgSmVmZmVyc29uLCBQYXVsIFZvbGNrZXIgYW5kIFdpbGxpYW0gU2hha2VzcGVhcmUpPC9hPiZuYnNwOzxpbWcgc3JjPScuL2ltYWdlcy94bGluay5naWYnIGJvcmRlcj0nMCcgLz4fBxsAAAAAAMByQAEAAAAfCgKAAmRkAggPDxYEHwsFBUZhbHNlHwZoZGQCGw8PFgIfBmhkZAIDDw9kFgIeBXN0eWxlBRp0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO2QCBQ8PZBYCHwwFFXRleHQtZGVjb3JhdGlvbjpub25lO2QCBw8PZBYCHwwFFXRleHQtZGVjb3JhdGlvbjpub25lO2QCCQ8PZA8QFgFmFgEWAh4OUGFyYW1ldGVyVmFsdWVkFgECA2RkGAIFHl9fQ29udHJvbHNSZXF1aXJlUG9zdEJhY2tLZXlfXxYBBRhjdGwwMCRfSGVhZGVyMSRidG5TZWFyY2gFG2N0bDAwJE1haW5Db250ZW50JGd2UmVtYXJrcw88KwAMAwQFBERBVEUFAgEIAilks1hajDtN99oBOqoQuUaHtXg2D7HOKxKgDxL+E1DzmDo=" />
27
+ </div>
28
+
29
+ <script type="text/javascript">
30
+ //<![CDATA[
31
+ var theForm = document.forms['form1'];
32
+ if (!theForm) {
33
+ theForm = document.form1;
34
+ }
35
+ function __doPostBack(eventTarget, eventArgument) {
36
+ if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
37
+ theForm.__EVENTTARGET.value = eventTarget;
38
+ theForm.__EVENTARGUMENT.value = eventArgument;
39
+ theForm.submit();
40
+ }
41
+ }
42
+ //]]>
43
+ </script>
44
+
45
+
46
+ <script src="/fomcspeak/WebResource.axd?d=z4tVP0DEvzAzoT54RNO4ERMcBZzp5dMGmpUnAF1OnrRssxpWak03TBA14CXczCPCvzUkTnbGyN_ADBPuool9ghPsiyRnYOTwOOoqSehiBx01&amp;t=635021085565292987" type="text/javascript"></script>
47
+
48
+
49
+ <script src="/fomcspeak/ScriptResource.axd?d=nKgAEz01pyEJ0iLSzFC74kMAlu6tIB2gCCYkPazrYZf5qxBr1CCbTvZ2HoQ3j4LB8I3lvlnqVVoxJ5a-6Km3B3t8khTjsJxf7nos8bMqZNVOTTuGyiOiHhtv59onBcU5ZUIu0IevGsAM72D6iiCqRoN38_WE3zxW7fjBSEVO7rE1&amp;t=ffffffff940d030f" type="text/javascript"></script>
50
+ <script src="/fomcspeak/ScriptResource.axd?d=ul7DNrsOtM3_rFbd4Gzzdk-kgyD7vsL69UxYBF07He_V0WrOzrU_YAcX7Fx0mh24NL_sZpnB66okxICRD8SA7VKqlrzu97d6PE-NW2h4KQpHpcEAMQXb6F3Ne0m6WEKW8VeJUi4sUtIGZLfYGUVH8k6kkYQl04d3qHBtA79Qvu_oaBWdFVkzmgc5SHrMpNML0&amp;t=ffffffff940d030f" type="text/javascript"></script>
51
+ <script src="Scripts/fomc.js" type="text/javascript"></script>
52
+ <div class="aspNetHidden">
53
+
54
+ <input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWHwLt0u+pAwKBo8GcBwLyvNPmCQK86M77DgK86LL7DgK86Kb7DgK86Kr7DgK86L77DgK86KL7DgK86Jb7DgK86Jr7DgLS4v7LDwK5y9y2CgLlooPpAgKfgr3/CQKN64LGBgKNwdeUDgKLwZuqAQK86M77DgK86LL7DgK86Kb7DgK86Kr7DgK86L77DgK86KL7DgK86Jb7DgK86Jr7DgLS4v7LDwK5y9y2CgKilvbTBQLz0dOTBALz0YOrBnwjNHSwZpk+TpyCP4uH+m5kvjuw3Tlx6nvl3ZjmUxKo" />
55
+ </div>
56
+ <script type="text/javascript">
57
+ //<![CDATA[
58
+ Sys.WebForms.PageRequestManager._initialize('ctl00$ScriptManager1', 'form1', ['tctl00$upMain','upMain'], [], ['ctl00$_Header1','_Header1'], 90, 'ctl00');
59
+ //]]>
60
+ </script>
61
+
62
+ <div id="containertnocol" style="background: repeat-y url(../../images/full_background_nocol.gif) bottom center; width:1000px; margin: 0 auto;">
63
+
64
+ <div id="header" style="background-color:White;">
65
+ <div class="logo">
66
+ <img src="../../images/header_logo.gif" alt="" border="0" usemap="#Map" />
67
+ <map name="Map" id="Map">
68
+ <area shape="rect" coords="9,4,100,85" href="/index.cfm" title="Home" />
69
+ <area shape="rect" coords="104,66,168,84" href="/index.cfm" title="St. Louis" />
70
+ <area shape="rect" coords="174,66,249,84" href="/littlerock/" title="Little Rock" />
71
+ <area shape="rect" coords="258,67,326,84" href="/louisville/" title="Louisville" />
72
+ <area shape="rect" coords="334,67,391,84" href="/memphis/" title="Memphis" />
73
+ </map>
74
+ </div>
75
+ <div class="navitems">
76
+ <div class="topNavLine1">
77
+ <a href="http://www.federalreserveconsumerhelp.gov/?District=8" title="Consumer Help"
78
+ target="_blank">
79
+ <img src="../../images/navigation/consumer_help.gif" alt="Consumer Help" width="93" height="7"
80
+ border="0" /></a><img src="../../images/navigation/delimiter.gif" width="25" height="7"
81
+ alt="" border="0" /><a href="http://www.frbservices.org/" title="Bank Services"
82
+ target="_blank"><img src="../../images/navigation/bank_services.gif" width="92"
83
+ height="7" alt="Federal Reserve Bank Services" border="0" /></a><img src="../../images/navigation/delimiter.gif"
84
+ width="25" height="7" alt="" border="0" /><a href="http://careers.stlouisfed.org/"
85
+ title="Careers" target="blank"><img src="../../images/navigation/careers.gif" width="45"
86
+ height="7" alt="Careers" border="0" /></a></div>
87
+ <div class="topNavLine2">
88
+
89
+ <input name="site" value="stlfed" type="hidden" />
90
+ <input name="client" value="stlfed" type="hidden" />
91
+ <input name="output" value="xml_no_dtd" type="hidden" />
92
+ <input name="proxystylesheet" value="stlfed" type="hidden" />
93
+ <input name="q" value="" maxlength="75" class="searchBox" type="text" />
94
+ <input value="Search" src="../../images/navigation/search.gif" alt="Search" class="searchBtn"
95
+ type="image" />
96
+
97
+ </div>
98
+ <div class="topNavLine3">
99
+ <a href="/about_us/followthefed.cfm" title="Follow the Fed">
100
+ <img src="../../images/social_media/follow.png" alt="Follow the Fed" border="0"></a><img
101
+ src="../../images/social_media/spacer_lft.png" border="0"><a href="http://bit.ly/cgnMQN"
102
+ target="_blank" title="Twitter"><img src="../../images/social_media/follow_twitter.png"
103
+ border="0" alt="Twitter"></a><a href="http://bit.ly/HeaderFB" target="_blank" title="Facebook"><img
104
+ src="../../images/social_media/follow_facebook.png" border="0" alt="Facebook"></a><!--<a href="http://bit.ly/94cKSk" target="_blank" title="LinkedIn"><img src="../../images/social_media/follow_linkedin.png" border="0" alt="LinkedIn"></a>--><a
105
+ href="http://bit.ly/9grQvF" target="_blank" title="YouTube"><img src="../../images/social_media/follow_youtube.png"
106
+ border="0" alt="YouTube"></a><a href="/rss/index.cfm" title="RSS Feeds"><img src="../../images/social_media/follow_rss.png"
107
+ border="0" alt="RSS Feeds"></a><a href="/email_alerts/subscriptions/" title="E-mail Alerts"><img src="../../images/social_media/follow_email.png"
108
+ alt="E-mail Alerts" border="0"></a><img src="../../images/social_media/spacer_rt.png"
109
+ border="0"></div>
110
+ </div>
111
+ <!--/navitemes-->
112
+ </div>
113
+ <!--/header-->
114
+ <!-- topnav -->
115
+ <div id="topnav" style="background:repeat-y url(../../images/navigation/nav_bkgrnd.gif)">
116
+ <a href="/">
117
+ <img src="../../images/navigation/home.gif" alt="[Home]" border="0" /></a><a href="/banking"><img
118
+ src="../../images/navigation/banking.gif" alt="[Banking]" border="0" /></a><a href="/community_development"><img
119
+ src="../../images/navigation/community_development.gif" alt="[Community Development]"
120
+ border="0" /></a><a href="/newsroom"><img src="../../images/navigation/on/newsroom.gif"
121
+ alt="[Newsroom]" border="0" /></a><a href="/education_resources"><img src="../../images/navigation/education_resources.gif"
122
+ alt="[Education Resources]" border="0" /></a><a href="/publications"><img src="../../images/navigation/publications.gif"
123
+ alt="[Publications]" border="0" /></a><a href="/about_us"><img src="../../images/navigation/about_us.gif"
124
+ alt="[About Us]" border="0" /></a><a href="http://research.stlouisfed.org/" target="_BLANK"><img
125
+ src="../../images/navigation/research.gif" alt="[Research]" border="0" /></a></div>
126
+
127
+
128
+ <div id="crumb">
129
+ <span class="alignCrumbs"><a href="/" class="crumb">Home</a> > <a href="/newsroom"
130
+ class="crumb">Newsroom</a> > FOMC Speak</span></div>
131
+
132
+ <div id="body">
133
+ <div id="nocolumncontainer">
134
+
135
+ <div style="background-color: #6F7986;">
136
+ <img src="./images/header.jpg" width="960" alt="FOMC Speak" />
137
+ <div id="navcontainerFOMC">
138
+ <div style="width: 20px; float: right; text-align: right; padding-right: 12px; padding-top: 10px;">
139
+ <a target="_blank" href="./xml/fomcspeak-feed.xml" name="RSS">
140
+ <img src="./images/rss.png" border="0" alt="RSS Feed" />
141
+ </a>
142
+ </div>
143
+ <div style="width: 20px; float: right; text-align: right; padding-right: 12px; padding-top: 8px;">
144
+ <a href="http://stlouisfed.org/email_alerts/subscriptions/?action=subscribe&type=FRBFOMC">
145
+ <img src="./images/mailicon.png" alt="Email Alerts" height="21" border="0" /></a></div>
146
+ <div style="float: right; text-align: right; padding-right: 12px; padding-top: 9px;
147
+ cursor: hand;">
148
+ <input type="image" name="ctl00$_Header1$btnSearch" id="btnSearch" src="../images/navigation/search.gif" src="" onclick="javascript:FOMCSearch();return false;" />
149
+ </div>
150
+ <div onclick="ClearTextInput()" style="float: right; text-align: right; padding-right: 6px; padding-top: 7px;">
151
+ <input name="ctl00$_Header1$txtSearch" type="text" value="Search FOMC" maxlength="75" id="txtSearch" class="textInput" style="width:75px;" />
152
+ </div>
153
+ <div class="headerTable">
154
+ <table border="0">
155
+ <tr>
156
+ <td class="headerCol" id="fomcwelcome">
157
+ <a class="headerLink" href="./index.aspx">WELCOME</a>
158
+ </td>
159
+ <td class="headerSpacing">
160
+ </td>
161
+ <td class="headerCol" id="fomcdate">
162
+ <a class="headerLink" href="./date.aspx">VIEW BY DATE</a>
163
+ </td>
164
+ <td class="headerSpacing">
165
+ </td>
166
+ <td class="headerCol" id="fomcpastparticipants">
167
+ <a class="headerLink" href="./pastparticipants.aspx">PAST PARTICIPANTS</a>
168
+ </td>
169
+ </tr>
170
+ </table>
171
+ </div>
172
+ </div>
173
+ </div>
174
+
175
+ <div id="upMain">
176
+
177
+
178
+ <h2>Speeches, Testimony, Interviews and Commentary by FOMC Participants</h2>
179
+ <div style="margin-left: 15px;">
180
+
181
+
182
+ <div>
183
+ <table class="mGrid" cellspacing="0" id="MainContent_gvRemarks" style="border-width:0px;border-style:None;border-collapse:collapse;">
184
+ <tr>
185
+ <td colspan="9"><table>
186
+ <tr>
187
+ <td><span>1</span></td><td><a href="javascript:__doPostBack(&#39;ctl00$MainContent$gvRemarks&#39;,&#39;Page$2&#39;)">2</a></td><td><a href="javascript:__doPostBack(&#39;ctl00$MainContent$gvRemarks&#39;,&#39;Page$3&#39;)">3</a></td><td><a href="javascript:__doPostBack(&#39;ctl00$MainContent$gvRemarks&#39;,&#39;Page$4&#39;)">4</a></td><td><a href="javascript:__doPostBack(&#39;ctl00$MainContent$gvRemarks&#39;,&#39;Page$5&#39;)">5</a></td><td><a href="javascript:__doPostBack(&#39;ctl00$MainContent$gvRemarks&#39;,&#39;Page$6&#39;)">6</a></td><td><a href="javascript:__doPostBack(&#39;ctl00$MainContent$gvRemarks&#39;,&#39;Page$7&#39;)">7</a></td><td><a href="javascript:__doPostBack(&#39;ctl00$MainContent$gvRemarks&#39;,&#39;Page$8&#39;)">8</a></td><td><a href="javascript:__doPostBack(&#39;ctl00$MainContent$gvRemarks&#39;,&#39;Page$9&#39;)">9</a></td><td><a href="javascript:__doPostBack(&#39;ctl00$MainContent$gvRemarks&#39;,&#39;Page$10&#39;)">10</a></td><td><a href="javascript:__doPostBack(&#39;ctl00$MainContent$gvRemarks&#39;,&#39;Page$11&#39;)">...</a></td>
188
+ </tr>
189
+ </table></td>
190
+ </tr><tr>
191
+ <th align="center" scope="col" style="width:85px;white-space:nowrap;"><img src="images/uparrow.gif" alt="Descending Order" /><a href="javascript:__doPostBack(&#39;ctl00$MainContent$gvRemarks&#39;,&#39;Sort$DATE&#39;)">DATE</a></th><th scope="col" style="width:150px;"><a href="javascript:__doPostBack(&#39;ctl00$MainContent$gvRemarks&#39;,&#39;Sort$PARTICIPANT&#39;)">FOMC PARTICIPANT</a></th><th scope="col" style="width:100px;"><a href="javascript:__doPostBack(&#39;ctl00$MainContent$gvRemarks&#39;,&#39;Sort$TYPE&#39;)">TYPE</a></th><th scope="col" style="width:300px;"><a href="javascript:__doPostBack(&#39;ctl00$MainContent$gvRemarks&#39;,&#39;Sort$WHERE&#39;)">WHERE</a></th><th scope="col" style="width:300px;"><a href="javascript:__doPostBack(&#39;ctl00$MainContent$gvRemarks&#39;,&#39;Sort$WHAT&#39;)">WHAT</a></th>
192
+ </tr><tr class="rowStyle">
193
+ <td align="center" style="width:85px;white-space:nowrap;">7/2/2013<br/>(5:45 PM ET)</td><td style="width:150px;"><a href='Participant.aspx?id=22'>Gov. Powell</a></td><td style="width:100px;">Speech</td><td style="width:300px;">The University Club, New York, N.Y.</td><td style="width:300px;"><a target='_blank' href='http://www.federalreserve.gov/newsevents/speech/powell20130702a.htm'>International Financial Regulatory Reform</a>&nbsp;<img src='./images/xlink.gif' border='0' /></td>
194
+ </tr><tr class="alt">
195
+ <td align="center" style="width:85px;white-space:nowrap;">7/2/2013<br/>(12:30 PM ET)</td><td style="width:150px;"><a href='Participant.aspx?id=5'>Pres. Dudley</a></td><td style="width:100px;">Speech</td><td style="width:300px;">Business Council of Fairfield County, Stamford, Conn.</td><td style="width:300px;"><a target='_blank' href='http://www.newyorkfed.org/newsevents/speeches/2013/dud130701.html'>The National and Regional Economy </a>&nbsp;<img src='./images/xlink.gif' border='0' /></td>
196
+ </tr><tr class="rowStyle">
197
+ <td align="center" style="width:85px;white-space:nowrap;">6/28/2013<br/>(3:30 PM ET)</td><td style="width:150px;"><a href='Participant.aspx?id=25'>Pres. Williams</a></td><td style="width:100px;">Speech</td><td style="width:300px;">Sonoma County Economic Development Board in Rohnert Park, Calif.</td><td style="width:300px;"><a target='_blank' href='http://www.frbsf.org/our-district/press/presidents-speeches/williams-speeches/2013/june/the-economic-recovery-past-present-and-future/'>The Economic Recovery: Past, Present, and Future</a>&nbsp;<img src='./images/xlink.gif' border='0' /></td>
198
+ </tr><tr class="alt">
199
+ <td align="center" style="width:85px;white-space:nowrap;">6/28/2013<br/>(9:15 AM ET)</td><td style="width:150px;"><a href='Participant.aspx?id=11'>Pres. Lacker</a></td><td style="width:100px;">Speech</td><td style="width:300px;">Judicial Conference of the Fourth Circuit in White Sulphur Springs, W.Va.</td><td style="width:300px;"><a target='_blank' href='http://www.richmondfed.org/press_room/speeches/president_jeff_lacker/2013/lacker_speech_20130628.cfm'>Economic Outlook, June 2013</a>&nbsp;<img src='./images/xlink.gif' border='0' /></td>
200
+ </tr><tr class="rowStyle">
201
+ <td align="center" style="width:85px;white-space:nowrap;">6/28/2013<br/>(8:00 AM ET)</td><td style="width:150px;"><a href='Participant.aspx?id=21'>Gov. Stein</a></td><td style="width:100px;">Remarks</td><td style="width:300px;">C. Peter McColough Series on International Economics, Council on Foreign Relations, in New York, N.Y.</td><td style="width:300px;"><a target='_blank' href='http://www.federalreserve.gov/newsevents/speech/stein20130628a.htm'>Comments on Monetary Policy</a>&nbsp;<img src='./images/xlink.gif' border='0' /></td>
202
+ </tr><tr class="alt">
203
+ <td align="center" style="width:85px;white-space:nowrap;">6/27/2013</td><td style="width:150px;"><a href='Participant.aspx?id=5'>Pres. Dudley</a></td><td style="width:100px;">Press Conference</td><td style="width:300px;">Regional Economic Press Briefing, New York City, N.Y.</td><td style="width:300px;"><a target='_blank' href='http://link.brightcove.com/services/player/bcpid834465221001?bclid=207383342001&amp;bctid=2515940647001'>Press Briefing on Labor Market for College Graduates</a>&nbsp;<img src='./images/xlink.gif' border='0' /></td>
204
+ </tr><tr class="rowStyle">
205
+ <td align="center" style="width:85px;white-space:nowrap;">6/27/2013<br/>(12:30 PM ET)</td><td style="width:150px;"><a href='Participant.aspx?id=12'>Pres. Lockhart</a></td><td style="width:100px;">Speech</td><td style="width:300px;">Kiwanis Club of Marietta in Marietta, Ga.</td><td style="width:300px;"><a target='_blank' href='http://www.frbatlanta.org/news/speeches/130627_lockhart.cfm'>Monetary Policy in Light of the Economic Outlook</a>&nbsp;<img src='./images/xlink.gif' border='0' /></td>
206
+ </tr><tr class="alt">
207
+ <td align="center" style="width:85px;white-space:nowrap;">6/27/2013<br/>(10:30 AM ET)</td><td style="width:150px;"><a href='Participant.aspx?id=22'>Gov. Powell</a></td><td style="width:100px;">Speech</td><td style="width:300px;">Bipartisan Policy Center, Washington, D.C. </td><td style="width:300px;"><a target='_blank' href='http://www.federalreserve.gov/newsevents/speech/powell20130627a.htm'>Non-Conventional Monetary Policy</a>&nbsp;<img src='./images/xlink.gif' border='0' /></td>
208
+ </tr><tr class="rowStyle">
209
+ <td align="center" style="width:85px;white-space:nowrap;">6/27/2013<br/>(10:00 AM ET)</td><td style="width:150px;"><a href='Participant.aspx?id=5'>Pres. Dudley</a></td><td style="width:100px;">Speech</td><td style="width:300px;">Regional Economic Press Briefing, New York City, N.Y.</td><td style="width:300px;"><a target='_blank' href='http://www.newyorkfed.org/newsevents/speeches/2013/dud130627.html'>Are Recent College Graduates Finding Good Jobs?</a>&nbsp;<img src='./images/xlink.gif' border='0' /></td>
210
+ </tr><tr class="alt">
211
+ <td align="center" style="width:85px;white-space:nowrap;">6/26/2013</td><td style="width:150px;"><a href='Participant.aspx?id=11'>Pres. Lacker</a></td><td style="width:100px;">Video Interview</td><td style="width:300px;">Bloomberg TV &quot;Street Smart&quot; with Peter Cook</td><td style="width:300px;"><a target='_blank' href='http://www.bloomberg.com/video/fed-s-lacker-interview-on-economy-monetary-policy-ZDPZtdwjRv60ohjJ_cyl8w.html'>Fed&#39;s Lacker Interview on Economy, Monetary Policy </a>&nbsp;<img src='./images/xlink.gif' border='0' /></td>
212
+ </tr><tr class="rowStyle">
213
+ <td align="center" style="width:85px;white-space:nowrap;">6/26/2013<br/>(10:00 AM ET)</td><td style="width:150px;"><a href='Participant.aspx?id=11'>Pres. Lacker</a></td><td style="width:100px;">Testimony</td><td style="width:300px;">before the Committee on Financial Services, U.S. House of Representatives, Washington, D.C. </td><td style="width:300px;"><a target='_blank' href='http://www.richmondfed.org/press_room/speeches/president_jeff_lacker/2013/lacker_testimony_20130626.cfm'>Richmond Fed President Jeffrey M. Lacker Testifies on the Issue of &#39;Too Big to Fail.&#39;</a>&nbsp;<img src='./images/xlink.gif' border='0' /></td>
214
+ </tr><tr class="alt">
215
+ <td align="center" style="width:85px;white-space:nowrap;">6/26/2013<br/>(10:00 AM ET)</td><td style="width:150px;"><a href='Participant.aspx?id=8'>Pres. Fisher</a></td><td style="width:100px;">Testimony</td><td style="width:300px;">before the Committee on Financial Services, U.S. House of Representatives, Washington D.C. </td><td style="width:300px;"><a target='_blank' href='http://dallasfed.org/news/speeches/fisher/2013/fs130626.cfm'>Hearing on &quot;Examining How the Dodd–Frank Act Could Result in More Taxpayer-Funded Bailouts&quot; </a>&nbsp;<img src='./images/xlink.gif' border='0' /></td>
216
+ </tr><tr class="rowStyle">
217
+ <td align="center" style="width:85px;white-space:nowrap;">6/24/2013</td><td style="width:150px;"><a href='Participant.aspx?id=10'>Pres. Kocherlakota</a></td><td style="width:100px;">Press Conference</td><td style="width:300px;">Minneapolis, Minn.</td><td style="width:300px;"><a target='_blank' href='http://www.minneapolisfed.org/news_events/pres/messages/nrk06-24-13.mp3'>Media Q&amp;A</a>&nbsp;<img src='./images/xlink.gif' border='0' /></td>
218
+ </tr><tr class="alt">
219
+ <td align="center" style="width:85px;white-space:nowrap;">6/24/2013</td><td style="width:150px;"><a href='Participant.aspx?id=10'>Pres. Kocherlakota</a></td><td style="width:100px;">Statement</td><td style="width:300px;">Minneapolis, Minn.</td><td style="width:300px;"><a target='_blank' href='http://www.minneapolisfed.org/publications_papers/pub_display.cfm?id=5128#_note'>Recent FOMC Communications as a Part of Appropriate Monetary Policy</a>&nbsp;<img src='./images/xlink.gif' border='0' /></td>
220
+ </tr><tr class="rowStyle">
221
+ <td align="center" style="width:85px;white-space:nowrap;">6/23/2013</td><td style="width:150px;"><a href='Participant.aspx?id=5'>Pres. Dudley</a></td><td style="width:100px;">Speech</td><td style="width:300px;">Andrew Crockett Memorial Lecture, Bank for International Settlements 2013 Annual General Meeting, in Basel, Switzerland</td><td style="width:300px;"><a target='_blank' href='http://www.newyorkfed.org/newsevents/speeches/2013/dud130624.html'>Why Financial Stability is a Necessary Prerequisite for an Effective Monetary Policy </a>&nbsp;<img src='./images/xlink.gif' border='0' /></td>
222
+ </tr><tr class="alt">
223
+ <td align="center" style="width:85px;white-space:nowrap;">6/21/2013<br/>(1:06 PM ET)</td><td style="width:150px;"><a href='Participant.aspx?id=3'>Pres. Bullard</a></td><td style="width:100px;">Q&amp;A</td><td style="width:300px;">Washington Post</td><td style="width:300px;"><a target='_blank' href='http://www.washingtonpost.com/blogs/wonkblog/wp/2013/06/21/james-bullard-this-is-why-i-dissented-at-the-fed-meeting-this-week/'>James Bullard: This is why I dissented at the Fed meeting this week</a>&nbsp;<img src='./images/xlink.gif' border='0' /></td>
224
+ </tr><tr class="rowStyle">
225
+ <td align="center" style="width:85px;white-space:nowrap;">6/21/2013<br/>(6:00 AM ET)</td><td style="width:150px;"><a href='Participant.aspx?id=3'>Pres. Bullard</a></td><td style="width:100px;">Statement</td><td style="width:300px;">St. Louis, Mo.</td><td style="width:300px;"><a target='_blank' href='http://www.stlouisfed.org/newsroom/displayNews.cfm?article=1829'>President Bullard’s Comments on Recent FOMC Actions</a></td>
226
+ </tr><tr class="alt">
227
+ <td align="center" style="width:85px;white-space:nowrap;">6/10/2013</td><td style="width:150px;"><a href='Participant.aspx?id=15'>Pres. Plosser</a></td><td style="width:100px;">Video Interview</td><td style="width:300px;">Nightly Business Report, CNBC</td><td style="width:300px;"><a target='_blank' href='http://nbr.com/2013/06/10/time-for-the-fed-to-cut-back-stimulus-charles-plosser/'>Time for the Fed to Cut Back Stimulus: Charles Plosser</a>&nbsp;<img src='./images/xlink.gif' border='0' /></td>
228
+ </tr><tr class="rowStyle">
229
+ <td align="center" style="width:85px;white-space:nowrap;">6/10/2013<br/>(9:50 AM ET)</td><td style="width:150px;"><a href='Participant.aspx?id=3'>Pres. Bullard</a></td><td style="width:100px;">Presentation</td><td style="width:300px;">19th Conference of Montreal &quot;Entering the Next Economy: New Realities, New Frontiers&quot; Montreal, Canada</td><td style="width:300px;"><a target='_blank' href='http://research.stlouisfed.org/econ/bullard/pdf/BullardMontreal10June2013Final.pdf'>The U.S. Economy and Monetary Policy</a></td>
230
+ </tr><tr class="alt">
231
+ <td align="center" style="width:85px;white-space:nowrap;">6/6/2013<br/>(12:00 PM ET)</td><td style="width:150px;"><a href='Participant.aspx?id=15'>Pres. Plosser</a></td><td style="width:100px;">Speech</td><td style="width:300px;">Eighth Annual Finance Conference Boston College Carroll School of Management, in Boston, Mass</td><td style="width:300px;"><a target='_blank' href='http://www.philadelphiafed.org/publications/speeches/plosser/2013/06-06-13_reducing-financial-fragility-by-ending-too-big-to-fail.cfm'>Reducing Financial Fragility by Ending Too Big to Fail</a>&nbsp;<img src='./images/xlink.gif' border='0' /></td>
232
+ </tr><tr class="rowStyle">
233
+ <td align="center" style="width:85px;white-space:nowrap;">6/6/2013<br/>(7:30 AM ET)</td><td style="width:150px;"><a href='Participant.aspx?id=16'>Gov. Raskin</a></td><td style="width:100px;">Speech</td><td style="width:300px;">Ohio Bankers Day in Columbus, Ohio</td><td style="width:300px;"><a target='_blank' href='http://www.federalreserve.gov/newsevents/speech/raskin20130606a.htm'>Let&#39;s Move Forward: The Case for Timely Implementation of Revised Capital Rules</a>&nbsp;<img src='./images/xlink.gif' border='0' /></td>
234
+ </tr><tr class="alt">
235
+ <td align="center" style="width:85px;white-space:nowrap;">6/5/2013<br/>(1:20 PM ET)</td><td style="width:150px;"><a href='Participant.aspx?id=8'>Pres. Fisher</a></td><td style="width:100px;">Video Interview</td><td style="width:300px;">BNN Headline with Howard Green </td><td style="width:300px;"><a target='_blank' href='http://watch.bnn.ca/#clip940966'>Head of Dallas Fed Richard Fisher on Quantitative Easing (Part 3)</a>&nbsp;<img src='./images/xlink.gif' border='0' /></td>
236
+ </tr><tr class="rowStyle">
237
+ <td align="center" style="width:85px;white-space:nowrap;">6/5/2013<br/>(1:10 PM ET)</td><td style="width:150px;"><a href='Participant.aspx?id=8'>Pres. Fisher</a></td><td style="width:100px;">Video Interview</td><td style="width:300px;">BNN Headline with Howard Green </td><td style="width:300px;"><a target='_blank' href='http://watch.bnn.ca/#clip940953'>Head of Dallas Fed Richard Fisher on Quantitative Easing (Part 2)</a>&nbsp;<img src='./images/xlink.gif' border='0' /></td>
238
+ </tr><tr class="alt">
239
+ <td align="center" style="width:85px;white-space:nowrap;">6/5/2013<br/>(1:00 PM ET)</td><td style="width:150px;"><a href='Participant.aspx?id=8'>Pres. Fisher</a></td><td style="width:100px;">Video Interview</td><td style="width:300px;">BNN Headline with Howard Green </td><td style="width:300px;"><a target='_blank' href='http://watch.bnn.ca/#clip940949'>Head of Dallas Fed Richard Fisher on Quantitative Easing (Part 1)</a>&nbsp;<img src='./images/xlink.gif' border='0' /></td>
240
+ </tr><tr class="rowStyle">
241
+ <td align="center" style="width:85px;white-space:nowrap;">6/4/2013<br/>(8:00 PM ET)</td><td style="width:150px;"><a href='Participant.aspx?id=8'>Pres. Fisher</a></td><td style="width:100px;">Speech</td><td style="width:300px;">Remarks before the C.D. Howe Institute Directors&#39; Dinner, Toronto, Canada</td><td style="width:300px;"><a target='_blank' href='http://www.dallasfed.org/news/speeches/fisher/2013/fs130604.cfm'>The Status of the U.S. Economy and a Perspective on &#39;The Modern Monetarism&#39; (With Reference to Sheila Copps, Thomas Jefferson, Paul Volcker and William Shakespeare)</a>&nbsp;<img src='./images/xlink.gif' border='0' /></td>
242
+ </tr><tr>
243
+ <td colspan="9"><table>
244
+ <tr>
245
+ <td><span>1</span></td><td><a href="javascript:__doPostBack(&#39;ctl00$MainContent$gvRemarks&#39;,&#39;Page$2&#39;)">2</a></td><td><a href="javascript:__doPostBack(&#39;ctl00$MainContent$gvRemarks&#39;,&#39;Page$3&#39;)">3</a></td><td><a href="javascript:__doPostBack(&#39;ctl00$MainContent$gvRemarks&#39;,&#39;Page$4&#39;)">4</a></td><td><a href="javascript:__doPostBack(&#39;ctl00$MainContent$gvRemarks&#39;,&#39;Page$5&#39;)">5</a></td><td><a href="javascript:__doPostBack(&#39;ctl00$MainContent$gvRemarks&#39;,&#39;Page$6&#39;)">6</a></td><td><a href="javascript:__doPostBack(&#39;ctl00$MainContent$gvRemarks&#39;,&#39;Page$7&#39;)">7</a></td><td><a href="javascript:__doPostBack(&#39;ctl00$MainContent$gvRemarks&#39;,&#39;Page$8&#39;)">8</a></td><td><a href="javascript:__doPostBack(&#39;ctl00$MainContent$gvRemarks&#39;,&#39;Page$9&#39;)">9</a></td><td><a href="javascript:__doPostBack(&#39;ctl00$MainContent$gvRemarks&#39;,&#39;Page$10&#39;)">10</a></td><td><a href="javascript:__doPostBack(&#39;ctl00$MainContent$gvRemarks&#39;,&#39;Page$11&#39;)">...</a></td>
246
+ </tr>
247
+ </table></td>
248
+ </tr>
249
+ </table>
250
+ </div>
251
+ <table cellpadding="0" cellspacing="0" width="100%">
252
+ <tr>
253
+ <td style="width:100%; text-align:center">
254
+ <div class="resultsPerPage">
255
+ Remarks Shown Per Page
256
+ &nbsp;&nbsp;<a id="MainContent_lnk25" href="javascript:__doPostBack(&#39;ctl00$MainContent$lnk25&#39;,&#39;&#39;)" style="text-decoration:underline;">25</a>
257
+ &nbsp;&nbsp;<a id="MainContent_lnk50" href="javascript:__doPostBack(&#39;ctl00$MainContent$lnk50&#39;,&#39;&#39;)" style="text-decoration:none;">50</a>
258
+ &nbsp;&nbsp;<a id="MainContent_lnk100" href="javascript:__doPostBack(&#39;ctl00$MainContent$lnk100&#39;,&#39;&#39;)" style="text-decoration:none;">100</a>
259
+ </div>
260
+ </td>
261
+ </tr>
262
+ </table>
263
+
264
+
265
+ </div>
266
+
267
+
268
+ </div>
269
+
270
+ <div style="clear:both;"></div>
271
+ <div style="font-size:1em; padding:10px 10px 10px 10px; text-align:center; background-color:#FFF;" >
272
+ This site is intended to be a comprehensive repository of FOMC participants' speeches, testimony, interviews and commentary.<br />If you have any questions or suggestions, please contact the <strong>Federal Reserve Bank of St. Louis</strong> at <a href="mailto:mediainquiries@stls.frb.org">mediainquiries@stls.frb.org</a>.
273
+ </div>
274
+
275
+ </div>
276
+ </div>
277
+
278
+
279
+ <div id="footer" style="width: 100%; height: 80px; background: #bdc1c0 url('./images/footer_background_ie.gif') no-repeat 0 0;
280
+ margin: 0; padding: 2px;">
281
+ <p>
282
+ <a href="/legal/index.cfm">Legal Information</a> | <a href="/privacy/index.cfm">Privacy
283
+ Policy</a> | <a href="/about_us/contact.cfm">Contact Us</a> | <a href="http://www.federalreserveonline.org/"
284
+ target="blank">Federal Reserve System Online<img src="./images/xlink.gif"
285
+ alt="" border="0" /></a>
286
+ </p>
287
+ </div>
288
+
289
+ <script type="text/javascript">
290
+ var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
291
+ document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
292
+ </script>
293
+ <script type="text/javascript">
294
+ try {
295
+ var pageTracker = _gat._getTracker("UA-8905346-1");
296
+ pageTracker._trackPageview();
297
+ } catch (err) { }</script>
298
+ </div>
299
+
300
+ <script language=javascript>classCurrentPage('fomcdate');</script></form>
301
+ </body>
302
+ </html>
@@ -0,0 +1,32 @@
1
+ require 'rubygems'
2
+ require 'binya'
3
+ require 'open-uri'
4
+ require 'nokogiri'
5
+ require 'minitest/autorun'
6
+ require 'webmock/minitest'
7
+
8
+ class TestRemarks < MiniTest::Test
9
+
10
+ def setup
11
+ stub_request(:any, "www.stlouisfed.org/fomcspeak/date.aspx").to_return(:body => File.open("test/fomcspeak.html").read, :status => 200)
12
+ @response = Net::HTTP.get('www.stlouisfed.org', '/fomcspeak/date.aspx')
13
+ @doc = Nokogiri::HTML(@response)
14
+ @results = []
15
+ (@doc/:table)[1].children[2..26].each do |row|
16
+ date = Date.parse(row.children[0].children[0].text)
17
+ time = row.children[0].children.size == 1 ? nil : Time.parse(row.children[0].children[2].text, date)
18
+ @results << {:date => date, :time => time, :speaker => row.children[1].text, :type => row.children[2].text,
19
+ :location => row.children[3].text.strip, :title => row.children[4].text.strip, :url => row.children[4].children[0]['href']}
20
+ end
21
+ @remarks = @results.map{|r| Binya::Remarks.create(r)}
22
+ end
23
+
24
+ def test_that_there_are_25_results
25
+ assert_equal 25, @results.size
26
+ end
27
+
28
+ def test_that_binya_creates_remarks_object
29
+ assert_equal "Gov. Powell", @remarks.first.speaker
30
+ end
31
+
32
+ end
metadata ADDED
@@ -0,0 +1,161 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: binya
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Derek Willis
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2013-07-04 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: bundler
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: '1.3'
22
+ type: :development
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: '1.3'
30
+ - !ruby/object:Gem::Dependency
31
+ name: rake
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ type: :development
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ - !ruby/object:Gem::Dependency
47
+ name: minitest
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ - !ruby/object:Gem::Dependency
63
+ name: webmock
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ type: :development
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ - !ruby/object:Gem::Dependency
79
+ name: nokogiri
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ! '>='
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
86
+ type: :runtime
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
94
+ - !ruby/object:Gem::Dependency
95
+ name: american_date
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ! '>='
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
102
+ type: :runtime
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ description: ! 'A small library to extract FOMC public speeches '
111
+ email:
112
+ - dwillis@gmail.com
113
+ executables: []
114
+ extensions: []
115
+ extra_rdoc_files: []
116
+ files:
117
+ - .gitignore
118
+ - Gemfile
119
+ - LICENSE.txt
120
+ - README.md
121
+ - Rakefile
122
+ - binya.gemspec
123
+ - lib/binya.rb
124
+ - lib/binya/remarks.rb
125
+ - lib/binya/version.rb
126
+ - test/fomcspeak.html
127
+ - test/test_remarks.rb
128
+ homepage: ''
129
+ licenses:
130
+ - Apache
131
+ post_install_message:
132
+ rdoc_options: []
133
+ require_paths:
134
+ - lib
135
+ required_ruby_version: !ruby/object:Gem::Requirement
136
+ none: false
137
+ requirements:
138
+ - - ! '>='
139
+ - !ruby/object:Gem::Version
140
+ version: '0'
141
+ segments:
142
+ - 0
143
+ hash: -3118084561983766955
144
+ required_rubygems_version: !ruby/object:Gem::Requirement
145
+ none: false
146
+ requirements:
147
+ - - ! '>='
148
+ - !ruby/object:Gem::Version
149
+ version: '0'
150
+ segments:
151
+ - 0
152
+ hash: -3118084561983766955
153
+ requirements: []
154
+ rubyforge_project:
155
+ rubygems_version: 1.8.25
156
+ signing_key:
157
+ specification_version: 3
158
+ summary: Ruby scraper for Federal Open Market Committee speech listings
159
+ test_files:
160
+ - test/fomcspeak.html
161
+ - test/test_remarks.rb