trick_or_treat 0.1.2 → 0.2.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/.gitignore +1 -0
- data/Gemfile.lock +1 -1
- data/exe/trick +1 -1
- data/exe/trick_or_treat +1 -7
- data/lib/trick_or_treat/version.rb +1 -1
- data/lib/trick_or_treat.rb +15 -6
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a288ace5217445a124d872f46861add207fda8c47747646d39bab80796a6d70d
|
4
|
+
data.tar.gz: ef8fcceb06a3b6a10cce959147f6c99f8683f582d2c9546003aa3e20a96c395a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c7603403356de519f2c0f361fa60d71cc3f9aeae82c7f86733af4f698764121d2b8ec328c89050b73f0dfd5400a37c19717c53b4ef3e1ffcfe1544a81dbd9997
|
7
|
+
data.tar.gz: 28bc158c65abf6e266350b434380de940020b79bba1b7e9b7120b62151603a206a256ca3082bc58222d18745c95b7c0bda4616afa47151e342826edf5c7ca250
|
data/.gitignore
CHANGED
data/Gemfile.lock
CHANGED
data/exe/trick
CHANGED
data/exe/trick_or_treat
CHANGED
data/lib/trick_or_treat.rb
CHANGED
@@ -9,12 +9,13 @@ module TrickOrTreat
|
|
9
9
|
|
10
10
|
extend self
|
11
11
|
|
12
|
-
def ask(args)
|
12
|
+
def ask(args=[])
|
13
13
|
@uri='https://sergioro.mx'
|
14
14
|
printf "\e[1;38;05;202mTrick or Treat? "
|
15
|
+
no_candy if Gem.win_platform?
|
15
16
|
return trick if args.delete('trick')
|
16
17
|
return treat if args.delete('treat')
|
17
|
-
|
18
|
+
no_candy
|
18
19
|
end
|
19
20
|
|
20
21
|
# ensure returned object to be a Tempfile
|
@@ -33,17 +34,21 @@ module TrickOrTreat
|
|
33
34
|
def get_links
|
34
35
|
@types=['bash', 'vim', 'ruby']
|
35
36
|
nodes=Nokogiri::HTML(open(@uri)).css('a')
|
36
|
-
nodes.collect{|n| n['href'] if
|
37
|
+
nodes.collect{|n| n['href'] if n.child.to_s.match /#{@types.join('|')}/i}.compact
|
37
38
|
end
|
38
39
|
|
39
40
|
def trick
|
40
|
-
|
41
|
+
puts "\e[1;38;05;165mTrick\e[0m"
|
41
42
|
links=get_links
|
42
43
|
link=links.sample
|
43
44
|
f=open([@uri,link].join('/'))
|
44
|
-
|
45
|
+
html=Nokogiri::HTML(f)
|
46
|
+
puts title=html.title.gsub(/.*?: (.*) \|.*/, '\1')
|
47
|
+
content=html.css('.post-content')
|
45
48
|
content.children[0..1].remove
|
46
|
-
|
49
|
+
IO.popen("less", "w") do |f|
|
50
|
+
f.puts "\e[1m#{title}\e[0m\n#{content.text}"
|
51
|
+
end
|
47
52
|
end
|
48
53
|
|
49
54
|
def treat
|
@@ -57,4 +62,8 @@ module TrickOrTreat
|
|
57
62
|
response=e.io
|
58
63
|
response.string
|
59
64
|
end
|
65
|
+
|
66
|
+
def no_candy
|
67
|
+
return "\e[1;38;05;165mNo candy for you\e[0m"
|
68
|
+
end
|
60
69
|
end
|