weather_api_task 1.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 +7 -0
- data/LICENSE +28 -0
- data/README.md +140 -0
- data/lib/weather_api_task.rb +44 -0
- data/lib/weather_api_task/api_helper.rb +275 -0
- data/lib/weather_api_task/configuration.rb +24 -0
- data/lib/weather_api_task/controllers/base_controller.rb +51 -0
- data/lib/weather_api_task/controllers/find_weather_controller.rb +52 -0
- data/lib/weather_api_task/exceptions/api_exception.rb +20 -0
- data/lib/weather_api_task/http/auth/custom_query_auth.rb +16 -0
- data/lib/weather_api_task/http/faraday_client.rb +64 -0
- data/lib/weather_api_task/http/http_call_back.rb +24 -0
- data/lib/weather_api_task/http/http_client.rb +104 -0
- data/lib/weather_api_task/http/http_context.rb +20 -0
- data/lib/weather_api_task/http/http_method_enum.rb +13 -0
- data/lib/weather_api_task/http/http_request.rb +50 -0
- data/lib/weather_api_task/http/http_response.rb +23 -0
- data/lib/weather_api_task/models/base_model.rb +36 -0
- data/lib/weather_api_task/models/city_weather.rb +69 -0
- data/lib/weather_api_task/models/clouds.rb +35 -0
- data/lib/weather_api_task/models/coord.rb +44 -0
- data/lib/weather_api_task/models/list.rb +132 -0
- data/lib/weather_api_task/models/main.rb +80 -0
- data/lib/weather_api_task/models/rain.rb +35 -0
- data/lib/weather_api_task/models/sys.rb +35 -0
- data/lib/weather_api_task/models/weather.rb +62 -0
- data/lib/weather_api_task/models/wind.rb +44 -0
- data/lib/weather_api_task/weather_api_task_client.rb +27 -0
- metadata +166 -0
@@ -0,0 +1,23 @@
|
|
1
|
+
# weather_api_task
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
4
|
+
# ( https://apimatic.io ).
|
5
|
+
|
6
|
+
module WeatherApiTask
|
7
|
+
# Http response received.
|
8
|
+
class HttpResponse
|
9
|
+
attr_accessor :status_code, :headers, :raw_body
|
10
|
+
|
11
|
+
# The constructor
|
12
|
+
# @param [Integer] The status code returned by the server.
|
13
|
+
# @param [Hash] The headers sent by the server in the response.
|
14
|
+
# @param [String] The raw body of the response.
|
15
|
+
def initialize(status_code,
|
16
|
+
headers,
|
17
|
+
raw_body)
|
18
|
+
@status_code = status_code
|
19
|
+
@headers = headers
|
20
|
+
@raw_body = raw_body
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# weather_api_task
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
4
|
+
# ( https://apimatic.io ).
|
5
|
+
|
6
|
+
module WeatherApiTask
|
7
|
+
# Base model.
|
8
|
+
class BaseModel
|
9
|
+
# Returns a Hash representation of the current object.
|
10
|
+
def to_hash
|
11
|
+
hash = {}
|
12
|
+
instance_variables.each do |name|
|
13
|
+
value = instance_variable_get(name)
|
14
|
+
name = name[1..-1]
|
15
|
+
key = self.class.names.key?(name) ? self.class.names[name] : name
|
16
|
+
if value.instance_of? Array
|
17
|
+
hash[key] = value.map { |v| v.is_a?(BaseModel) ? v.to_hash : v }
|
18
|
+
elsif value.instance_of? Hash
|
19
|
+
hash[key] = {}
|
20
|
+
value.each do |k, v|
|
21
|
+
hash[key][k] = v.is_a?(BaseModel) ? v.to_hash : v
|
22
|
+
end
|
23
|
+
else
|
24
|
+
hash[key] = value.is_a?(BaseModel) ? value.to_hash : value
|
25
|
+
end
|
26
|
+
end
|
27
|
+
hash
|
28
|
+
end
|
29
|
+
|
30
|
+
# Returns a JSON representation of the curent object.
|
31
|
+
def to_json(options = {})
|
32
|
+
hash = to_hash
|
33
|
+
hash.to_json(options)
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,69 @@
|
|
1
|
+
# weather_api_task
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
4
|
+
# ( https://apimatic.io ).
|
5
|
+
|
6
|
+
module WeatherApiTask
|
7
|
+
# CityWeather Model.
|
8
|
+
class CityWeather < BaseModel
|
9
|
+
# TODO: Write general description for this method
|
10
|
+
# @return [String]
|
11
|
+
attr_accessor :message
|
12
|
+
|
13
|
+
# TODO: Write general description for this method
|
14
|
+
# @return [String]
|
15
|
+
attr_accessor :cod
|
16
|
+
|
17
|
+
# TODO: Write general description for this method
|
18
|
+
# @return [Integer]
|
19
|
+
attr_accessor :count
|
20
|
+
|
21
|
+
# TODO: Write general description for this method
|
22
|
+
# @return [List of List]
|
23
|
+
attr_accessor :list
|
24
|
+
|
25
|
+
# A mapping from model property names to API property names.
|
26
|
+
def self.names
|
27
|
+
@_hash = {} if @_hash.nil?
|
28
|
+
@_hash['message'] = 'message'
|
29
|
+
@_hash['cod'] = 'cod'
|
30
|
+
@_hash['count'] = 'count'
|
31
|
+
@_hash['list'] = 'list'
|
32
|
+
@_hash
|
33
|
+
end
|
34
|
+
|
35
|
+
def initialize(message = nil,
|
36
|
+
cod = nil,
|
37
|
+
count = nil,
|
38
|
+
list = nil)
|
39
|
+
@message = message
|
40
|
+
@cod = cod
|
41
|
+
@count = count
|
42
|
+
@list = list
|
43
|
+
end
|
44
|
+
|
45
|
+
# Creates an instance of the object from a hash.
|
46
|
+
def self.from_hash(hash)
|
47
|
+
return nil unless hash
|
48
|
+
|
49
|
+
# Extract variables from the hash.
|
50
|
+
message = hash['message']
|
51
|
+
cod = hash['cod']
|
52
|
+
count = hash['count']
|
53
|
+
# Parameter is an array, so we need to iterate through it
|
54
|
+
list = nil
|
55
|
+
unless hash['list'].nil?
|
56
|
+
list = []
|
57
|
+
hash['list'].each do |structure|
|
58
|
+
list << (List.from_hash(structure) if structure)
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
# Create object from extracted values.
|
63
|
+
CityWeather.new(message,
|
64
|
+
cod,
|
65
|
+
count,
|
66
|
+
list)
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
# weather_api_task
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
4
|
+
# ( https://apimatic.io ).
|
5
|
+
|
6
|
+
module WeatherApiTask
|
7
|
+
# Clouds Model.
|
8
|
+
class Clouds < BaseModel
|
9
|
+
# TODO: Write general description for this method
|
10
|
+
# @return [Integer]
|
11
|
+
attr_accessor :all
|
12
|
+
|
13
|
+
# A mapping from model property names to API property names.
|
14
|
+
def self.names
|
15
|
+
@_hash = {} if @_hash.nil?
|
16
|
+
@_hash['all'] = 'all'
|
17
|
+
@_hash
|
18
|
+
end
|
19
|
+
|
20
|
+
def initialize(all = nil)
|
21
|
+
@all = all
|
22
|
+
end
|
23
|
+
|
24
|
+
# Creates an instance of the object from a hash.
|
25
|
+
def self.from_hash(hash)
|
26
|
+
return nil unless hash
|
27
|
+
|
28
|
+
# Extract variables from the hash.
|
29
|
+
all = hash['all']
|
30
|
+
|
31
|
+
# Create object from extracted values.
|
32
|
+
Clouds.new(all)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
# weather_api_task
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
4
|
+
# ( https://apimatic.io ).
|
5
|
+
|
6
|
+
module WeatherApiTask
|
7
|
+
# Coord Model.
|
8
|
+
class Coord < BaseModel
|
9
|
+
# TODO: Write general description for this method
|
10
|
+
# @return [Float]
|
11
|
+
attr_accessor :lat
|
12
|
+
|
13
|
+
# TODO: Write general description for this method
|
14
|
+
# @return [Float]
|
15
|
+
attr_accessor :lon
|
16
|
+
|
17
|
+
# A mapping from model property names to API property names.
|
18
|
+
def self.names
|
19
|
+
@_hash = {} if @_hash.nil?
|
20
|
+
@_hash['lat'] = 'lat'
|
21
|
+
@_hash['lon'] = 'lon'
|
22
|
+
@_hash
|
23
|
+
end
|
24
|
+
|
25
|
+
def initialize(lat = nil,
|
26
|
+
lon = nil)
|
27
|
+
@lat = lat
|
28
|
+
@lon = lon
|
29
|
+
end
|
30
|
+
|
31
|
+
# Creates an instance of the object from a hash.
|
32
|
+
def self.from_hash(hash)
|
33
|
+
return nil unless hash
|
34
|
+
|
35
|
+
# Extract variables from the hash.
|
36
|
+
lat = hash['lat']
|
37
|
+
lon = hash['lon']
|
38
|
+
|
39
|
+
# Create object from extracted values.
|
40
|
+
Coord.new(lat,
|
41
|
+
lon)
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,132 @@
|
|
1
|
+
# weather_api_task
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
4
|
+
# ( https://apimatic.io ).
|
5
|
+
|
6
|
+
module WeatherApiTask
|
7
|
+
# List Model.
|
8
|
+
class List < BaseModel
|
9
|
+
# TODO: Write general description for this method
|
10
|
+
# @return [Integer]
|
11
|
+
attr_accessor :id
|
12
|
+
|
13
|
+
# TODO: Write general description for this method
|
14
|
+
# @return [String]
|
15
|
+
attr_accessor :name
|
16
|
+
|
17
|
+
# TODO: Write general description for this method
|
18
|
+
# @return [Coord]
|
19
|
+
attr_accessor :coord
|
20
|
+
|
21
|
+
# TODO: Write general description for this method
|
22
|
+
# @return [Main]
|
23
|
+
attr_accessor :main
|
24
|
+
|
25
|
+
# TODO: Write general description for this method
|
26
|
+
# @return [Integer]
|
27
|
+
attr_accessor :dt
|
28
|
+
|
29
|
+
# TODO: Write general description for this method
|
30
|
+
# @return [Wind]
|
31
|
+
attr_accessor :wind
|
32
|
+
|
33
|
+
# TODO: Write general description for this method
|
34
|
+
# @return [Sys]
|
35
|
+
attr_accessor :sys
|
36
|
+
|
37
|
+
# TODO: Write general description for this method
|
38
|
+
# @return [Rain]
|
39
|
+
attr_accessor :rain
|
40
|
+
|
41
|
+
# TODO: Write general description for this method
|
42
|
+
# @return [String]
|
43
|
+
attr_accessor :snow
|
44
|
+
|
45
|
+
# TODO: Write general description for this method
|
46
|
+
# @return [Clouds]
|
47
|
+
attr_accessor :clouds
|
48
|
+
|
49
|
+
# TODO: Write general description for this method
|
50
|
+
# @return [List of Weather]
|
51
|
+
attr_accessor :weather
|
52
|
+
|
53
|
+
# A mapping from model property names to API property names.
|
54
|
+
def self.names
|
55
|
+
@_hash = {} if @_hash.nil?
|
56
|
+
@_hash['id'] = 'id'
|
57
|
+
@_hash['name'] = 'name'
|
58
|
+
@_hash['coord'] = 'coord'
|
59
|
+
@_hash['main'] = 'main'
|
60
|
+
@_hash['dt'] = 'dt'
|
61
|
+
@_hash['wind'] = 'wind'
|
62
|
+
@_hash['sys'] = 'sys'
|
63
|
+
@_hash['rain'] = 'rain'
|
64
|
+
@_hash['snow'] = 'snow'
|
65
|
+
@_hash['clouds'] = 'clouds'
|
66
|
+
@_hash['weather'] = 'weather'
|
67
|
+
@_hash
|
68
|
+
end
|
69
|
+
|
70
|
+
def initialize(id = nil,
|
71
|
+
name = nil,
|
72
|
+
coord = nil,
|
73
|
+
main = nil,
|
74
|
+
dt = nil,
|
75
|
+
wind = nil,
|
76
|
+
sys = nil,
|
77
|
+
clouds = nil,
|
78
|
+
weather = nil,
|
79
|
+
rain = nil,
|
80
|
+
snow = nil)
|
81
|
+
@id = id
|
82
|
+
@name = name
|
83
|
+
@coord = coord
|
84
|
+
@main = main
|
85
|
+
@dt = dt
|
86
|
+
@wind = wind
|
87
|
+
@sys = sys
|
88
|
+
@rain = rain
|
89
|
+
@snow = snow
|
90
|
+
@clouds = clouds
|
91
|
+
@weather = weather
|
92
|
+
end
|
93
|
+
|
94
|
+
# Creates an instance of the object from a hash.
|
95
|
+
def self.from_hash(hash)
|
96
|
+
return nil unless hash
|
97
|
+
|
98
|
+
# Extract variables from the hash.
|
99
|
+
id = hash['id']
|
100
|
+
name = hash['name']
|
101
|
+
coord = Coord.from_hash(hash['coord']) if hash['coord']
|
102
|
+
main = Main.from_hash(hash['main']) if hash['main']
|
103
|
+
dt = hash['dt']
|
104
|
+
wind = Wind.from_hash(hash['wind']) if hash['wind']
|
105
|
+
sys = Sys.from_hash(hash['sys']) if hash['sys']
|
106
|
+
clouds = Clouds.from_hash(hash['clouds']) if hash['clouds']
|
107
|
+
# Parameter is an array, so we need to iterate through it
|
108
|
+
weather = nil
|
109
|
+
unless hash['weather'].nil?
|
110
|
+
weather = []
|
111
|
+
hash['weather'].each do |structure|
|
112
|
+
weather << (Weather.from_hash(structure) if structure)
|
113
|
+
end
|
114
|
+
end
|
115
|
+
rain = Rain.from_hash(hash['rain']) if hash['rain']
|
116
|
+
snow = hash['snow']
|
117
|
+
|
118
|
+
# Create object from extracted values.
|
119
|
+
List.new(id,
|
120
|
+
name,
|
121
|
+
coord,
|
122
|
+
main,
|
123
|
+
dt,
|
124
|
+
wind,
|
125
|
+
sys,
|
126
|
+
clouds,
|
127
|
+
weather,
|
128
|
+
rain,
|
129
|
+
snow)
|
130
|
+
end
|
131
|
+
end
|
132
|
+
end
|
@@ -0,0 +1,80 @@
|
|
1
|
+
# weather_api_task
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
4
|
+
# ( https://apimatic.io ).
|
5
|
+
|
6
|
+
module WeatherApiTask
|
7
|
+
# Main Model.
|
8
|
+
class Main < BaseModel
|
9
|
+
# TODO: Write general description for this method
|
10
|
+
# @return [Float]
|
11
|
+
attr_accessor :temp
|
12
|
+
|
13
|
+
# TODO: Write general description for this method
|
14
|
+
# @return [Float]
|
15
|
+
attr_accessor :feels_like
|
16
|
+
|
17
|
+
# TODO: Write general description for this method
|
18
|
+
# @return [Float]
|
19
|
+
attr_accessor :temp_min
|
20
|
+
|
21
|
+
# TODO: Write general description for this method
|
22
|
+
# @return [Float]
|
23
|
+
attr_accessor :temp_max
|
24
|
+
|
25
|
+
# TODO: Write general description for this method
|
26
|
+
# @return [Integer]
|
27
|
+
attr_accessor :pressure
|
28
|
+
|
29
|
+
# TODO: Write general description for this method
|
30
|
+
# @return [Integer]
|
31
|
+
attr_accessor :humidity
|
32
|
+
|
33
|
+
# A mapping from model property names to API property names.
|
34
|
+
def self.names
|
35
|
+
@_hash = {} if @_hash.nil?
|
36
|
+
@_hash['temp'] = 'temp'
|
37
|
+
@_hash['feels_like'] = 'feels_like'
|
38
|
+
@_hash['temp_min'] = 'temp_min'
|
39
|
+
@_hash['temp_max'] = 'temp_max'
|
40
|
+
@_hash['pressure'] = 'pressure'
|
41
|
+
@_hash['humidity'] = 'humidity'
|
42
|
+
@_hash
|
43
|
+
end
|
44
|
+
|
45
|
+
def initialize(temp = nil,
|
46
|
+
feels_like = nil,
|
47
|
+
temp_min = nil,
|
48
|
+
temp_max = nil,
|
49
|
+
pressure = nil,
|
50
|
+
humidity = nil)
|
51
|
+
@temp = temp
|
52
|
+
@feels_like = feels_like
|
53
|
+
@temp_min = temp_min
|
54
|
+
@temp_max = temp_max
|
55
|
+
@pressure = pressure
|
56
|
+
@humidity = humidity
|
57
|
+
end
|
58
|
+
|
59
|
+
# Creates an instance of the object from a hash.
|
60
|
+
def self.from_hash(hash)
|
61
|
+
return nil unless hash
|
62
|
+
|
63
|
+
# Extract variables from the hash.
|
64
|
+
temp = hash['temp']
|
65
|
+
feels_like = hash['feels_like']
|
66
|
+
temp_min = hash['temp_min']
|
67
|
+
temp_max = hash['temp_max']
|
68
|
+
pressure = hash['pressure']
|
69
|
+
humidity = hash['humidity']
|
70
|
+
|
71
|
+
# Create object from extracted values.
|
72
|
+
Main.new(temp,
|
73
|
+
feels_like,
|
74
|
+
temp_min,
|
75
|
+
temp_max,
|
76
|
+
pressure,
|
77
|
+
humidity)
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
# weather_api_task
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
4
|
+
# ( https://apimatic.io ).
|
5
|
+
|
6
|
+
module WeatherApiTask
|
7
|
+
# Rain Model.
|
8
|
+
class Rain < BaseModel
|
9
|
+
# TODO: Write general description for this method
|
10
|
+
# @return [Float]
|
11
|
+
attr_accessor :1h
|
12
|
+
|
13
|
+
# A mapping from model property names to API property names.
|
14
|
+
def self.names
|
15
|
+
@_hash = {} if @_hash.nil?
|
16
|
+
@_hash['1h'] = '1h'
|
17
|
+
@_hash
|
18
|
+
end
|
19
|
+
|
20
|
+
def initialize(1h = nil)
|
21
|
+
@1h = 1h
|
22
|
+
end
|
23
|
+
|
24
|
+
# Creates an instance of the object from a hash.
|
25
|
+
def self.from_hash(hash)
|
26
|
+
return nil unless hash
|
27
|
+
|
28
|
+
# Extract variables from the hash.
|
29
|
+
1h = hash['1h']
|
30
|
+
|
31
|
+
# Create object from extracted values.
|
32
|
+
Rain.new(1h)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|