surf_rockaway 0.1.0 → 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/CHANGELOG.md +1 -0
- data/README.md +3 -3
- data/lib/environment.rb +2 -1
- data/lib/surf_data/cli.rb +31 -1
- data/lib/surf_data/search.rb +125 -0
- data/lib/surf_data/surf_report.rb +67 -40
- data/lib/surf_data/version.rb +1 -1
- data/surf_rockaway-0.1.0.gem +0 -0
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e05d4d6a5c2d8ae3e0cd13f5cc6cf14bab81c59bedf1001e1be4bccefeedf4a8
|
4
|
+
data.tar.gz: 10a47bf16925070c89477aeca35a53dc175bff4dc1792afa7bacfcc84d3b48d1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 50ac370c78a75b6a9e1b62c1d0ad568edcf46113e3466802defa5adcea09bb8b8adeed7de86225d4537528ca0c70ce1dd10a1d84172457cbe46905a546dc3713
|
7
|
+
data.tar.gz: b24d27a49234a76b8bb6d2b100b1ac54210ee738bcbcd3754bd50e32044c8d3f6c535842e395875e462bb603980b58bf29473b671ac38a8fd32644a4a92df3f6
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
|
data/README.md
CHANGED
@@ -10,12 +10,12 @@ $ gem install surf-rockaway
|
|
10
10
|
|
11
11
|
## Detailed Description
|
12
12
|
|
13
|
-
A Florida native
|
13
|
+
A Florida native, moving to NYC over the summer left me longing for the beach. I soon discovered Rockaway Beach is the closest surf spot to the city. (bonus you can take the water ferry!) All too often, I found myself lost in a terminal screen ... searching for an excuse to hit the beach for a few hours. So, I created surf-rockaway. This gem provides a quick way to check the current surf condtions without ever leaving the terminal.
|
14
14
|
|
15
15
|
## Data Provided
|
16
16
|
|
17
|
-
--- current
|
18
|
-
--- 3-day surf
|
17
|
+
--- current forecast
|
18
|
+
--- 3-day surf conditions
|
19
19
|
--- (in development) Set notification based on wave size
|
20
20
|
|
21
21
|
## Development
|
data/lib/environment.rb
CHANGED
data/lib/surf_data/cli.rb
CHANGED
@@ -22,6 +22,7 @@ class SurfRockaway::CLI
|
|
22
22
|
input = prompt.select('Please select an options below:') do |menu|
|
23
23
|
menu.choice 'Current conditions', 'Current'
|
24
24
|
menu.choice '3 day forecast', '3 day'
|
25
|
+
menu.choice 'Seach by wave size', 'Search'
|
25
26
|
menu.choice 'Set notification', 'Set notification', disabled: '(in development)'
|
26
27
|
menu.choice 'Exit the program', 'Exit'
|
27
28
|
end
|
@@ -34,10 +35,39 @@ class SurfRockaway::CLI
|
|
34
35
|
puts ""
|
35
36
|
SurfRockaway::SurfReport.multi_day
|
36
37
|
puts ""
|
38
|
+
elsif input == "Search"
|
39
|
+
puts "---------------------------------------------------------"
|
40
|
+
puts ""
|
41
|
+
options = SurfRockaway::Search.wave_options
|
42
|
+
options.each.with_index(1) do |wave, i|
|
43
|
+
puts " #{i}. #{wave}".green
|
44
|
+
end
|
45
|
+
#options returns an array of unique wave sizes
|
46
|
+
puts ""
|
47
|
+
puts "---------------------------------------------------------"
|
48
|
+
puts " Enter the number associated with the desired wave size: "
|
49
|
+
puts "---------------------------------------------------------"
|
50
|
+
# request input, set value to a variable called #input
|
51
|
+
input = gets.chomp.to_i
|
52
|
+
# set variable called #selection
|
53
|
+
selection = options[input-1]
|
54
|
+
puts ""
|
55
|
+
puts ""
|
56
|
+
puts ""
|
57
|
+
# accepts #selection variable as an argument for #search_by_size ... in #Search class. Prints results.
|
58
|
+
input_size = SurfRockaway::Search.search_by_size(selection)
|
59
|
+
return_values = input_size.collect {|day| day.values}.to_a
|
60
|
+
puts ""
|
61
|
+
puts "== WAVES @ #{selection.green} ============"
|
62
|
+
puts ""
|
63
|
+
puts return_values
|
64
|
+
puts ""
|
65
|
+
puts "-------------------------"
|
66
|
+
puts ""
|
37
67
|
else input == "Exit"
|
38
68
|
puts ""
|
39
69
|
puts ""
|
40
|
-
puts "__̴ı̴̴̡̡̡ ̡͌l̡̡̡ ̡͌l̡*̡̡ ̴̡ı̴̴̡ ̡̡͡| ̲▫̲͡ ̲̲͡▫̲̲͡͡ ̲|̡̡̡ ̡ ̴̡ı̴̡̡ ̡͌l̡̡̡̡.___ ... See you soon! "
|
70
|
+
puts "__̴ı̴̴̡̡̡ ̡͌l̡̡̡ ̡͌l̡*̡̡ ̴̡ı̴̴̡ ̡̡͡| ̲▫̲͡ ̲̲͡▫̲̲͡͡ ̲|̡̡̡ ̡ ̴̡ı̴̡̡ ̡͌l̡̡̡̡.___ ... Thanks! See you soon! "
|
41
71
|
puts ""
|
42
72
|
exit
|
43
73
|
end
|
@@ -0,0 +1,125 @@
|
|
1
|
+
|
2
|
+
###############################################################################
|
3
|
+
|
4
|
+
#### DONE ####
|
5
|
+
|
6
|
+
# waves => array of unique wave sizes for the next 3 days
|
7
|
+
# hash with wave/date/time for the next 3-day
|
8
|
+
# display waves array as CLI options
|
9
|
+
# accept user input for wave size
|
10
|
+
# search hash for days/times when waves will be at the desired height
|
11
|
+
# return results on CLI
|
12
|
+
# fix return formatting for #return_values
|
13
|
+
# link values for #search_wave_size
|
14
|
+
|
15
|
+
#### TODO ####
|
16
|
+
|
17
|
+
# refactor code for clarity
|
18
|
+
|
19
|
+
# As discussed, I buit out functionality to search for a specific wave size.
|
20
|
+
#
|
21
|
+
# 1. select input from a index of avaliable wave sizes
|
22
|
+
# 2. use input to query dates, times, and wave sizes from 3 day forecast
|
23
|
+
# 3. return date && time when wave size == input
|
24
|
+
#
|
25
|
+
# The way I collected/returned data, using the TTY-Prompt gem, proved challenging to work with. To save time
|
26
|
+
# and move forward ... I built a nested hash, broken down by day, in #Search.
|
27
|
+
# The #Search class below takes an input in the form of a wave size. The wave size then iterates over the
|
28
|
+
# nested hash, #search_by_size, to locate a day/time where wave size == input.
|
29
|
+
|
30
|
+
###############################################################################
|
31
|
+
|
32
|
+
class SurfRockaway::Search
|
33
|
+
|
34
|
+
@doc = Nokogiri::HTML(open('https://magicseaweed.com/Rockaway-Surf-Report/384/'))
|
35
|
+
|
36
|
+
def self.wave_options
|
37
|
+
|
38
|
+
# scrapes magicseaweed.com for wave size each day
|
39
|
+
|
40
|
+
day_1 = @doc.search("td.background-info").text.strip.split[2..6]
|
41
|
+
day_2 = @doc.search("td.background-info").text.strip.split[10..14]
|
42
|
+
day_3 = @doc.search("td.background-info").text.strip.split[18..22]
|
43
|
+
|
44
|
+
# combines days into a variable called "waves"
|
45
|
+
# returns "waves" as an array with only unique values
|
46
|
+
|
47
|
+
@size = day_1 + day_2 + day_3
|
48
|
+
@size.uniq
|
49
|
+
|
50
|
+
end
|
51
|
+
|
52
|
+
def self.date_options
|
53
|
+
|
54
|
+
# scrapes magicseaweed.com for dates
|
55
|
+
@date = []
|
56
|
+
|
57
|
+
day_1 = @doc.search("tr.tbody-title").text.strip.split(" ").compact.first
|
58
|
+
day_2 = @doc.search("tr.tbody-title").text.strip.split.slice(4..5).join(" ")
|
59
|
+
day_3 = @doc.search("tr.tbody-title").text.strip.split.slice(6..7).join(" ")
|
60
|
+
|
61
|
+
# returns data for each day && pushes data to instance variable @date
|
62
|
+
@date << day_1
|
63
|
+
@date << day_2
|
64
|
+
@date << day_3
|
65
|
+
|
66
|
+
# calls @date
|
67
|
+
@date
|
68
|
+
|
69
|
+
end
|
70
|
+
|
71
|
+
def self.time_options
|
72
|
+
|
73
|
+
# scrapes magicseaweed.com for times && returns @times variable
|
74
|
+
|
75
|
+
@time = @doc.search("td.nopadding-left").text.strip.split[2..6]
|
76
|
+
@time
|
77
|
+
|
78
|
+
end
|
79
|
+
|
80
|
+
def self.collect_data
|
81
|
+
|
82
|
+
# call #wave_options, @waves, #date_options, #time_options
|
83
|
+
|
84
|
+
wave_options && @waves
|
85
|
+
date_options
|
86
|
+
time_options
|
87
|
+
|
88
|
+
end
|
89
|
+
|
90
|
+
|
91
|
+
def self.search_by_size(selection)
|
92
|
+
|
93
|
+
# calls #collect_data
|
94
|
+
collect_data
|
95
|
+
|
96
|
+
# create array to store day, time, and wave size as nested hash
|
97
|
+
wave_sizes = [
|
98
|
+
|
99
|
+
{ :day => "#{@date[0]}", :time => "#{@time[0]}", :size => "#{@size[0]}" },
|
100
|
+
{ :day => "#{@date[0]}", :time => "#{@time[1]}", :size => "#{@size[1]}" },
|
101
|
+
{ :day => "#{@date[0]}", :time => "#{@time[2]}", :size => "#{@size[2]}" },
|
102
|
+
{ :day => "#{@date[0]}", :time => "#{@time[3]}", :size => "#{@size[3]}" },
|
103
|
+
{ :day => "#{@date[0]}", :time => "#{@time[4]}", :size => "#{@size[4]}" },
|
104
|
+
|
105
|
+
{ :day => "#{@date[1]}", :time => "#{@time[0]}", :size => "#{@size[5]}" },
|
106
|
+
{ :day => "#{@date[1]}", :time => "#{@time[1]}", :size => "#{@size[6]}" },
|
107
|
+
{ :day => "#{@date[1]}", :time => "#{@time[2]}", :size => "#{@size[7]}" },
|
108
|
+
{ :day => "#{@date[1]}", :time => "#{@time[3]}", :size => "#{@size[8]}" },
|
109
|
+
{ :day => "#{@date[1]}", :time => "#{@time[4]}", :size => "#{@size[9]}" },
|
110
|
+
|
111
|
+
{ :day => "#{@date[2]}", :time => "#{@time[0]}", :size => "#{@size[10]}" },
|
112
|
+
{ :day => "#{@date[2]}", :time => "#{@time[1]}", :size => "#{@size[11]}" },
|
113
|
+
{ :day => "#{@date[2]}", :time => "#{@time[2]}", :size => "#{@size[12]}" },
|
114
|
+
{ :day => "#{@date[2]}", :time => "#{@time[3]}", :size => "#{@size[13]}" },
|
115
|
+
{ :day => "#{@date[2]}", :time => "#{@time[4]}", :size => "#{@size[14]}" },
|
116
|
+
|
117
|
+
]
|
118
|
+
|
119
|
+
# selection argument captured on ./cli.rb
|
120
|
+
# selection compared to key :size by iterating over array #wave_sizes
|
121
|
+
wave_sizes.select {|i| i[:size] == selection}
|
122
|
+
|
123
|
+
end
|
124
|
+
|
125
|
+
end
|
@@ -1,52 +1,72 @@
|
|
1
1
|
class SurfRockaway::SurfReport
|
2
2
|
attr_accessor :location, :wave_size, :wind, :primary_swell, :weather, :temp, :date, :time
|
3
3
|
|
4
|
+
@doc = Nokogiri::HTML(open('https://magicseaweed.com/Rockaway-Surf-Report/384/'))
|
5
|
+
|
4
6
|
def self.current
|
7
|
+
|
5
8
|
# Scrape magicseaweed.com and return current conditions for rockaway
|
6
|
-
|
9
|
+
|
10
|
+
puts "### Pulling current report ... this may take up to 10 seconds ###"
|
7
11
|
puts ""
|
12
|
+
|
8
13
|
self.scrape_data
|
14
|
+
|
9
15
|
end
|
10
16
|
|
11
17
|
def self.scrape_data
|
18
|
+
|
12
19
|
# creates empty array to store data
|
20
|
+
|
13
21
|
conditions = []
|
14
22
|
|
15
23
|
# pushes new instances of data from magicseaweed.com to conditions array
|
24
|
+
|
16
25
|
conditions << self.scrape_magicseaweed
|
17
26
|
|
18
27
|
conditions
|
19
28
|
end
|
20
29
|
|
21
30
|
def self.multi_day
|
31
|
+
|
22
32
|
# Scrape 3-day forecast
|
23
|
-
|
33
|
+
|
34
|
+
puts "### Pulling current report ... this may take up to 15 seconds ###"
|
24
35
|
puts ""
|
36
|
+
|
25
37
|
self.scrape_data_multi
|
38
|
+
|
26
39
|
end
|
27
40
|
|
28
41
|
def self.scrape_data_multi
|
29
|
-
|
42
|
+
|
30
43
|
multi_day = []
|
31
44
|
|
45
|
+
# pushes new instances of data for 3-day forcast to multi_day array
|
46
|
+
|
32
47
|
multi_day << self.scrape_magicseaweed_3day
|
33
48
|
|
49
|
+
# returns the array
|
50
|
+
|
34
51
|
multi_day
|
35
52
|
end
|
36
53
|
|
37
54
|
|
38
55
|
def self.scrape_magicseaweed
|
39
|
-
doc = Nokogiri::HTML(open('https://magicseaweed.com/Rockaway-Surf-Report/384/'))
|
40
56
|
|
57
|
+
# scrape current surf report
|
58
|
+
|
41
59
|
current_report = self.new
|
42
|
-
location_raw = doc.search("div.forecast-sub-title-fluid").text.strip.split
|
60
|
+
location_raw = @doc.search("div.forecast-sub-title-fluid").text.strip.split
|
43
61
|
current_report.location = location_raw.first(5).join(" ")
|
44
|
-
current_report.wave_size = doc.xpath("//ul[@class='rating rating-large clearfix']/li").text.strip
|
45
|
-
current_report.wind = doc.xpath("//p[@class='h5 nomargin-top']").text.strip
|
46
|
-
p_swell = doc.search("div.list-group-content").text.strip.split
|
62
|
+
current_report.wave_size = @doc.xpath("//ul[@class='rating rating-large clearfix']/li").text.strip
|
63
|
+
current_report.wind = @doc.xpath("//p[@class='h5 nomargin-top']").text.strip
|
64
|
+
p_swell = @doc.search("div.list-group-content").text.strip.split
|
47
65
|
current_report.primary_swell = p_swell.first(3).join(" ")
|
48
|
-
current_report.weather = doc.xpath("//p[@class='nomargin-bottom']/i").text.strip
|
66
|
+
current_report.weather = @doc.xpath("//p[@class='nomargin-bottom']/i").text.strip
|
49
67
|
|
68
|
+
# CLI OUTPUT
|
69
|
+
|
50
70
|
puts "================================"
|
51
71
|
puts "#{current_report.location}"
|
52
72
|
puts "================================"
|
@@ -61,37 +81,41 @@ class SurfRockaway::SurfReport
|
|
61
81
|
end
|
62
82
|
|
63
83
|
def self.scrape_magicseaweed_3day
|
64
|
-
doc = Nokogiri::HTML(open('https://magicseaweed.com/Rockaway-Surf-Report/384/'))
|
65
84
|
|
66
85
|
# collect Day 1
|
67
86
|
|
68
87
|
day_1 = self.new
|
69
|
-
day_1.date = doc.search("tr.tbody-title").text.strip.split(" ").compact.first
|
70
|
-
day_1.time = doc.search("td.nopadding-left").text.strip.split[2..6]
|
71
|
-
day_1.wave_size = doc.search("td.background-info").text.strip.split[2..6]
|
72
|
-
day_1.primary_swell = doc.search("h4.font-sans-serif").text.strip.split[4..13]
|
73
|
-
day_1.temp = doc.search("h5.heavy").text.strip.split("f")[2..6]
|
88
|
+
day_1.date = @doc.search("tr.tbody-title").text.strip.split(" ").compact.first
|
89
|
+
day_1.time = @doc.search("td.nopadding-left").text.strip.split[2..6]
|
90
|
+
day_1.wave_size = @doc.search("td.background-info").text.strip.split[2..6]
|
91
|
+
day_1.primary_swell = @doc.search("h4.font-sans-serif").text.strip.split[4..13]
|
92
|
+
day_1.temp = @doc.search("h5.heavy").text.strip.split("f")[2..6]
|
93
|
+
day_1
|
74
94
|
|
75
95
|
# collect Day 2
|
76
96
|
|
77
97
|
day_2 = self.new
|
78
|
-
day_2.date = doc.search("tr.tbody-title").text.strip.split.slice(4..5).join(" ")
|
79
|
-
day_2.time = doc.search("td.nopadding-left").text.strip.split[2..6]
|
80
|
-
day_2.wave_size = doc.search("td.background-info").text.strip.split[10..14]
|
81
|
-
day_2.primary_swell = doc.search("h4.font-sans-serif").text.strip.split[20..29]
|
82
|
-
day_2.temp = doc.search("h5.heavy").text.strip.split("f")[10..14]
|
98
|
+
day_2.date = @doc.search("tr.tbody-title").text.strip.split.slice(4..5).join(" ")
|
99
|
+
day_2.time = @doc.search("td.nopadding-left").text.strip.split[2..6]
|
100
|
+
day_2.wave_size = @doc.search("td.background-info").text.strip.split[10..14]
|
101
|
+
day_2.primary_swell = @doc.search("h4.font-sans-serif").text.strip.split[20..29]
|
102
|
+
day_2.temp = @doc.search("h5.heavy").text.strip.split("f")[10..14]
|
103
|
+
day_2
|
83
104
|
|
84
105
|
# collect Day 3
|
85
106
|
|
86
107
|
day_3 = self.new
|
87
|
-
day_3.date = doc.search("tr.tbody-title").text.strip.split.slice(6..7).join(" ")
|
88
|
-
day_3.time = doc.search("td.nopadding-left").text.strip.split[2..6]
|
89
|
-
day_3.wave_size = doc.search("td.background-info").text.strip.split[18..22]
|
90
|
-
day_3.primary_swell = doc.search("h4.font-sans-serif").text.strip.split[36..45]
|
91
|
-
day_3.temp = doc.search("h5.heavy").text.strip.split("f")[18..22]
|
108
|
+
day_3.date = @doc.search("tr.tbody-title").text.strip.split.slice(6..7).join(" ")
|
109
|
+
day_3.time = @doc.search("td.nopadding-left").text.strip.split[2..6]
|
110
|
+
day_3.wave_size = @doc.search("td.background-info").text.strip.split[18..22]
|
111
|
+
day_3.primary_swell = @doc.search("h4.font-sans-serif").text.strip.split[36..45]
|
112
|
+
day_3.temp = @doc.search("h5.heavy").text.strip.split("f")[18..22]
|
113
|
+
day_3
|
92
114
|
|
93
|
-
# CLI
|
115
|
+
# CLI DISPLAY FOR 3 DAY FORECAST
|
94
116
|
|
117
|
+
# day 1
|
118
|
+
|
95
119
|
puts ""
|
96
120
|
puts "==========================="
|
97
121
|
puts "#{day_1.date}"
|
@@ -99,12 +123,15 @@ class SurfRockaway::SurfReport
|
|
99
123
|
table = TTY::Table.new ['', 'wave_size', 'primary_swell', 'temp'],
|
100
124
|
[
|
101
125
|
["#{day_1.time[0]}", "#{day_1.wave_size[0]}", "#{day_1.primary_swell[0]}", "#{day_1.temp[0]}"],
|
102
|
-
["#{day_1.time[1]}", "#{day_1.wave_size[1]}", "#{day_1.primary_swell[
|
103
|
-
["#{day_1.time[2]}", "#{day_1.wave_size[2]}", "#{day_1.primary_swell[
|
104
|
-
["#{day_1.time[3]}", "#{day_1.wave_size[3]}", "#{day_1.primary_swell[
|
105
|
-
["#{day_1.time[4]}", "#{day_1.wave_size[4]}", "#{day_1.primary_swell[
|
126
|
+
["#{day_1.time[1]}", "#{day_1.wave_size[1]}", "#{day_1.primary_swell[2]}", "#{day_1.temp[1]}"],
|
127
|
+
["#{day_1.time[2]}", "#{day_1.wave_size[2]}", "#{day_1.primary_swell[4]}", "#{day_1.temp[2]}"],
|
128
|
+
["#{day_1.time[3]}", "#{day_1.wave_size[3]}", "#{day_1.primary_swell[6]}", "#{day_1.temp[3]}"],
|
129
|
+
["#{day_1.time[4]}", "#{day_1.wave_size[4]}", "#{day_1.primary_swell[8]}", "#{day_1.temp[4]}"]
|
106
130
|
]
|
107
131
|
puts table.render(:ascii).green
|
132
|
+
|
133
|
+
# day 2
|
134
|
+
|
108
135
|
puts ""
|
109
136
|
puts "==========================="
|
110
137
|
puts "#{day_2.date}"
|
@@ -112,13 +139,15 @@ class SurfRockaway::SurfReport
|
|
112
139
|
table = TTY::Table.new ['', 'wave_size', 'primary_swell', 'temp'],
|
113
140
|
[
|
114
141
|
["#{day_2.time[0]}", "#{day_2.wave_size[0]}", "#{day_2.primary_swell[0]}", "#{day_2.temp[0]}"],
|
115
|
-
["#{day_2.time[1]}", "#{day_2.wave_size[1]}", "#{day_2.primary_swell[
|
116
|
-
["#{day_2.time[2]}", "#{day_2.wave_size[2]}", "#{day_2.primary_swell[
|
117
|
-
["#{day_2.time[3]}", "#{day_2.wave_size[3]}", "#{day_2.primary_swell[
|
118
|
-
["#{day_2.time[4]}", "#{day_2.wave_size[4]}", "#{day_2.primary_swell[
|
142
|
+
["#{day_2.time[1]}", "#{day_2.wave_size[1]}", "#{day_2.primary_swell[2]}", "#{day_2.temp[1]}"],
|
143
|
+
["#{day_2.time[2]}", "#{day_2.wave_size[2]}", "#{day_2.primary_swell[4]}", "#{day_2.temp[2]}"],
|
144
|
+
["#{day_2.time[3]}", "#{day_2.wave_size[3]}", "#{day_2.primary_swell[6]}", "#{day_2.temp[3]}"],
|
145
|
+
["#{day_2.time[4]}", "#{day_2.wave_size[4]}", "#{day_2.primary_swell[8]}", "#{day_2.temp[4]}"]
|
119
146
|
]
|
120
147
|
puts table.render(:ascii).green
|
121
148
|
|
149
|
+
# day 3
|
150
|
+
|
122
151
|
puts ""
|
123
152
|
puts "==========================="
|
124
153
|
puts "#{day_3.date}"
|
@@ -126,16 +155,14 @@ class SurfRockaway::SurfReport
|
|
126
155
|
table = TTY::Table.new ['', 'wave_size', 'primary_swell', 'temp'],
|
127
156
|
[
|
128
157
|
["#{day_3.time[0]}", "#{day_3.wave_size[0]}", "#{day_3.primary_swell[0]}", "#{day_3.temp[0]}"],
|
129
|
-
["#{day_3.time[1]}", "#{day_3.wave_size[1]}", "#{day_3.primary_swell[
|
130
|
-
["#{day_3.time[2]}", "#{day_3.wave_size[2]}", "#{day_3.primary_swell[
|
131
|
-
["#{day_3.time[3]}", "#{day_3.wave_size[3]}", "#{day_3.primary_swell[
|
132
|
-
["#{day_3.time[4]}", "#{day_3.wave_size[4]}", "#{day_3.primary_swell[
|
158
|
+
["#{day_3.time[1]}", "#{day_3.wave_size[1]}", "#{day_3.primary_swell[2]}", "#{day_3.temp[1]}"],
|
159
|
+
["#{day_3.time[2]}", "#{day_3.wave_size[2]}", "#{day_3.primary_swell[4]}", "#{day_3.temp[2]}"],
|
160
|
+
["#{day_3.time[3]}", "#{day_3.wave_size[3]}", "#{day_3.primary_swell[6]}", "#{day_3.temp[3]}"],
|
161
|
+
["#{day_3.time[4]}", "#{day_3.wave_size[4]}", "#{day_3.primary_swell[8]}", "#{day_3.temp[4]}"]
|
133
162
|
]
|
134
163
|
puts table.render(:ascii).green
|
135
164
|
puts ""
|
136
165
|
puts ""
|
137
166
|
puts "######################################"
|
138
|
-
|
139
167
|
end
|
140
|
-
|
141
168
|
end
|
data/lib/surf_data/version.rb
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: surf_rockaway
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- kyle crews
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-10-
|
11
|
+
date: 2019-10-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -61,6 +61,7 @@ extensions: []
|
|
61
61
|
extra_rdoc_files: []
|
62
62
|
files:
|
63
63
|
- ".DS_Store"
|
64
|
+
- CHANGELOG.md
|
64
65
|
- Gemfile
|
65
66
|
- LICENSE.txt
|
66
67
|
- README.md
|
@@ -73,9 +74,11 @@ files:
|
|
73
74
|
- lib/environment.rb
|
74
75
|
- lib/surf_data/.DS_Store
|
75
76
|
- lib/surf_data/cli.rb
|
77
|
+
- lib/surf_data/search.rb
|
76
78
|
- lib/surf_data/surf_report.rb
|
77
79
|
- lib/surf_data/version.rb
|
78
80
|
- still_in_progress/notification.rb
|
81
|
+
- surf_rockaway-0.1.0.gem
|
79
82
|
- surf_rockaway.gemspec
|
80
83
|
homepage: https://github.com/kyle-crews/surf-rockaway
|
81
84
|
licenses:
|