reliefweb_scraper 0.1.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.
@@ -0,0 +1,19 @@
1
+ require 'spec_helper'
2
+ require 'glidenumber'
3
+
4
+ describe Glidenumber do
5
+ use_vcr_cassette 'glidenumber', :record => :new_episodes
6
+
7
+ it 'should find the details of a disaster by glide number' do
8
+ record = Glidenumber.find('OT-2011-000110-UGA')
9
+ record.should be_a(Glidenumber::Record)
10
+ record.country.should == "Uganda"
11
+ record.date.should == Date.strptime('2011-8-12', '%Y-%m-%d')
12
+ record.glidenumber.should == 'MS-2011-000110-UGA'
13
+ end
14
+
15
+ it 'should raise an error on invalid glide number' do
16
+ lambda { Glidenumber.find('OT-123-1234-ABCD') }.should raise_error(ArgumentError)
17
+ end
18
+ end
19
+
@@ -0,0 +1,29 @@
1
+ require 'spec_helper'
2
+ require 'reliefweb'
3
+
4
+ describe Reliefweb do
5
+ use_vcr_cassette 'reliefweb', :record => :new_episodes
6
+
7
+ it 'should fetch a list of featured disasters' do
8
+ Reliefweb.should_receive(:fetch_glidenumber).at_least(:once).with(/^\//).and_return("OT-2011-000110-UGA")
9
+ Glidenumber.should_receive(:find).at_least(:once).with("OT-2011-000110-UGA").and_return(
10
+ Glidenumber::Record.new(:country => "Uganda",
11
+ :date => Date.strptime('2011-8-12', '%Y-%m-%d'),
12
+ :glidenumber => "MS-2011-000110-UGA"))
13
+
14
+ disasters = Reliefweb.featured_disasters
15
+ disasters.should_not be_empty
16
+ disaster = disasters.first
17
+ disaster.should be_a(Reliefweb::Disaster)
18
+ disaster.country.should == "Uganda"
19
+ disaster.date.should == Date.strptime('2011-8-12', '%Y-%m-%d')
20
+ disaster.glidenumber.should == 'MS-2011-000110-UGA'
21
+ disaster.title.should == 'Horn of Africa Crisis'
22
+ end
23
+
24
+ it 'should parse a glide number from a disaster page' do
25
+ glidenumber = Reliefweb.fetch_glidenumber("http://reliefweb.int/taxonomy/term/8956")
26
+ glidenumber.should == "OT-2011-000110-UGA"
27
+ end
28
+ end
29
+
@@ -0,0 +1,19 @@
1
+ require 'rubygems'
2
+ require 'rspec'
3
+ require 'vcr'
4
+
5
+ VCR.config do |config|
6
+ config.cassette_library_dir = File.dirname(__FILE__) + '/fixtures/vcr_cassettes'
7
+ config.stub_with :webmock # or :fakeweb
8
+ end
9
+
10
+ RSpec.configure do |config|
11
+ config.mock_with :rspec
12
+
13
+ config.filter_run :focused => true
14
+ config.run_all_when_everything_filtered = true
15
+ config.alias_example_to :fit, :focused => true
16
+
17
+ config.extend VCR::RSpec::Macros
18
+ end
19
+
metadata ADDED
@@ -0,0 +1,126 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: reliefweb_scraper
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Nathan Broadbent
9
+ - Stanley Lau
10
+ autorequire:
11
+ bindir: bin
12
+ cert_chain: []
13
+ date: 2011-08-25 00:00:00.000000000Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: mechanize
17
+ requirement: &84035110 !ruby/object:Gem::Requirement
18
+ none: false
19
+ requirements:
20
+ - - ! '>='
21
+ - !ruby/object:Gem::Version
22
+ version: 2.0.1
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: *84035110
26
+ - !ruby/object:Gem::Dependency
27
+ name: hashie
28
+ requirement: &84034830 !ruby/object:Gem::Requirement
29
+ none: false
30
+ requirements:
31
+ - - ! '>='
32
+ - !ruby/object:Gem::Version
33
+ version: 1.1.0
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: *84034830
37
+ - !ruby/object:Gem::Dependency
38
+ name: rspec
39
+ requirement: &84034550 !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - ~>
43
+ - !ruby/object:Gem::Version
44
+ version: 2.5.0
45
+ type: :development
46
+ prerelease: false
47
+ version_requirements: *84034550
48
+ - !ruby/object:Gem::Dependency
49
+ name: vcr
50
+ requirement: &84034300 !ruby/object:Gem::Requirement
51
+ none: false
52
+ requirements:
53
+ - - ~>
54
+ - !ruby/object:Gem::Version
55
+ version: 1.11.1
56
+ type: :development
57
+ prerelease: false
58
+ version_requirements: *84034300
59
+ - !ruby/object:Gem::Dependency
60
+ name: webmock
61
+ requirement: &84034030 !ruby/object:Gem::Requirement
62
+ none: false
63
+ requirements:
64
+ - - ~>
65
+ - !ruby/object:Gem::Version
66
+ version: 1.7.0
67
+ type: :development
68
+ prerelease: false
69
+ version_requirements: *84034030
70
+ - !ruby/object:Gem::Dependency
71
+ name: awesome_print
72
+ requirement: &84033770 !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ~>
76
+ - !ruby/object:Gem::Version
77
+ version: 0.4.0
78
+ type: :development
79
+ prerelease: false
80
+ version_requirements: *84033770
81
+ description: Scrapes reliefweb's featured disasters, and pulls additional information
82
+ from glidenumber.net
83
+ email:
84
+ - it_dept@crossroads.org.hk
85
+ executables: []
86
+ extensions: []
87
+ extra_rdoc_files: []
88
+ files:
89
+ - .gitignore
90
+ - .rspec
91
+ - Gemfile
92
+ - README.md
93
+ - Rakefile
94
+ - lib/glidenumber.rb
95
+ - lib/reliefweb.rb
96
+ - reliefweb_scraper.gemspec
97
+ - spec/fixtures/vcr_cassettes/glidenumber.yml
98
+ - spec/fixtures/vcr_cassettes/reliefweb.yml
99
+ - spec/lib/glidenumber_spec.rb
100
+ - spec/lib/reliefweb_spec.rb
101
+ - spec/spec_helper.rb
102
+ homepage: http://www.crossroads.org.hk
103
+ licenses: []
104
+ post_install_message:
105
+ rdoc_options: []
106
+ require_paths:
107
+ - lib
108
+ required_ruby_version: !ruby/object:Gem::Requirement
109
+ none: false
110
+ requirements:
111
+ - - ! '>='
112
+ - !ruby/object:Gem::Version
113
+ version: '0'
114
+ required_rubygems_version: !ruby/object:Gem::Requirement
115
+ none: false
116
+ requirements:
117
+ - - ! '>='
118
+ - !ruby/object:Gem::Version
119
+ version: '0'
120
+ requirements: []
121
+ rubyforge_project:
122
+ rubygems_version: 1.8.6
123
+ signing_key:
124
+ specification_version: 3
125
+ summary: Scrape Reliefweb featured disasters
126
+ test_files: []