tropical 0.1.5 → 0.1.6
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/CODE_OF_CONDUCT.md +0 -2
- data/Gemfile.lock +1 -1
- data/lib/tropical.rb +38 -48
- data/lib/tropical/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 951846b67756ef790d084887e5656c8073d78ca755a8503807ad99a283afdb5d
|
|
4
|
+
data.tar.gz: a56eeb6e6d44724aacfc237fbd3a1d0d82a9d688c429ba6c971794a5bcf445c0
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a9b99a891cc45d53c9dce81d02ef5356ee972bbfca519240d4ef7234bdd5fe6b84810240b37a352ad56bb105482cbdf88aa72f6051b4bb0e3eaeb56e8a996405
|
|
7
|
+
data.tar.gz: ba09b867c7ea1dc302d2573cf0190205611667a7a83069107a648a49040d99c37a24ffed0ffc51bab23081397b8cee45631b68de6ea8c30f8b63f7694697cae1
|
data/CODE_OF_CONDUCT.md
CHANGED
|
@@ -69,8 +69,6 @@ Community leaders will follow these Community Impact Guidelines in determining t
|
|
|
69
69
|
|
|
70
70
|
**Community Impact**: Demonstrating a pattern of violation of community standards, including sustained inappropriate behavior, harassment of an individual, or aggression toward or disparagement of classes of individuals.
|
|
71
71
|
|
|
72
|
-
**Consequence**: A permanent ban from any sort of public interaction within the community.
|
|
73
|
-
|
|
74
72
|
## Attribution
|
|
75
73
|
|
|
76
74
|
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 2.0,
|
data/Gemfile.lock
CHANGED
data/lib/tropical.rb
CHANGED
|
@@ -17,25 +17,12 @@ module Tropical
|
|
|
17
17
|
load_data(response)
|
|
18
18
|
end
|
|
19
19
|
|
|
20
|
-
def average_temp_by_days
|
|
21
|
-
group_by_days = list.group_by { |item| item[:datetime].to_date }
|
|
22
|
-
days = []
|
|
23
|
-
|
|
24
|
-
group_by_days.each do |day, temps|
|
|
25
|
-
average = temps.sum { |time| time[:temp] } / temps.length
|
|
26
|
-
|
|
27
|
-
days << { day: day, average: average.round }
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
days
|
|
31
|
-
end
|
|
32
|
-
|
|
33
20
|
def city
|
|
34
21
|
data["city"]["name"]
|
|
35
22
|
end
|
|
36
23
|
|
|
37
24
|
def current_date
|
|
38
|
-
list.first[:
|
|
25
|
+
list.first[:dt]
|
|
39
26
|
end
|
|
40
27
|
|
|
41
28
|
def current_temp
|
|
@@ -46,35 +33,55 @@ module Tropical
|
|
|
46
33
|
list.first[:description]
|
|
47
34
|
end
|
|
48
35
|
|
|
36
|
+
def scale
|
|
37
|
+
units = params[:units]
|
|
38
|
+
|
|
39
|
+
return "°C" if units == "metric"
|
|
40
|
+
return "°F" if units == "imperial"
|
|
41
|
+
|
|
42
|
+
"°K"
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
def full_sumary
|
|
46
|
+
"#{sumary_current_day} "\
|
|
47
|
+
"Média para os próximos dias: "\
|
|
48
|
+
"#{sumary_days_forecast}"
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
def sumary_current_day
|
|
52
|
+
"#{current_temp.round}#{scale} e #{current_weather} em "\
|
|
53
|
+
"#{city} em #{current_date.strftime("%d/%m")}."
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
def sumary_days_forecast
|
|
57
|
+
list = average_temp_by_days.map do |x|
|
|
58
|
+
"#{x[:average]}#{scale} em #{x[:day].strftime("%d/%m")}"
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
"#{list.to_sentence(words_connector: ", ", last_word_connector: " e ")}."
|
|
62
|
+
end
|
|
63
|
+
|
|
49
64
|
def list
|
|
50
65
|
data["list"].map do |list_item|
|
|
51
66
|
{
|
|
52
|
-
|
|
67
|
+
dt: Time.zone.at(list_item["dt"]),
|
|
53
68
|
temp: list_item["main"]["temp"],
|
|
54
69
|
description: list_item["weather"].first["description"]
|
|
55
70
|
}
|
|
56
71
|
end
|
|
57
72
|
end
|
|
58
73
|
|
|
59
|
-
def
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
return "°C" if units == "metric"
|
|
63
|
-
return "°F" if units == "imperial"
|
|
74
|
+
def average_temp_by_days
|
|
75
|
+
group_by_days = list.group_by { |item| item[:dt].to_date }
|
|
76
|
+
days = []
|
|
64
77
|
|
|
65
|
-
|
|
66
|
-
|
|
78
|
+
group_by_days.each do |day, temps|
|
|
79
|
+
average = temps.sum { |time| time[:temp] } / temps.length
|
|
67
80
|
|
|
68
|
-
|
|
69
|
-
|
|
81
|
+
days << { day: day, average: average.round }
|
|
82
|
+
end
|
|
70
83
|
|
|
71
|
-
|
|
72
|
-
"Média para os próximos dias: "\
|
|
73
|
-
"#{message.first_day_average}#{scale} em #{message.first_day_date}, "\
|
|
74
|
-
"#{message.second_day_average}#{scale} em #{message.second_day_date}, "\
|
|
75
|
-
"#{message.third_day_average}#{scale} em #{message.third_day_date}, "\
|
|
76
|
-
"#{message.fourth_day_average}#{scale} em #{message.fourth_day_date} "\
|
|
77
|
-
"e #{message.fifth_day_average}#{scale} em #{message.fifth_day_date}."
|
|
84
|
+
days
|
|
78
85
|
end
|
|
79
86
|
|
|
80
87
|
private
|
|
@@ -89,23 +96,6 @@ module Tropical
|
|
|
89
96
|
BASE_URL + link
|
|
90
97
|
end
|
|
91
98
|
|
|
92
|
-
def format_message
|
|
93
|
-
OpenStruct.new(
|
|
94
|
-
current_temp: current_temp.round,
|
|
95
|
-
current_date: current_date.strftime("%d/%m"),
|
|
96
|
-
first_day_average: average_temp_by_days[0][:average],
|
|
97
|
-
first_day_date: average_temp_by_days[0][:day].strftime("%d/%m"),
|
|
98
|
-
second_day_average: average_temp_by_days[1][:average],
|
|
99
|
-
second_day_date: average_temp_by_days[1][:day].strftime("%d/%m"),
|
|
100
|
-
third_day_average: average_temp_by_days[2][:average],
|
|
101
|
-
third_day_date: average_temp_by_days[2][:day].strftime("%d/%m"),
|
|
102
|
-
fourth_day_average: average_temp_by_days[3][:average],
|
|
103
|
-
fourth_day_date: average_temp_by_days[3][:day].strftime("%d/%m"),
|
|
104
|
-
fifth_day_average: average_temp_by_days[4][:average],
|
|
105
|
-
fifth_day_date: average_temp_by_days[4][:day].strftime("%d/%m")
|
|
106
|
-
)
|
|
107
|
-
end
|
|
108
|
-
|
|
109
99
|
def load_data(response)
|
|
110
100
|
@status = response.code
|
|
111
101
|
@data = case response
|
data/lib/tropical/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: tropical
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.6
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Valter
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2021-02-
|
|
11
|
+
date: 2021-02-14 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: activesupport
|