world_traveler 0.1.0 โ†’ 0.1.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 47a84c848b1537cccbd5f6a42e3364aaf8f7981ea6412ba84ca9ef84da3b5bfc
4
- data.tar.gz: bcc71653dbc5bf5a0f14af9a34e6b4e9f4bb43e942a08f7b7c269280d6a7695e
3
+ metadata.gz: 9504a55eaa54d0dc12483d42d654458d6ee4f5f906d55cfda94290900f571422
4
+ data.tar.gz: 8e8d733abc7f58834e2dd7d48a47756a485e84ed059bae00272c269fb61291f2
5
5
  SHA512:
6
- metadata.gz: 15745294f234abbd59298de35a79dd4e35287dc9e1e1c3fec46664b9a2d54f7d55f0b9f5d444ce51b4ae36599a141d079500f63dd93c8dbd08767b070a9d48e0
7
- data.tar.gz: 56549a090755a5d93f1cc7fa837b6803ff659c1f545a6111ce3a36ce068e7033d74f34acd133369edccd7c986fe17965444d1266ef3f984a2f80cdfbbf9c5b11
6
+ metadata.gz: 3d7650b43006b3397df9467c4810bd190c3debbfd4ec9775374092b6a3dc272b8d7a18d2233aafa8daa07fdf3fed3920a496997ad87a875677e93162971a8b4d
7
+ data.tar.gz: a83088b83f59d4f010ce6706deddf5a376e7c40f7ac4d3890bebe921320100c20801f148a0aec1f05bc9c31b7dd5c2c3b0336ed62ba6c811df505283400f4602
data/Gemfile CHANGED
@@ -6,3 +6,4 @@ gemspec
6
6
  gem "rake", "~> 12.0"
7
7
  gem "rspec", "~> 3.0"
8
8
  gem 'colorize', '~> 0.8.1'
9
+
@@ -3,7 +3,7 @@ class WorldTraveler::CLI
3
3
  def call
4
4
  system("clear")
5
5
  WorldTraveler::Display.welcome_message
6
- sleep(4)
6
+ sleep(2)
7
7
 
8
8
  @input = ""
9
9
 
@@ -21,15 +21,15 @@ class WorldTraveler::CLI
21
21
  end
22
22
 
23
23
  def list_continents
24
- system("clear")
24
+ # system("clear")
25
25
  WorldTraveler::Display.continent_list
26
26
 
27
27
  @continent.each.with_index(1) do |continent, index|
28
- puts "#{index}. #{continent.name}".center(135).rjust(10)
29
- puts "-----------------------------------------".green.center(150)
28
+ puts "#{index}. #{continent.name}".center(150).rjust(10)
29
+ puts "-----------------------------------------".green.center(165)
30
30
  end
31
31
  puts ""
32
- puts "Where would you like to go? (Choose 1-#{@continent.size})".center(135).green.bold
32
+ puts "Where would you like to go? (Choose 1-#{@continent.size})".center(152).green.bold
33
33
  end
34
34
 
35
35
  def get_user_choice
@@ -42,7 +42,7 @@ class WorldTraveler::CLI
42
42
  if chosen_continent.between?(1,@continent.size)
43
43
  cont = @continent[chosen_continent - 1]
44
44
  cont.get_highlights
45
- puts "Here are highlights for #{cont.name}".light_blue.bold
45
+ puts "Here are highlights in #{cont.name}".light_blue.bold
46
46
  cont.highlights.each.with_index(1) do |high, idx|
47
47
  puts "#{idx}. #{high.name}"
48
48
  end
@@ -54,26 +54,28 @@ class WorldTraveler::CLI
54
54
 
55
55
  def get_user_highlight(cont)
56
56
  puts "\nChoose a highlight in #{cont.name} to see more details.".light_blue.bold
57
- input = (gets.strip.to_i)-1
58
- if input.between?(0,cont.highlights.size-1)
59
- highlight = cont.highlights[input]
60
- highlight.index = input.to_i - 1
57
+ input = (gets.strip.to_i)
58
+ if input.between?(1,cont.highlights.size)
59
+ highlight = cont.highlights[input-1]
60
+ # highlight.index = input.to_i-1
61
61
  highlight.get_highlight_details
62
62
  show_highlight_details(highlight)
63
63
  else
64
64
  puts "Not sure what you mean. You must enter a number between 1 - #{cont.highlights.size}."
65
+ get_user_highlight(cont)
65
66
  end
66
67
  end
67
68
 
68
69
  def show_highlight_details(highlight)
69
- puts "---------------------------------#{highlight.name}---------------------------------".center(155).yellow.bold
70
- highlight.info.each {|i| puts "#{i}\n"}
71
- puts "-----------------------------------------------------------------------------------".center(155).yellow.bold
70
+ puts "#{highlight.name}".center(170,"-").bold
71
+ highlight.info.each {|i| puts "\n#{i}\n"}
72
+ puts "-".center(170, "-").bold
72
73
  end
73
74
 
74
75
  def next_action
75
76
  puts "\nType 'exit' to exit or any key to return to main menu.".green.bold
76
77
  @input = gets.strip
78
+ system("clear")
77
79
  end
78
80
 
79
81
  def goodbye
@@ -17,7 +17,6 @@ class WorldTraveler::Continents
17
17
 
18
18
  def get_highlights
19
19
  WorldTraveler::Scraper.scrape_highlights(self) if @highlights.empty?
20
- # binding.pry
21
20
  end
22
21
 
23
22
  end
@@ -1,56 +1,41 @@
1
1
  class WorldTraveler::Display
2
2
 
3
- # def self.loading
4
- # puts " Loading "
5
- # puts " This may gonna take a few seconds... "
6
- # end
7
-
8
3
  def self.welcome_message
9
4
  puts "
10
- db d8b db d88888b db .o88b. .d88b. .88b d88. d88888b d888888b .d88b. db d8b db .d88b. d8888b. db d8888b.
11
- 88 I8I 88 88' 88 d8P Y8 .8P Y8. 88'YbdP`88 88' `~~88~~' .8P Y8. 88 I8I 88 .8P Y8. 88 `8D 88 88 `8D
12
- 88 I8I 88 88ooooo 88 8P 88 88 88 88 88 88ooooo 88 88 88 88 I8I 88 88 88 88oobY' 88 88 88
13
- Y8 I8I 88 88~~~~~ 88 8b 88 88 88 88 88 88~~~~~ 88 88 88 Y8 I8I 88 88 88 88`8b 88 88 88
14
- `8b d8'8b d8' 88. 88booo. Y8b d8 `8b d8' 88 88 88 88. 88 `8b d8' `8b d8'8b d8' `8b d8' 88 `88. 88booo. 88 .8D
15
- `8b8' `8d8' Y88888P Y88888P `Y88P' `Y88P' YP YP YP Y88888P YP `Y88P' `8b8' `8d8' `Y88P' 88 YD Y88888P Y8888D'
16
-
17
-
18
- d888888b d8888b. .d8b. db db d88888b db d88888b d8888b. db
19
- `~~88~~' 88 `8D d8' `8b 88 88 88' 88 88' 88 `8D 88
20
- 88 88oobY' 88ooo88 Y8 8P 88ooooo 88 88ooooo 88oobY' YP
21
- 88 88`8b 88~~~88 `8b d8' 88~~~~~ 88 88~~~~~ 88`8b
22
- 88 88 `88. 88 88 `8bd8' 88. 88booo. 88. 88 `88. db
23
- YP 88 YD YP YP YP Y88888P Y88888P Y88888P 88 YD YP
24
-
25
- ".yellow.bold
26
-
27
- puts " Let's Travel!
28
- oO0OoO0OoO0OooO0OoO0OoO0OooO0OoO0OoO0OooO0OoO0OoO0OooO0OoO0OoO0OooO0OoO0OoO0Oo".green.bold
5
+ โ–„โ–„โ–Œ โ– โ–„โ–Œโ–„โ–„โ–„ .โ–„โ–„โ–Œ โ–„โ–„ยท โ€ข โ–Œ โ–„ ยท. โ–„โ–„โ–„ . โ–„โ–„โ–„โ–„โ–„ โ–„โ–„โ–Œ โ– โ–„โ–Œ โ–„โ–„โ–„ โ–„โ–„โ–Œ ยทโ–„โ–„โ–„โ–„ โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„ โ–„โ–„โ–„ยท โ–Œ โ–ยทโ–„โ–„โ–„ .โ–„โ–„โ–Œ โ–„โ–„โ–„ .โ–„โ–„โ–„ โ–„โ–„
6
+ โ–ˆโ–ˆยท โ–ˆโ–Œโ–โ–ˆโ–€โ–„.โ–€ยทโ–ˆโ–ˆโ€ข โ–โ–ˆ โ–Œโ–ชโ–ช ยทโ–ˆโ–ˆ โ–โ–ˆโ–ˆโ–ˆโ–ชโ–€โ–„.โ–€ยท โ€ขโ–ˆโ–ˆ โ–ช โ–ˆโ–ˆยท โ–ˆโ–Œโ–โ–ˆโ–ช โ–€โ–„ โ–ˆยทโ–ˆโ–ˆโ€ข โ–ˆโ–ˆโ–ช โ–ˆโ–ˆ โ€ขโ–ˆโ–ˆ โ–€โ–„ โ–ˆยทโ–โ–ˆ โ–€โ–ˆ โ–ชโ–ˆยทโ–ˆโ–Œโ–€โ–„.โ–€ยทโ–ˆโ–ˆโ€ข โ–€โ–„.โ–€ยทโ–€โ–„ โ–ˆยทโ–ˆโ–ˆโ–Œ
7
+ โ–ˆโ–ˆโ–ชโ–โ–ˆโ–โ–โ–Œโ–โ–€โ–€โ–ชโ–„โ–ˆโ–ˆโ–ช โ–ˆโ–ˆ โ–„โ–„ โ–„โ–ˆโ–€โ–„ โ–โ–ˆ โ–Œโ–โ–Œโ–โ–ˆยทโ–โ–€โ–€โ–ชโ–„ โ–โ–ˆ.โ–ช โ–„โ–ˆโ–€โ–„ โ–ˆโ–ˆโ–ชโ–โ–ˆโ–โ–โ–Œ โ–„โ–ˆโ–€โ–„ โ–โ–€โ–€โ–„ โ–ˆโ–ˆโ–ช โ–โ–ˆยท โ–โ–ˆโ–Œ โ–โ–ˆ.โ–ชโ–โ–€โ–€โ–„ โ–„โ–ˆโ–€โ–€โ–ˆ โ–โ–ˆโ–โ–ˆโ€ขโ–โ–€โ–€โ–ชโ–„โ–ˆโ–ˆโ–ช โ–โ–€โ–€โ–ชโ–„โ–โ–€โ–€โ–„ โ–โ–ˆยท
8
+ โ–โ–ˆโ–Œโ–ˆโ–ˆโ–โ–ˆโ–Œโ–โ–ˆโ–„โ–„โ–Œโ–โ–ˆโ–Œโ–โ–Œโ–โ–ˆโ–ˆโ–ˆโ–Œโ–โ–ˆโ–Œ.โ–โ–Œโ–ˆโ–ˆ โ–ˆโ–ˆโ–Œโ–โ–ˆโ–Œโ–โ–ˆโ–„โ–„โ–Œ โ–โ–ˆโ–Œยทโ–โ–ˆโ–Œ.โ–โ–Œ โ–โ–ˆโ–Œโ–ˆโ–ˆโ–โ–ˆโ–Œโ–โ–ˆโ–Œ.โ–โ–Œโ–โ–ˆโ€ขโ–ˆโ–Œโ–โ–ˆโ–Œโ–โ–Œโ–ˆโ–ˆ. โ–ˆโ–ˆ โ–โ–ˆโ–Œยทโ–โ–ˆโ€ขโ–ˆโ–Œโ–โ–ˆ โ–ชโ–โ–Œ โ–ˆโ–ˆโ–ˆ โ–โ–ˆโ–„โ–„โ–Œโ–โ–ˆโ–Œโ–โ–Œโ–โ–ˆโ–„โ–„โ–Œโ–โ–ˆโ€ขโ–ˆโ–Œ.โ–€
9
+ โ–€โ–€โ–€โ–€ โ–€โ–ช โ–€โ–€โ–€ .โ–€โ–€โ–€ ยทโ–€โ–€โ–€ โ–€โ–ˆโ–„โ–€โ–ชโ–€โ–€ โ–ˆโ–ชโ–€โ–€โ–€ โ–€โ–€โ–€ โ–€โ–€โ–€ โ–€โ–ˆโ–„โ–€โ–ช โ–€โ–€โ–€โ–€ โ–€โ–ช โ–€โ–ˆโ–„โ–€โ–ช.โ–€ โ–€.โ–€โ–€โ–€ โ–€โ–€โ–€โ–€โ–€โ€ข โ–€โ–€โ–€ .โ–€ โ–€ โ–€ โ–€ . โ–€ โ–€โ–€โ–€ .โ–€โ–€โ–€ โ–€โ–€โ–€ .โ–€ โ–€ โ–€
10
+
11
+ ".white
12
+
13
+ puts " Let's Travel!
14
+ oO0OoO0OoO0OooO0OoO0OoO0OoO0OooO0OoO0OoO0OooO0OoO0OoO0OooO0OoO0OoO0OooO0OoO0OoO0OooO0OoO0OoO0Oo".green.bold
29
15
 
30
16
  end
31
17
 
32
18
 
33
19
  def self.continent_list
34
20
  puts "
35
- โ•ฆ โ”ฌโ”Œโ”€โ”โ”Œโ”ฌโ” โ”Œโ”€โ”โ”Œโ”€โ” โ•”โ•โ•—โ”Œโ”€โ”โ”Œโ”โ”Œโ”Œโ”ฌโ”โ”ฌโ”Œโ”โ”Œโ”Œโ”€โ”โ”Œโ”โ”Œโ”Œโ”ฌโ”โ”Œโ”€โ”
36
- โ•‘ โ”‚โ””โ”€โ” โ”‚ โ”‚ โ”‚โ”œโ”ค โ•‘ โ”‚ โ”‚โ”‚โ”‚โ”‚ โ”‚ โ”‚โ”‚โ”‚โ”‚โ”œโ”ค โ”‚โ”‚โ”‚ โ”‚ โ””โ”€โ”
37
- โ•ฉโ•โ•โ”ดโ””โ”€โ”˜ โ”ด โ””โ”€โ”˜โ”” โ•šโ•โ•โ””โ”€โ”˜โ”˜โ””โ”˜ โ”ด โ”ดโ”˜โ””โ”˜โ””โ”€โ”˜โ”˜โ””โ”˜ โ”ด โ””โ”€โ”˜ ".yellow
21
+ โ•ฆ โ”ฌโ”Œโ”€โ”โ”Œโ”ฌโ” โ”Œโ”€โ”โ”Œโ”€โ” โ•”โ•โ•—โ”Œโ”€โ”โ”Œโ”โ”Œโ”Œโ”ฌโ”โ”ฌโ”Œโ”โ”Œโ”Œโ”€โ”โ”Œโ”โ”Œโ”Œโ”ฌโ”โ”Œโ”€โ”
22
+ โ•‘ โ”‚โ””โ”€โ” โ”‚ โ”‚ โ”‚โ”œโ”ค โ•‘ โ”‚ โ”‚โ”‚โ”‚โ”‚ โ”‚ โ”‚โ”‚โ”‚โ”‚โ”œโ”ค โ”‚โ”‚โ”‚ โ”‚ โ””โ”€โ”
23
+ โ•ฉโ•โ•โ”ดโ””โ”€โ”˜ โ”ด โ””โ”€โ”˜โ”” โ•šโ•โ•โ””โ”€โ”˜โ”˜โ””โ”˜ โ”ด โ”ดโ”˜โ””โ”˜โ””โ”€โ”˜โ”˜โ””โ”˜ โ”ด โ””โ”€โ”˜ ".white
38
24
 
39
25
  end
40
26
 
41
27
  def self.goodbye
42
28
  puts "
43
29
 
30
+ Thanks for using World Traveler!
44
31
 
32
+
33
+ โ–„โ–„โ–„โ–„ยท โ– โ–„ โ–Œ โ–ยท โ–„ยท โ–„โ–Œ โ–„โ–„โ–„ยท โ–„โ–„ โ€ข โ–„โ–„โ–„ .โ–„โ–„
34
+ โ–โ–ˆ โ–€โ–ˆโ–ชโ–ช โ€ขโ–ˆโ–Œโ–โ–ˆ โ–ชโ–ˆยทโ–ˆโ–Œโ–ช โ–โ–ˆโ–ชโ–ˆโ–ˆโ–Œโ–โ–ˆ โ–€โ–ˆ โ–โ–ˆ โ–€ โ–ชโ–€โ–„.โ–€ยทโ–ˆโ–ˆโ–Œ
35
+ โ–โ–ˆโ–€โ–€โ–ˆโ–„ โ–„โ–ˆโ–€โ–„ โ–โ–ˆโ–โ–โ–Œ โ–โ–ˆโ–โ–ˆโ€ข โ–„โ–ˆโ–€โ–„ โ–โ–ˆโ–Œโ–โ–ˆโ–ชโ–„โ–ˆโ–€โ–€โ–ˆ โ–„โ–ˆ โ–€โ–ˆโ–„โ–โ–€โ–€โ–ชโ–„โ–โ–ˆยท
36
+ โ–ˆโ–ˆโ–„โ–ชโ–โ–ˆโ–โ–ˆโ–Œ.โ–โ–Œโ–ˆโ–ˆโ–โ–ˆโ–Œ โ–ˆโ–ˆโ–ˆ โ–โ–ˆโ–Œ.โ–โ–Œ โ–โ–ˆโ–€ยท.โ–โ–ˆ โ–ชโ–โ–Œโ–โ–ˆโ–„โ–ชโ–โ–ˆโ–โ–ˆโ–„โ–„โ–Œ.โ–€
37
+ ยทโ–€โ–€โ–€โ–€ โ–€โ–ˆโ–„โ–€โ–ชโ–€โ–€ โ–ˆโ–ช . โ–€ โ–€โ–ˆโ–„โ–€โ–ช โ–€ โ€ข โ–€ โ–€ ยทโ–€โ–€โ–€โ–€ โ–€โ–€โ–€ โ–€
45
38
 
46
- d8888b. .d88b. d8b db db db .d88b. db db .d8b. d888b d88888b db db
47
- 88 `8D .8P Y8. 888o 88 88 88 .8P Y8. `8b d8' d8' `8b 88' Y8b 88' 88 88
48
- 88oooY' 88 88 88V8o 88 Y8 8P 88 88 `8bd8' 88ooo88 88 88ooooo YP YP
49
- 88~~~b. 88 88 88 V8o88 `8b d8' 88 88 88 88~~~88 88 ooo 88~~~~~
50
- 88 8D `8b d8' 88 V888 `8bd8' `8b d8' 88 88 88 88. ~8~ 88. db db
51
- Y8888P' `Y88P' VP V8P YP `Y88P' YP YP YP Y888P Y88888P YP YP
52
-
53
-
54
39
 
55
40
  |
56
41
  |
@@ -61,9 +46,7 @@ class WorldTraveler::Display
61
46
  ''''''-|---|--/ \==][^',_m_,'^][==/ \--|---|-''''''
62
47
  \ / ||/ H \|| \ /
63
48
  '--' OO O|O OO '--'
64
-
65
-
66
- ".yellow
49
+ ".white
67
50
  end
68
51
 
69
52
 
@@ -1,5 +1,5 @@
1
1
  class WorldTraveler::Highlights
2
- attr_accessor :name, :continent, :link, :info, :index
2
+ attr_accessor :name, :continent, :link, :info#, :index
3
3
  @@all = []
4
4
 
5
5
  def initialize(name, continent, link)
@@ -7,7 +7,6 @@ class WorldTraveler::Highlights
7
7
  @continent = continent
8
8
  @link = link
9
9
  @info = []
10
- # # notify month about the event
11
10
  add_to_continent
12
11
  save
13
12
  end
@@ -18,24 +18,25 @@ class WorldTraveler::Scraper
18
18
  highlight = doc.css("ol.jsx-742652205 li.jsx-742652205")
19
19
  highlight.each do |h|
20
20
  title = h.css("/a/span/span[2]/text()").text.strip
21
- link = "https://www.lonelyplanet.com/" + h.search("a").attribute("href").value
21
+ link = "https://www.lonelyplanet.com/" + h.css("a").attribute("href").value
22
22
  WorldTraveler::Highlights.new(title, continent, link)
23
23
  end
24
24
  end
25
25
 
26
-
26
+
27
27
  def self.scrape_info(highlight)
28
- doc = Nokogiri::HTML(open(highlight.link))
29
-
30
- more_detail1 = doc.css("div.jsx-3600140326 p/text()[1]")["#{highlight.index}".to_i]
31
- more_detail2 = doc.css("div.jsx-3600140326 p/text()[2]")["#{highlight.index}".to_i]
32
- if more_detail1 != nil
33
- highlight.info << "#{more_detail1.text.strip} #{highlight.name} #{more_detail2.text.strip}"
34
- else
35
- more = doc.css("div.jsx-2897242284 p")
36
- more.each {|a| highlight.info << "#{a.text} \n\n"}
28
+ doc = Nokogiri::HTML(open(highlight.link)) #if highlight has own page
29
+ more = doc.css("div.jsx-2897242284 p")
30
+ more.each {|a| highlight.info << "#{a.text} \n"}
31
+
32
+ if highlight.info.empty? #if highlight on the same page as other highlights
33
+ url = "https://www.lonelyplanet.com" +doc.css("div.jsx-3600140326 p a")[highlight.continent.highlights.index(highlight)].attribute("href").value
34
+ detail = Nokogiri::HTML(open(url))
35
+ more = detail.css("div p")[0...-2]
36
+ more.each{|paragraph| highlight.info << "#{paragraph.text.strip}"}
37
37
  end
38
- end
38
+
39
+ end
39
40
 
40
41
  end
41
42
 
@@ -1,3 +1,3 @@
1
1
  module WorldTraveler
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
@@ -9,10 +9,20 @@ Gem::Specification.new do |spec|
9
9
  spec.summary = %q{This Ruby gem provides a CLI to view top destinations around the world}
10
10
  spec.homepage = "https://github.com/habeshawit/world_traveler"
11
11
  spec.license = "MIT"
12
+ #spec.required_ruby_version = Gem::Requirement.new(">= 2.3.0")
12
13
 
14
+ #spec.metadata["allowed_push_host"] = "TODO: Set to 'http://mygemserver.com'"
15
+
16
+ # spec.metadata["homepage_uri"] = spec.homepage
17
+ # spec.metadata["source_code_uri"] = "TODO: Put your gem's public repo URL here."
18
+ # spec.metadata["changelog_uri"] = "TODO: Put your gem's CHANGELOG.md URL here."
19
+
20
+ # Specify which files should be added to the gem when it is released.
21
+ # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
13
22
  spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
14
23
  `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
15
24
  end
25
+
16
26
  spec.bindir = "exe"
17
27
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
18
28
  spec.require_paths = ["lib"]
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: world_traveler
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shalom Kebede
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-09-19 00:00:00.000000000 Z
11
+ date: 2020-09-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler