news_fetcher 0.0.1

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 451d9ed9b1f57c6fcd027b919664adb2c53e5ef9
4
+ data.tar.gz: 78ee8a5254dde09a99d174ae56ee8e5bd9384e4e
5
+ SHA512:
6
+ metadata.gz: 6eb128e9d314439acd03ff7997a8c3f5fddef5b51ac9ddcda112f93e233c45ee91959212523e64553015d4f1ac7f0c663f7d1ad1bddf74e6f82794bf8a454bfb
7
+ data.tar.gz: 56f61856f48993b3e6257a8b833b916c3153a9570d8943c204b748d95a9b521d2224bc52126d1138b44c939a05c644f575e4f46f4f792cc93ce37e086ada67d2
data/bin/news_fetcher ADDED
@@ -0,0 +1,17 @@
1
+ #!/usr/bin/env ruby
2
+ require "string"
3
+ require "news_fetcher"
4
+ require "rake"
5
+
6
+ tasks = ["fetch","help","test"]
7
+ if tasks.include?(ARGV[0])
8
+ if ARGV[1] and (ARGV[0] == tasks[0])
9
+ NewsFetcher.fetch ARGV[1], ARGV[2], ARGV[3]
10
+ elsif ARGV[0] == tasks[2]
11
+ exec "rake"
12
+ else
13
+ exec "rake #{ARGV[0]}"
14
+ end
15
+ else
16
+ exec "rake help:usage"
17
+ end
data/bin/nf ADDED
@@ -0,0 +1,17 @@
1
+ #!/usr/bin/env ruby
2
+ require "string"
3
+ require "news_fetcher"
4
+ require "rake"
5
+
6
+ tasks = ["fetch","help","test"]
7
+ if tasks.include?(ARGV[0])
8
+ if ARGV[1] and (ARGV[0] == tasks[0])
9
+ NewsFetcher.fetch ARGV[1], ARGV[2], ARGV[3]
10
+ elsif ARGV[0] == tasks[2]
11
+ exec "rake"
12
+ else
13
+ exec "rake #{ARGV[0]}"
14
+ end
15
+ else
16
+ exec "rake help:usage"
17
+ end
@@ -0,0 +1,19 @@
1
+ require "nokogiri"
2
+ require "open-uri"
3
+ class NewsFetcher
4
+ include Nokogiri
5
+ def self.hi
6
+ puts "Hi, I'm NewsFetcher!"
7
+ end
8
+
9
+ def self.fetch url, structure, color
10
+ color ||= "black"
11
+ doc = Nokogiri::HTML(open(url))
12
+ nodes = doc.css(structure)
13
+ nodes.each do |n|
14
+ puts n.text.send(color)
15
+ puts
16
+ end
17
+ return doc, nodes
18
+ end
19
+ end
data/lib/string.rb ADDED
@@ -0,0 +1,21 @@
1
+ class String
2
+ def colorize(color_code)
3
+ "\e[1m\e[4m\e[#{color_code}m#{self}\e[0m"
4
+ end
5
+
6
+ COLORS = { "black": 30,
7
+ "red": 31,
8
+ "green": 32,
9
+ "orange": 33,
10
+ "blue": 34,
11
+ "purple": 35,
12
+ "cyan": 36
13
+ }
14
+
15
+ COLORS.each do |color_pair|
16
+ method = "#{color_pair[0]}"
17
+ define_method method do
18
+ "\e[1m\e[4m\e[#{color_pair[1]}m#{self}\e[0m"
19
+ end
20
+ end
21
+ end
metadata ADDED
@@ -0,0 +1,103 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: news_fetcher
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Kevin Martin
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-08-22 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: nokogiri
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.6'
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 1.6.8
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: '1.6'
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 1.6.8
33
+ - !ruby/object:Gem::Dependency
34
+ name: rake
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '11.2'
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ version: 11.2.2
43
+ type: :runtime
44
+ prerelease: false
45
+ version_requirements: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - "~>"
48
+ - !ruby/object:Gem::Version
49
+ version: '11.2'
50
+ - - ">="
51
+ - !ruby/object:Gem::Version
52
+ version: 11.2.2
53
+ - !ruby/object:Gem::Dependency
54
+ name: rspec
55
+ requirement: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - "~>"
58
+ - !ruby/object:Gem::Version
59
+ version: '3.5'
60
+ type: :development
61
+ prerelease: false
62
+ version_requirements: !ruby/object:Gem::Requirement
63
+ requirements:
64
+ - - "~>"
65
+ - !ruby/object:Gem::Version
66
+ version: '3.5'
67
+ description: A simple news fetch gem
68
+ email: knmartinm@gmail.com
69
+ executables:
70
+ - news_fetcher
71
+ - nf
72
+ extensions: []
73
+ extra_rdoc_files: []
74
+ files:
75
+ - bin/news_fetcher
76
+ - bin/nf
77
+ - lib/news_fetcher.rb
78
+ - lib/string.rb
79
+ homepage: http://rubygems.org/gems/news_fetcher
80
+ licenses:
81
+ - MIT
82
+ metadata: {}
83
+ post_install_message:
84
+ rdoc_options: []
85
+ require_paths:
86
+ - lib
87
+ required_ruby_version: !ruby/object:Gem::Requirement
88
+ requirements:
89
+ - - ">="
90
+ - !ruby/object:Gem::Version
91
+ version: '0'
92
+ required_rubygems_version: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ requirements: []
98
+ rubyforge_project:
99
+ rubygems_version: 2.4.5.1
100
+ signing_key:
101
+ specification_version: 4
102
+ summary: An attempt to make a gem
103
+ test_files: []