the_country_identity 0.0.1 → 0.0.2
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.
- checksums.yaml +7 -0
- data/.coveralls.yml +1 -0
- data/.gitignore +2 -0
- data/.travis.yml +15 -0
- data/Guardfile +12 -0
- data/LICENSE +1 -1
- data/README.md +19 -17
- data/Rakefile +10 -1
- data/lib/the_country_identity/rdf.rb +53 -0
- data/lib/the_country_identity/version.rb +1 -1
- data/lib/the_country_identity.rb +4 -139
- data/spec/spec_helper.rb +5 -0
- data/spec/the_country_identity_spec.rb +93 -0
- data/the_country_identity.gemspec +27 -13
- metadata +163 -18
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 25b14dd44c9f27fd39380bbd1ff57d02c8fb954f
|
4
|
+
data.tar.gz: 920d6d6cc0e64af82af27d32b9c2f52efecd95ea
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 47fdf7eab5691a88c5c968b9982855355aa8f3d4e21e4973c05ec98c502285ea4895a75a02cb703a1b29acf5f4bb21707336122b1ef9d9e027331c6110a88931
|
7
|
+
data.tar.gz: efd61648a9aa32718d75cedd1b120a6a0832a12efd117006801a3b9f0911fa4fddfaa0c9fe78253cbe8b797773892ff0073461bb4cd815481d75432ab521c749
|
data/.coveralls.yml
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
service_name: travis-ci
|
data/.gitignore
CHANGED
data/.travis.yml
ADDED
data/Guardfile
ADDED
data/LICENSE
CHANGED
@@ -19,4 +19,4 @@ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
19
19
|
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
20
|
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
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.
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
# TheCountryIdentity
|
2
2
|
|
3
|
-
|
3
|
+
[](https://travis-ci.org/p1nox/the_country_identity) [](http://badge.fury.io/rb/the_country_identity) [](https://coveralls.io/r/p1nox/the_country_identity)
|
4
4
|
|
5
|
-
|
5
|
+
Introducing __the_country_identity__, a [CIA World Factbook](https://www.cia.gov/library/publications/the-world-factbook/) crawler gem, honoring _[The Bourne Series](http://en.wikipedia.org/wiki/Bourne_Series)_.
|
6
6
|
|
7
|
-
|
7
|
+
The source of information is a [RDF Turtle endpoint](http://wifo5-04.informatik.uni-mannheim.de/factbook/all) served by the [D2R Server for the CIA Factbook](http://wifo5-03.informatik.uni-mannheim.de/factbook/) hosted by the [Research Group Data and Web Science](http://dws.informatik.uni-mannheim.de/en/home/) at the University of Mannheim, Germany.
|
8
8
|
|
9
9
|
## Installation
|
10
10
|
|
@@ -22,30 +22,32 @@ Or install it yourself as:
|
|
22
22
|
|
23
23
|
## Usage
|
24
24
|
|
25
|
-
> country = TheCountryIdentity::
|
26
|
-
=> #<TheCountryIdentity::
|
25
|
+
> country = TheCountryIdentity::RDF.new('venezuela')
|
26
|
+
=> #<TheCountryIdentity::RDF:0x007faaabaa1c40
|
27
|
+
@country_name="venezuela",
|
28
|
+
@data={},
|
29
|
+
@repo=#<RDF::Repository:0x3fd555d50c54()>,
|
30
|
+
@url="http://wifo5-03.informatik.uni-mannheim.de/factbook/data/venezuela">
|
27
31
|
|
28
|
-
> country.
|
29
|
-
=>
|
32
|
+
> country.get_property('lifeexpectancyatbirth_totalpopulation')
|
33
|
+
=> "73.28E0"
|
30
34
|
|
31
|
-
|
32
|
-
=> 74.08
|
35
|
+
You can find all the country property keys [here](http://wifo5-04.informatik.uni-mannheim.de/factbook/page/venezuela).
|
33
36
|
|
34
37
|
## Roadmap
|
35
38
|
|
36
|
-
*
|
37
|
-
* Optimize data scrapping testing other gem like nokogiri.
|
39
|
+
* Implement HTML request approach.
|
38
40
|
|
39
41
|
## Contributing
|
40
42
|
|
41
|
-
1. Fork it
|
42
|
-
2. Create your feature branch (`git checkout -b my-new-feature`)
|
43
|
-
3. Commit your changes (`git commit -am 'Added some feature'`)
|
44
|
-
4. Push to the branch (`git push origin my-new-feature`)
|
45
|
-
5. Create new Pull Request
|
43
|
+
1. Fork it.
|
44
|
+
2. Create your feature branch (`git checkout -b my-new-feature`).
|
45
|
+
3. Commit your changes (`git commit -am 'Added some feature'`).
|
46
|
+
4. Push to the branch (`git push origin my-new-feature`).
|
47
|
+
5. Create new Pull Request.
|
46
48
|
|
47
49
|
## License
|
48
50
|
|
49
51
|
© 2012 by [Raul Pino](https://github.com/p1nox) for [Alphadeville](https://github.com/alphadeville), published under MIT license.
|
50
52
|
|
51
|
-
|
53
|
+
_Some portions of this software corresponds to [© 2012 Alex Oberhauser MIT license](https://github.com/obale/semantic_crawler/blob/develop/MIT-LICENSE) in a previous version._
|
data/Rakefile
CHANGED
@@ -1,2 +1,11 @@
|
|
1
1
|
#!/usr/bin/env rake
|
2
|
-
require
|
2
|
+
require 'rspec/core/rake_task'
|
3
|
+
require 'bundler/gem_tasks'
|
4
|
+
|
5
|
+
# Default directory to look in is `/specs`
|
6
|
+
# Run with `rake spec`
|
7
|
+
RSpec::Core::RakeTask.new(:spec) do |task|
|
8
|
+
task.rspec_opts = ['--color', '--format', 'documentation']
|
9
|
+
end
|
10
|
+
|
11
|
+
task :default => :spec
|
@@ -0,0 +1,53 @@
|
|
1
|
+
|
2
|
+
module TheCountryIdentity
|
3
|
+
|
4
|
+
class RDF
|
5
|
+
|
6
|
+
@@URI_PREFIX = 'http://wifo5-03.informatik.uni-mannheim.de/factbook/data/'
|
7
|
+
@@STATEMENT_PREFIX = 'http://wifo5-04.informatik.uni-mannheim.de/factbook/ns#'
|
8
|
+
|
9
|
+
attr_reader :country_name
|
10
|
+
attr_reader :url
|
11
|
+
attr_reader :repo
|
12
|
+
attr_accessor :data
|
13
|
+
|
14
|
+
def initialize(new_country_name)
|
15
|
+
fetch_country new_country_name
|
16
|
+
end
|
17
|
+
|
18
|
+
def get_property(property_name)
|
19
|
+
return @data[property_name] if @data[property_name]
|
20
|
+
|
21
|
+
unless @repo.nil?
|
22
|
+
options = { :predicate => ::RDF::URI("#{@@STATEMENT_PREFIX}#{property_name}") }
|
23
|
+
@repo.query(options) do |stmnt|
|
24
|
+
@data[property_name] = stmnt.object.value
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
@data[property_name]
|
29
|
+
end
|
30
|
+
|
31
|
+
def fetch_country(country_name)
|
32
|
+
@data = {}
|
33
|
+
unless country_name.nil?
|
34
|
+
@country_name = country_name.downcase.gsub(' ', '_').gsub('usa', 'united_states')
|
35
|
+
@url = @@URI_PREFIX + @country_name
|
36
|
+
|
37
|
+
begin
|
38
|
+
fetch_rdf
|
39
|
+
rescue => e
|
40
|
+
puts "Not able to get country information, through exception: #{e}"
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
private
|
46
|
+
|
47
|
+
def fetch_rdf
|
48
|
+
@repo = ::RDF::Repository.load(@url)
|
49
|
+
end
|
50
|
+
|
51
|
+
end
|
52
|
+
|
53
|
+
end
|
data/lib/the_country_identity.rb
CHANGED
@@ -1,141 +1,6 @@
|
|
1
|
-
require
|
1
|
+
require 'linkeddata'
|
2
2
|
|
3
|
-
|
3
|
+
require 'the_country_identity/version'
|
4
|
+
require 'the_country_identity/rdf'
|
4
5
|
|
5
|
-
|
6
|
-
|
7
|
-
# Endpoint of University of Mannheim
|
8
|
-
@@URI_PREFIX = "http://www4.wiwiss.fu-berlin.de/factbook/data/"
|
9
|
-
# TODO - find other endpoints
|
10
|
-
|
11
|
-
# Predefined RDFS/OWL namespaces used for RDF file parsing
|
12
|
-
@@NAMESPACES = {
|
13
|
-
"factbook" => "http://www4.wiwiss.fu-berlin.de/factbook/ns#",
|
14
|
-
"rdfs" => "http://www.w3.org/2000/01/rdf-schema#",
|
15
|
-
"rdf" => "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
16
|
-
}
|
17
|
-
|
18
|
-
# Country name given as input during the object creation.
|
19
|
-
attr_reader :country_name
|
20
|
-
|
21
|
-
# The complete URL of the country. Could be also wrong,
|
22
|
-
# if the country_name is not valid.
|
23
|
-
attr_reader :url
|
24
|
-
|
25
|
-
# Get Country Information from the CIA Factbook. see
|
26
|
-
# http://www4.wiwiss.fu-berlin.de/factbook/
|
27
|
-
#
|
28
|
-
# Example:
|
29
|
-
# >> austria = SemanticCrawler::Factbook::Country.new("austria")
|
30
|
-
# >> puts austria.background
|
31
|
-
#
|
32
|
-
# Arguments:
|
33
|
-
# new_country_name: (String)
|
34
|
-
def initialize(new_country_name)
|
35
|
-
if !new_country_name.nil?
|
36
|
-
@country_name = new_country_name
|
37
|
-
@url = @@URI_PREFIX + @country_name.downcase.gsub(" ", "_").gsub("usa", "united_states")
|
38
|
-
begin
|
39
|
-
fetch_rdf
|
40
|
-
rescue => e
|
41
|
-
$log.error("Not able to get country information, through exception: #{e}")
|
42
|
-
end
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
|
-
# Returns the country name (rdfs:label)
|
47
|
-
# XXX: If nothing was found this method returns
|
48
|
-
# <?xml version="1.0"?>
|
49
|
-
def name
|
50
|
-
get_rdfs_property("label", "/rdf:RDF/rdf:Description/factbook:landboundary/factbook:Country")
|
51
|
-
end
|
52
|
-
|
53
|
-
# Returns background information about the country
|
54
|
-
def background
|
55
|
-
get_property("background")
|
56
|
-
end
|
57
|
-
|
58
|
-
# Returns background information about the country
|
59
|
-
def population_total
|
60
|
-
get_property("population_total")
|
61
|
-
end
|
62
|
-
|
63
|
-
# Returns geographiccoordinates latitude
|
64
|
-
def latitude
|
65
|
-
get_property("geographiccoordinates_latitude")
|
66
|
-
end
|
67
|
-
|
68
|
-
# Returns geographiccoordinates longitude
|
69
|
-
def longitude
|
70
|
-
get_property("geographiccoordinates_longitude")
|
71
|
-
end
|
72
|
-
|
73
|
-
# Returns landboundary
|
74
|
-
def landboundary
|
75
|
-
if !@doc.nil?
|
76
|
-
@doc.xpath("//factbook:landboundary/rdf:Description/@rdf:about", @@NAMESPACES)
|
77
|
-
else
|
78
|
-
nil
|
79
|
-
end
|
80
|
-
end
|
81
|
-
|
82
|
-
# Returns terrain description (human readable)
|
83
|
-
def terrain
|
84
|
-
get_property("terrain")
|
85
|
-
end
|
86
|
-
|
87
|
-
# Returns the total number of airports in the country
|
88
|
-
def airports_total
|
89
|
-
get_property("airports_total")
|
90
|
-
end
|
91
|
-
|
92
|
-
# Returns the number of helicopter airports
|
93
|
-
def heliports
|
94
|
-
get_property("heliports")
|
95
|
-
end
|
96
|
-
|
97
|
-
# Returns climate description (human readable)
|
98
|
-
def climate
|
99
|
-
get_property("climate")
|
100
|
-
end
|
101
|
-
|
102
|
-
# Returns location description (human readable)
|
103
|
-
def location
|
104
|
-
get_property("location")
|
105
|
-
end
|
106
|
-
|
107
|
-
|
108
|
-
# Abstract method that allows to fetch factbook properties via
|
109
|
-
# xpath
|
110
|
-
def get_property(property_name, prefix = "/" )
|
111
|
-
if !@doc.nil?
|
112
|
-
@doc.xpath(prefix + "/factbook:" + property_name + "/text()", @@NAMESPACES)
|
113
|
-
else
|
114
|
-
nil
|
115
|
-
end
|
116
|
-
end
|
117
|
-
|
118
|
-
# @return [String] The document serialized as XML
|
119
|
-
def xml_document
|
120
|
-
@doc.to_s
|
121
|
-
end
|
122
|
-
|
123
|
-
# Abstract method that allows to fetch rdfs properties via
|
124
|
-
# xpath
|
125
|
-
def get_rdfs_property(property_name, prefix = "/")
|
126
|
-
if !@doc.nil?
|
127
|
-
@doc.xpath(prefix + "/rdfs:" + property_name + "/text()", @@NAMESPACES)
|
128
|
-
else
|
129
|
-
nil
|
130
|
-
end
|
131
|
-
end
|
132
|
-
|
133
|
-
private
|
134
|
-
# Retrieves the RDF stream
|
135
|
-
def fetch_rdf
|
136
|
-
@doc = Nokogiri::XML(open(@url))
|
137
|
-
end
|
138
|
-
|
139
|
-
end
|
140
|
-
|
141
|
-
end
|
6
|
+
module TheCountryIdentity; end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,93 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe TheCountryIdentity do
|
4
|
+
|
5
|
+
describe 'No data fetched for unknown country' do
|
6
|
+
|
7
|
+
before do
|
8
|
+
@country = subject::RDF.new('operation_treadstone')
|
9
|
+
end
|
10
|
+
|
11
|
+
it 'creates a new RDF instance' do
|
12
|
+
expect(@country).to be_instance_of(subject::RDF)
|
13
|
+
end
|
14
|
+
|
15
|
+
it 'sets correct country_name' do
|
16
|
+
expect(@country.country_name).to be_instance_of(String)
|
17
|
+
expect(@country.country_name).to eq 'operation_treadstone'
|
18
|
+
end
|
19
|
+
|
20
|
+
it 'sets correct url' do
|
21
|
+
expect(@country.url).to be_instance_of(String)
|
22
|
+
expect(@country.url).to eq 'http://wifo5-03.informatik.uni-mannheim.de/factbook/data/operation_treadstone'
|
23
|
+
end
|
24
|
+
|
25
|
+
it 'sets correct repo (RDF::Repository)' do
|
26
|
+
expect(@country.repo).to be_nil
|
27
|
+
end
|
28
|
+
|
29
|
+
it 'sets initial value for cached data' do
|
30
|
+
expect(@country.data).to be_instance_of(Hash)
|
31
|
+
expect(@country.data.empty?).to be_truthy
|
32
|
+
end
|
33
|
+
|
34
|
+
it 'returns nil value for a given property' do
|
35
|
+
life_expectancy = @country.get_property('lifeexpectancyatbirth_totalpopulation')
|
36
|
+
expect(life_expectancy).to be_nil
|
37
|
+
end
|
38
|
+
|
39
|
+
end
|
40
|
+
|
41
|
+
describe 'Data fetched from remote RDF server for a known country' do
|
42
|
+
|
43
|
+
before do
|
44
|
+
@country = subject::RDF.new('venezuela')
|
45
|
+
end
|
46
|
+
|
47
|
+
it 'creates a new RDF instance' do
|
48
|
+
expect(@country).to be_instance_of(subject::RDF)
|
49
|
+
end
|
50
|
+
|
51
|
+
it 'sets correct country_name' do
|
52
|
+
expect(@country.country_name).to be_instance_of(String)
|
53
|
+
expect(@country.country_name).to eq 'venezuela'
|
54
|
+
end
|
55
|
+
|
56
|
+
it 'sets correct url' do
|
57
|
+
expect(@country.url).to be_instance_of(String)
|
58
|
+
expect(@country.url).to eq 'http://wifo5-03.informatik.uni-mannheim.de/factbook/data/venezuela'
|
59
|
+
end
|
60
|
+
|
61
|
+
it 'sets correct repo (RDF::Repository)' do
|
62
|
+
expect(@country.repo).to be_instance_of(::RDF::Repository)
|
63
|
+
expect(@country.repo.readable?).to be_truthy
|
64
|
+
expect(@country.repo.writable?).to be_truthy
|
65
|
+
expect(@country.repo.persistent?).to be_falsey
|
66
|
+
expect(@country.repo.transient?).to be_truthy
|
67
|
+
expect(@country.repo.empty?).to be_falsey
|
68
|
+
expect(@country.repo.count).to be 197
|
69
|
+
end
|
70
|
+
|
71
|
+
it 'sets initial value for cached data' do
|
72
|
+
expect(@country.data).to be_instance_of(Hash)
|
73
|
+
expect(@country.data.empty?).to be_truthy
|
74
|
+
end
|
75
|
+
|
76
|
+
it 'returns a custom value for a given property' do
|
77
|
+
property = 'lifeexpectancyatbirth_totalpopulation'
|
78
|
+
life_expectancy = @country.get_property(property)
|
79
|
+
expect(life_expectancy).to be_instance_of(String)
|
80
|
+
expect(life_expectancy).to eq '73.28E0'
|
81
|
+
expect(@country.data[property]).to eq '73.28E0'
|
82
|
+
end
|
83
|
+
|
84
|
+
it 'returns nil value for a given unknown property' do
|
85
|
+
property = 'operation_blackbriar'
|
86
|
+
life_expectancy = @country.get_property(property)
|
87
|
+
expect(life_expectancy).to be_nil
|
88
|
+
expect(@country.data[property]).to be_nil
|
89
|
+
end
|
90
|
+
|
91
|
+
end
|
92
|
+
|
93
|
+
end
|
@@ -1,21 +1,35 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
-
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'the_country_identity/version'
|
3
5
|
|
4
6
|
Gem::Specification.new do |gem|
|
5
|
-
|
6
|
-
gem.name =
|
7
|
+
|
8
|
+
gem.name = 'the_country_identity'
|
7
9
|
gem.version = TheCountryIdentity::VERSION
|
8
|
-
gem.authors = [
|
9
|
-
gem.email = [
|
10
|
-
gem.description = %q{
|
11
|
-
gem.summary = %q{CIA World Factbook
|
12
|
-
gem.homepage =
|
10
|
+
gem.authors = ['Raul Pino']
|
11
|
+
gem.email = ['ipinoraul@gmail.com']
|
12
|
+
gem.description = %q{CIA World Factbook crawler}
|
13
|
+
gem.summary = %q{Fetch data from CIA World Factbook}
|
14
|
+
gem.homepage = 'https://github.com/p1nox/the_country_identity'
|
15
|
+
gem.license = 'MIT'
|
13
16
|
|
14
17
|
gem.files = `git ls-files`.split($\)
|
15
|
-
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
16
|
-
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
17
|
-
gem.require_paths = [
|
18
|
+
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
19
|
+
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
20
|
+
gem.require_paths = ['lib']
|
21
|
+
|
22
|
+
gem.add_dependency 'linkeddata'
|
23
|
+
|
24
|
+
gem.add_development_dependency 'bundler'
|
25
|
+
gem.add_development_dependency 'rake'
|
26
|
+
gem.add_development_dependency 'rspec'
|
27
|
+
gem.add_development_dependency 'rspec-nc'
|
28
|
+
gem.add_development_dependency 'guard'
|
29
|
+
gem.add_development_dependency 'guard-rspec'
|
30
|
+
gem.add_development_dependency 'pry'
|
31
|
+
gem.add_development_dependency 'pry-remote'
|
32
|
+
gem.add_development_dependency 'pry-nav'
|
33
|
+
gem.add_development_dependency 'coveralls'
|
18
34
|
|
19
|
-
gem.add_dependency "nokogiri" # XML Parsing
|
20
|
-
|
21
35
|
end
|
metadata
CHANGED
@@ -1,69 +1,214 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: the_country_identity
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.0.2
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Raul Pino
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2014-07-19 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
|
-
name:
|
14
|
+
name: linkeddata
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - '>='
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: '0'
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- -
|
24
|
+
- - '>='
|
28
25
|
- !ruby/object:Gem::Version
|
29
26
|
version: '0'
|
30
|
-
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: bundler
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - '>='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rake
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rspec
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - '>='
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rspec-nc
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - '>='
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - '>='
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: guard
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - '>='
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - '>='
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: guard-rspec
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - '>='
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - '>='
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: pry
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - '>='
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - '>='
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: pry-remote
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - '>='
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - '>='
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: pry-nav
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - '>='
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '0'
|
146
|
+
type: :development
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - '>='
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0'
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: coveralls
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - '>='
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: '0'
|
160
|
+
type: :development
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - '>='
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '0'
|
167
|
+
description: CIA World Factbook crawler
|
31
168
|
email:
|
32
169
|
- ipinoraul@gmail.com
|
33
170
|
executables: []
|
34
171
|
extensions: []
|
35
172
|
extra_rdoc_files: []
|
36
173
|
files:
|
174
|
+
- .coveralls.yml
|
37
175
|
- .gitignore
|
176
|
+
- .travis.yml
|
38
177
|
- Gemfile
|
178
|
+
- Guardfile
|
39
179
|
- LICENSE
|
40
180
|
- README.md
|
41
181
|
- Rakefile
|
42
182
|
- lib/the_country_identity.rb
|
183
|
+
- lib/the_country_identity/rdf.rb
|
43
184
|
- lib/the_country_identity/version.rb
|
185
|
+
- spec/spec_helper.rb
|
186
|
+
- spec/the_country_identity_spec.rb
|
44
187
|
- the_country_identity.gemspec
|
45
188
|
homepage: https://github.com/p1nox/the_country_identity
|
46
|
-
licenses:
|
189
|
+
licenses:
|
190
|
+
- MIT
|
191
|
+
metadata: {}
|
47
192
|
post_install_message:
|
48
193
|
rdoc_options: []
|
49
194
|
require_paths:
|
50
195
|
- lib
|
51
196
|
required_ruby_version: !ruby/object:Gem::Requirement
|
52
|
-
none: false
|
53
197
|
requirements:
|
54
|
-
- -
|
198
|
+
- - '>='
|
55
199
|
- !ruby/object:Gem::Version
|
56
200
|
version: '0'
|
57
201
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
58
|
-
none: false
|
59
202
|
requirements:
|
60
|
-
- -
|
203
|
+
- - '>='
|
61
204
|
- !ruby/object:Gem::Version
|
62
205
|
version: '0'
|
63
206
|
requirements: []
|
64
207
|
rubyforge_project:
|
65
|
-
rubygems_version:
|
208
|
+
rubygems_version: 2.0.3
|
66
209
|
signing_key:
|
67
|
-
specification_version:
|
68
|
-
summary: CIA World Factbook
|
69
|
-
test_files:
|
210
|
+
specification_version: 4
|
211
|
+
summary: Fetch data from CIA World Factbook
|
212
|
+
test_files:
|
213
|
+
- spec/spec_helper.rb
|
214
|
+
- spec/the_country_identity_spec.rb
|