countries_cli 0.1.2 → 0.1.3
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 +4 -4
- data/Country.gemspec +0 -1
- data/Gemfile.lock +1 -7
- data/README.md +64 -20
- data/lib/Country/cli.rb +10 -7
- data/lib/Country/country.rb +2 -4
- data/lib/Country/version.rb +1 -1
- data/lib/Country.rb +0 -1
- metadata +2 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0e4fe91fa1cc1758dd9f5b65556abd1f33d98598
|
4
|
+
data.tar.gz: a3324a90bdd6b57b933aa9e063b21d3f2b91d636
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 65c06e1f51f62f5def5f7a9672ba88557f68baa6b123d18af094803fb3eced80293b0613e121ff866eb90174a35e965462019276560f63c69b11c2a023db91bd
|
7
|
+
data.tar.gz: 426c9b77df96057edf66b65ba3c36188c37d698f42183a5e3a7a32a646741c6534fd3f184b558fa3d039d946420d42ccfffdb33707623d4aa8acea08a186cf74
|
data/Country.gemspec
CHANGED
@@ -39,7 +39,6 @@ Gem::Specification.new do |spec|
|
|
39
39
|
spec.add_development_dependency "bundler", "~> 1.17"
|
40
40
|
spec.add_development_dependency "rake", "~> 10.0"
|
41
41
|
spec.add_development_dependency "rspec", "~> 3.0"
|
42
|
-
spec.add_development_dependency "pry"
|
43
42
|
spec.add_development_dependency "gem-release"
|
44
43
|
|
45
44
|
end
|
data/Gemfile.lock
CHANGED
@@ -1,18 +1,13 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
countries_cli (0.1.
|
4
|
+
countries_cli (0.1.3)
|
5
5
|
|
6
6
|
GEM
|
7
7
|
remote: https://rubygems.org/
|
8
8
|
specs:
|
9
|
-
coderay (1.1.2)
|
10
9
|
diff-lcs (1.3)
|
11
10
|
gem-release (2.0.1)
|
12
|
-
method_source (0.9.2)
|
13
|
-
pry (0.12.2)
|
14
|
-
coderay (~> 1.1.0)
|
15
|
-
method_source (~> 0.9.0)
|
16
11
|
rake (10.5.0)
|
17
12
|
rspec (3.8.0)
|
18
13
|
rspec-core (~> 3.8.0)
|
@@ -35,7 +30,6 @@ DEPENDENCIES
|
|
35
30
|
bundler (~> 1.17)
|
36
31
|
countries_cli!
|
37
32
|
gem-release
|
38
|
-
pry
|
39
33
|
rake (~> 10.0)
|
40
34
|
rspec (~> 3.0)
|
41
35
|
|
data/README.md
CHANGED
@@ -1,43 +1,87 @@
|
|
1
|
-
#
|
1
|
+
# countries_cli
|
2
2
|
|
3
|
-
|
3
|
+
A CLI of countries based on the REST Countries API. It allows you to look for information on countries based on population, region, currency, subregion, name, capital, and language.
|
4
4
|
|
5
|
-
|
5
|
+
## Getting Started
|
6
6
|
|
7
|
-
|
7
|
+
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
|
8
8
|
|
9
|
-
|
9
|
+
### Prerequisites
|
10
10
|
|
11
|
-
|
12
|
-
|
11
|
+
What things you need to install the software and how to install them
|
12
|
+
|
13
|
+
```
|
14
|
+
Give examples
|
13
15
|
```
|
14
16
|
|
15
|
-
|
17
|
+
### Installing
|
16
18
|
|
17
|
-
|
19
|
+
A step by step series of examples that tell you how to get a development env running
|
18
20
|
|
19
|
-
|
21
|
+
Say what the step will be
|
20
22
|
|
21
|
-
|
23
|
+
```
|
24
|
+
Give the example
|
25
|
+
```
|
22
26
|
|
23
|
-
|
27
|
+
And repeat
|
28
|
+
|
29
|
+
```
|
30
|
+
until finished
|
31
|
+
```
|
24
32
|
|
25
|
-
|
33
|
+
End with an example of getting some data out of the system or using it for a little demo
|
26
34
|
|
27
|
-
##
|
35
|
+
## Running the tests
|
36
|
+
|
37
|
+
Explain how to run the automated tests for this system
|
38
|
+
|
39
|
+
### Break down into end to end tests
|
40
|
+
|
41
|
+
Explain what these tests test and why
|
42
|
+
|
43
|
+
```
|
44
|
+
Give an example
|
45
|
+
```
|
28
46
|
|
29
|
-
|
47
|
+
### And coding style tests
|
30
48
|
|
31
|
-
|
49
|
+
Explain what these tests test and why
|
50
|
+
|
51
|
+
```
|
52
|
+
Give an example
|
53
|
+
```
|
54
|
+
|
55
|
+
## Deployment
|
56
|
+
|
57
|
+
Add additional notes about how to deploy this on a live system
|
58
|
+
|
59
|
+
## Built With
|
60
|
+
|
61
|
+
* [Dropwizard](http://www.dropwizard.io/1.0.2/docs/) - The web framework used
|
62
|
+
* [Maven](https://maven.apache.org/) - Dependency Management
|
63
|
+
* [ROME](https://rometools.github.io/rome/) - Used to generate RSS Feeds
|
32
64
|
|
33
65
|
## Contributing
|
34
66
|
|
35
|
-
|
67
|
+
Please read [CONTRIBUTING.md](https://gist.github.com/PurpleBooth/b24679402957c63ec426) for details on our code of conduct, and the process for submitting pull requests to us.
|
68
|
+
|
69
|
+
## Versioning
|
70
|
+
|
71
|
+
We use [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://github.com/your/project/tags).
|
72
|
+
|
73
|
+
## Authors
|
74
|
+
|
75
|
+
* **Billie Thompson** - *Initial work* - [PurpleBooth](https://github.com/PurpleBooth)
|
76
|
+
|
77
|
+
See also the list of [contributors](https://github.com/your/project/contributors) who participated in this project.
|
36
78
|
|
37
79
|
## License
|
38
80
|
|
39
|
-
|
81
|
+
This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details
|
40
82
|
|
41
|
-
##
|
83
|
+
## Acknowledgments
|
42
84
|
|
43
|
-
|
85
|
+
* Hat tip to anyone whose code was used
|
86
|
+
* Inspiration
|
87
|
+
* etc
|
data/lib/Country/cli.rb
CHANGED
@@ -1,5 +1,4 @@
|
|
1
1
|
require_relative 'country'
|
2
|
-
require 'pry'
|
3
2
|
require 'open-uri'
|
4
3
|
require 'json'
|
5
4
|
# CLI Controller
|
@@ -55,14 +54,14 @@ class Country::CLI
|
|
55
54
|
|
56
55
|
def display_options
|
57
56
|
puts "Enter an option (1-12): "
|
58
|
-
puts "1.
|
57
|
+
puts "1. Display all country names"
|
59
58
|
puts "2. Search country by name"
|
60
|
-
puts "3. Search
|
59
|
+
puts "3. Search country by suffix"
|
61
60
|
puts "4. Search countries with given currency name"
|
62
61
|
puts "5. Search countries with given currency symbol"
|
63
62
|
puts "6. Search countries with given language"
|
64
63
|
puts "7. Search countries with certain population"
|
65
|
-
puts "8.
|
64
|
+
puts "8. Display all countries sorted by population(ascending or descending)"
|
66
65
|
puts "9. Search by capital"
|
67
66
|
puts "10. Search by region"
|
68
67
|
puts "11. Search by subregion"
|
@@ -79,6 +78,7 @@ class Country::CLI
|
|
79
78
|
country = Country::COUNTRY.search_by_name(input)
|
80
79
|
if country
|
81
80
|
country.info
|
81
|
+
puts "\n"
|
82
82
|
else
|
83
83
|
puts "Invalid name. Please list all the countries and choose a name from there."
|
84
84
|
end
|
@@ -90,6 +90,7 @@ class Country::CLI
|
|
90
90
|
country = Country::COUNTRY.search_by_suffix(input)
|
91
91
|
if country
|
92
92
|
country.info
|
93
|
+
puts "\n"
|
93
94
|
else
|
94
95
|
puts "Country with given suffix not found."
|
95
96
|
end
|
@@ -141,8 +142,8 @@ class Country::CLI
|
|
141
142
|
puts "Greater(g) than or lower(l) than?"
|
142
143
|
input = gets.chomp
|
143
144
|
|
144
|
-
if input.downcase == "l" || input.downcase == "lower" || input.downcase == "g" || input.downcase == "greater" || input.downcase == "h" || input.
|
145
|
-
puts "Enter population: "
|
145
|
+
if input.downcase == "l" || input.downcase == "lower" || input.downcase == "g" || input.downcase == "greater" || input.downcase == "h" || input.downcase == "higher"
|
146
|
+
puts "Enter population (ex: 10000): "
|
146
147
|
population = gets.chomp.to_i
|
147
148
|
countries = Country::COUNTRY.search_all_with_population(input, population)
|
148
149
|
if countries.count > 0
|
@@ -151,7 +152,7 @@ class Country::CLI
|
|
151
152
|
puts "\n"
|
152
153
|
end
|
153
154
|
else
|
154
|
-
puts "No countries with
|
155
|
+
puts "No countries with the specified population were found."
|
155
156
|
end
|
156
157
|
else
|
157
158
|
puts "Wrong input. Please try again.\n"
|
@@ -166,6 +167,7 @@ class Country::CLI
|
|
166
167
|
countries_sorted = Country::COUNTRY.all.sort{|country1, country2| country2.population <=> country1.population}
|
167
168
|
countries_sorted.each do |country|
|
168
169
|
country.info
|
170
|
+
puts "\n"
|
169
171
|
end
|
170
172
|
elsif input == "a"
|
171
173
|
countries_sorted = Country::COUNTRY.all.sort{|country1, country2| country1.population <=> country2.population}
|
@@ -185,6 +187,7 @@ class Country::CLI
|
|
185
187
|
country = Country::COUNTRY.search_by_capital(input)
|
186
188
|
if country
|
187
189
|
country.info
|
190
|
+
puts "\n"
|
188
191
|
else
|
189
192
|
puts "Invalid capital. Please enter a valid capital."
|
190
193
|
end
|
data/lib/Country/country.rb
CHANGED
@@ -6,7 +6,6 @@ class Country::COUNTRY
|
|
6
6
|
|
7
7
|
def initialize(attr_hash)
|
8
8
|
attr_hash.each do |attribute, value|
|
9
|
-
# binding.pry
|
10
9
|
if self.respond_to?(attribute)
|
11
10
|
self.send(("#{attribute}="), value)
|
12
11
|
end
|
@@ -28,14 +27,13 @@ class Country::COUNTRY
|
|
28
27
|
end
|
29
28
|
|
30
29
|
def self.all_country_names
|
31
|
-
# binding.pry
|
32
30
|
self.all.each_with_index do |country, i|
|
33
31
|
puts "#{i+1}. #{country.name}"
|
34
32
|
end
|
35
33
|
end
|
36
34
|
|
37
35
|
def self.search_by_name(name)
|
38
|
-
self.all.detect{|country| country.name == name}
|
36
|
+
self.all.detect{|country| country.name.downcase == name.downcase}
|
39
37
|
end
|
40
38
|
|
41
39
|
def info
|
@@ -50,7 +48,7 @@ class Country::COUNTRY
|
|
50
48
|
end
|
51
49
|
|
52
50
|
def self.search_by_suffix(suffix)
|
53
|
-
self.all.detect{|country| country.name.match(/^(#{suffix})/)}
|
51
|
+
self.all.detect{|country| country.name.downcase.match(/^(#{suffix.downcase})/)}
|
54
52
|
end
|
55
53
|
|
56
54
|
def self.search_all_with_currency_symbol(currency_symbol)
|
data/lib/Country/version.rb
CHANGED
data/lib/Country.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: countries_cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kenneth Young Castro
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-01-
|
11
|
+
date: 2019-01-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -52,20 +52,6 @@ dependencies:
|
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '3.0'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: pry
|
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
55
|
- !ruby/object:Gem::Dependency
|
70
56
|
name: gem-release
|
71
57
|
requirement: !ruby/object:Gem::Requirement
|