npr_cli_news_reader 0.2.1 → 1.0.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.
- checksums.yaml +4 -4
- data/Gemfile.lock +3 -3
- data/README.md +11 -7
- data/lib/npr_cli_news_reader/cli.rb +47 -9
- data/lib/npr_cli_news_reader/version.rb +1 -1
- data/npr_cli_news_reader.gemspec +1 -1
- data/to_do_notes.md +0 -9
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e84a560e21395d64e3d60fd172abbd040f48d58dbea05eb1a90c200a1610a646
|
4
|
+
data.tar.gz: b610e35446bcc0e1d314ca3ff90b311f257e360132691e82aa30b17fea22ccc9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fb772892317dd365e4d5b8dd02067b45ab11a848b77a6dea48ba06ffb9c942ad6247bf64d268b7638e00b0dc619f8f94510f5d3803d05cbdf89da560b5bdba02
|
7
|
+
data.tar.gz: 6a39af3d47cd75659cd36c72bf1e24b153e0318f0515b1dd2297d44b5e4210f488224fcb1463e2ca165cec7e285ef8c7caea2bc33422b547b4e683f5051ee84f
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
npr_cli_news_reader (0.2.
|
4
|
+
npr_cli_news_reader (0.2.1)
|
5
5
|
nokogiri
|
6
6
|
rainbow
|
7
7
|
|
@@ -17,7 +17,7 @@ GEM
|
|
17
17
|
coderay (~> 1.1.0)
|
18
18
|
method_source (~> 0.9.0)
|
19
19
|
rainbow (3.0.0)
|
20
|
-
rake (
|
20
|
+
rake (13.0.1)
|
21
21
|
|
22
22
|
PLATFORMS
|
23
23
|
ruby
|
@@ -26,7 +26,7 @@ DEPENDENCIES
|
|
26
26
|
bundler (~> 2.0)
|
27
27
|
npr_cli_news_reader!
|
28
28
|
pry
|
29
|
-
rake (~>
|
29
|
+
rake (~> 13.0)
|
30
30
|
|
31
31
|
BUNDLED WITH
|
32
32
|
2.0.1
|
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# NprCliNewsReader
|
2
2
|
|
3
|
-
This Gem allows a user to choose from a list of news categories. The ClI then displays the articles from npr.org that are under the selected category. Then the user can select a specific article. Once an article is selected then the full article will be displayed. Once the user gets to the end of the article they have a choice to exit the program or return to the category
|
3
|
+
This Gem allows a user to choose from a list of news categories. The ClI then displays the articles from npr.org that are under the selected category. Then the user can select a specific article. Once an article is selected then the full article will be displayed. Once the user gets to the end of the article they have a choice to exit the program, return to the category selection, or return back to the article selection from the previous category selected.
|
4
4
|
|
5
5
|
## Installation
|
6
6
|
|
@@ -18,15 +18,19 @@ Or install it yourself as:
|
|
18
18
|
|
19
19
|
$ gem install npr_cli_news_reader
|
20
20
|
|
21
|
+
Or clone the git repository from github
|
22
|
+
|
23
|
+
In your terminal run:
|
24
|
+
|
25
|
+
$ git clone https://github.com/jgarcia4444/npr_cli_news_reader.git
|
26
|
+
|
27
|
+
$ ./bin/setup
|
28
|
+
|
29
|
+
$ ./bin/npr_cli_news_reader
|
30
|
+
|
21
31
|
## Usage
|
22
32
|
|
23
|
-
In Terminal enter once installed:
|
24
33
|
|
25
|
-
irb
|
26
|
-
> require 'npr_cli_news_reader'
|
27
|
-
> NprCliNewsReader::Run.start
|
28
|
-
|
29
|
-
This command will start up the CLI application
|
30
34
|
|
31
35
|
|
32
36
|
## Development
|
@@ -1,17 +1,52 @@
|
|
1
1
|
class NprCliNewsReader::CLI
|
2
2
|
|
3
|
-
attr_accessor :selected_category
|
3
|
+
attr_accessor :selected_category, :done
|
4
4
|
|
5
5
|
def initialize
|
6
|
+
@done = false
|
6
7
|
@categories = ["National", "World", "Politics", "Business", "Health", "Science", "Technology", "Race & Culture"]
|
7
8
|
end
|
8
|
-
|
9
|
-
def call
|
9
|
+
|
10
|
+
def call
|
10
11
|
greet_user
|
11
12
|
present_categories
|
12
13
|
handle_category_input
|
13
14
|
handle_article_selection
|
14
|
-
|
15
|
+
display_app_end_user_options
|
16
|
+
while @done == false
|
17
|
+
user_input = gets.strip
|
18
|
+
if user_input.downcase == 'category'
|
19
|
+
go_back_to_category_selection
|
20
|
+
elsif user_input.downcase == 'article'
|
21
|
+
go_back_to_articles
|
22
|
+
else
|
23
|
+
puts Rainbow('Thank you for using Npr CLI News Reader!').bright.fg(:white)
|
24
|
+
puts Rainbow('Goodbye!').bright.fg(:green)
|
25
|
+
@done = true
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
def go_back_to_articles
|
31
|
+
display_category_articles
|
32
|
+
handle_article_selection
|
33
|
+
display_app_end_user_options
|
34
|
+
end
|
35
|
+
|
36
|
+
|
37
|
+
def go_back_to_category_selection
|
38
|
+
present_categories
|
39
|
+
handle_category_input
|
40
|
+
handle_article_selection
|
41
|
+
display_app_end_user_options
|
42
|
+
end
|
43
|
+
|
44
|
+
def display_app_end_user_options
|
45
|
+
puts Rainbow("What would you like to do?").bright.fg(:white)
|
46
|
+
puts "#{Rainbow('Exit Program:').bright.fg(:white)} #{Rainbow('exit').bright.fg(:green)}"
|
47
|
+
puts "#{Rainbow('Go back to Category Selection:').bright.fg(:white)} #{Rainbow('category').bright.fg(:green)}"
|
48
|
+
puts "#{Rainbow('Go back to article selection:').bright.fg(:white)} #{Rainbow('article').bright.fg(:green)}"
|
49
|
+
end
|
15
50
|
|
16
51
|
def greet_user
|
17
52
|
puts Rainbow("Hello fellow fact finder...").bright
|
@@ -104,11 +139,14 @@ class NprCliNewsReader::CLI
|
|
104
139
|
puts "\t#{paragraph_node.text}"
|
105
140
|
puts "--------------------"
|
106
141
|
end
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
142
|
+
open_default_browser(article)
|
143
|
+
end
|
144
|
+
|
145
|
+
def open_default_browser(article)
|
146
|
+
puts Rainbow("Would you like to view this article on the npr website? (Y/n): ").bright.fg(:white)
|
147
|
+
user_input = gets.strip.downcase
|
148
|
+
if user_input == 'y'
|
149
|
+
system("open", "#{article.article_url}")
|
111
150
|
end
|
112
151
|
end
|
113
|
-
|
114
152
|
end
|
data/npr_cli_news_reader.gemspec
CHANGED
@@ -37,7 +37,7 @@ Gem::Specification.new do |spec|
|
|
37
37
|
spec.require_paths = ["lib"]
|
38
38
|
|
39
39
|
spec.add_development_dependency "bundler", "~> 2.0"
|
40
|
-
spec.add_development_dependency "rake", "~>
|
40
|
+
spec.add_development_dependency "rake", "~> 13.0"
|
41
41
|
spec.add_development_dependency "pry"
|
42
42
|
spec.add_dependency "nokogiri"
|
43
43
|
spec.add_dependency "rainbow"
|
data/to_do_notes.md
CHANGED
@@ -1,14 +1,5 @@
|
|
1
1
|
TO DO NOTES
|
2
2
|
|
3
|
-
- Once the article is read, give the user options
|
4
|
-
- exit the program
|
5
|
-
- go back to article selection
|
6
|
-
- go back to category selection
|
7
|
-
|
8
|
-
- Another feature could be to add a clickable link at the bottom of
|
9
|
-
the article that states if clicked it will take them to the article
|
10
|
-
on the NPR website.
|
11
|
-
|
12
3
|
- Complete documentation for github
|
13
4
|
- description
|
14
5
|
- collaboration guidelines
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: npr_cli_news_reader
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- "'Jake Garcia'"
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-03-
|
11
|
+
date: 2020-03-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '13.0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '13.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: pry
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|