weather_API_Assignment 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.
Files changed (30) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +28 -0
  3. data/README.md +187 -0
  4. data/lib/weather_api_assignment.rb +46 -0
  5. data/lib/weather_api_assignment/api_helper.rb +275 -0
  6. data/lib/weather_api_assignment/configuration.rb +24 -0
  7. data/lib/weather_api_assignment/controllers/base_controller.rb +51 -0
  8. data/lib/weather_api_assignment/controllers/weather_ap_is_controller.rb +121 -0
  9. data/lib/weather_api_assignment/exceptions/api_exception.rb +20 -0
  10. data/lib/weather_api_assignment/http/auth/custom_query_auth.rb +16 -0
  11. data/lib/weather_api_assignment/http/faraday_client.rb +64 -0
  12. data/lib/weather_api_assignment/http/http_call_back.rb +24 -0
  13. data/lib/weather_api_assignment/http/http_client.rb +104 -0
  14. data/lib/weather_api_assignment/http/http_context.rb +20 -0
  15. data/lib/weather_api_assignment/http/http_method_enum.rb +13 -0
  16. data/lib/weather_api_assignment/http/http_request.rb +50 -0
  17. data/lib/weather_api_assignment/http/http_response.rb +23 -0
  18. data/lib/weather_api_assignment/models/base_model.rb +36 -0
  19. data/lib/weather_api_assignment/models/clouds.rb +35 -0
  20. data/lib/weather_api_assignment/models/coord.rb +44 -0
  21. data/lib/weather_api_assignment/models/lang_enum.rb +20 -0
  22. data/lib/weather_api_assignment/models/main.rb +98 -0
  23. data/lib/weather_api_assignment/models/mode_enum.rb +20 -0
  24. data/lib/weather_api_assignment/models/sys.rb +80 -0
  25. data/lib/weather_api_assignment/models/units_enum.rb +20 -0
  26. data/lib/weather_api_assignment/models/weather.rb +62 -0
  27. data/lib/weather_api_assignment/models/weather_api_response.rb +150 -0
  28. data/lib/weather_api_assignment/models/wind.rb +44 -0
  29. data/lib/weather_api_assignment/weather_api_assignment_client.rb +27 -0
  30. metadata +167 -0
@@ -0,0 +1,62 @@
1
+ # weather_api_assignment
2
+ #
3
+ # This file was automatically generated by APIMATIC
4
+ # v2.0 ( https://apimatic.io ).
5
+
6
+ module WeatherApiAssignment
7
+ # This model contains the weather information
8
+ class Weather < BaseModel
9
+ # This field contains the identifier
10
+ # @return [Integer]
11
+ attr_accessor :id
12
+
13
+ # This field contains the type of weather.
14
+ # @return [String]
15
+ attr_accessor :main
16
+
17
+ # This field contains the description of weather type in detail
18
+ # @return [String]
19
+ attr_accessor :description
20
+
21
+ # This field contains icon
22
+ # @return [String]
23
+ attr_accessor :icon
24
+
25
+ # A mapping from model property names to API property names.
26
+ def self.names
27
+ @_hash = {} if @_hash.nil?
28
+ @_hash['id'] = 'id'
29
+ @_hash['main'] = 'main'
30
+ @_hash['description'] = 'description'
31
+ @_hash['icon'] = 'icon'
32
+ @_hash
33
+ end
34
+
35
+ def initialize(id = nil,
36
+ main = nil,
37
+ description = nil,
38
+ icon = nil)
39
+ @id = id
40
+ @main = main
41
+ @description = description
42
+ @icon = icon
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
+ id = hash['id']
51
+ main = hash['main']
52
+ description = hash['description']
53
+ icon = hash['icon']
54
+
55
+ # Create object from extracted values.
56
+ Weather.new(id,
57
+ main,
58
+ description,
59
+ icon)
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,150 @@
1
+ # weather_api_assignment
2
+ #
3
+ # This file was automatically generated by APIMATIC
4
+ # v2.0 ( https://apimatic.io ).
5
+
6
+ module WeatherApiAssignment
7
+ # Weather API overall response model
8
+ class WeatherAPIResponse < BaseModel
9
+ # This field contains information of longitude and latitude
10
+ # @return [Coord]
11
+ attr_accessor :coord
12
+
13
+ # This field contains list of weather information object
14
+ # @return [List of Weather]
15
+ attr_accessor :weather
16
+
17
+ # This field contains the base
18
+ # @return [String]
19
+ attr_accessor :base
20
+
21
+ # This field contains the digital stats of current weather
22
+ # @return [Main]
23
+ attr_accessor :main
24
+
25
+ # This field contains the visibility value
26
+ # @return [Long]
27
+ attr_accessor :visibility
28
+
29
+ # This field contains the wind information of current weather
30
+ # @return [Wind]
31
+ attr_accessor :wind
32
+
33
+ # This field contains the information about clouds
34
+ # @return [Clouds]
35
+ attr_accessor :clouds
36
+
37
+ # This is current date and time
38
+ # @return [Long]
39
+ attr_accessor :dt
40
+
41
+ # This field contains information about country, sunrise and sunset
42
+ # @return [Sys]
43
+ attr_accessor :sys
44
+
45
+ # This is an identifier
46
+ # @return [Long]
47
+ attr_accessor :id
48
+
49
+ # This is the name of city
50
+ # @return [String]
51
+ attr_accessor :name
52
+
53
+ # This information is about cod
54
+ # @return [Integer]
55
+ attr_accessor :cod
56
+
57
+ # This field contains information of time zone Id of city
58
+ # @return [Integer]
59
+ attr_accessor :timezone
60
+
61
+ # A mapping from model property names to API property names.
62
+ def self.names
63
+ @_hash = {} if @_hash.nil?
64
+ @_hash['coord'] = 'coord'
65
+ @_hash['weather'] = 'weather'
66
+ @_hash['base'] = 'base'
67
+ @_hash['main'] = 'main'
68
+ @_hash['visibility'] = 'visibility'
69
+ @_hash['wind'] = 'wind'
70
+ @_hash['clouds'] = 'clouds'
71
+ @_hash['dt'] = 'dt'
72
+ @_hash['sys'] = 'sys'
73
+ @_hash['id'] = 'id'
74
+ @_hash['name'] = 'name'
75
+ @_hash['cod'] = 'cod'
76
+ @_hash['timezone'] = 'timezone'
77
+ @_hash
78
+ end
79
+
80
+ def initialize(coord = nil,
81
+ weather = nil,
82
+ base = nil,
83
+ main = nil,
84
+ wind = nil,
85
+ clouds = nil,
86
+ dt = nil,
87
+ sys = nil,
88
+ id = nil,
89
+ name = nil,
90
+ cod = nil,
91
+ visibility = nil,
92
+ timezone = nil)
93
+ @coord = coord
94
+ @weather = weather
95
+ @base = base
96
+ @main = main
97
+ @visibility = visibility
98
+ @wind = wind
99
+ @clouds = clouds
100
+ @dt = dt
101
+ @sys = sys
102
+ @id = id
103
+ @name = name
104
+ @cod = cod
105
+ @timezone = timezone
106
+ end
107
+
108
+ # Creates an instance of the object from a hash.
109
+ def self.from_hash(hash)
110
+ return nil unless hash
111
+
112
+ # Extract variables from the hash.
113
+ coord = Coord.from_hash(hash['coord']) if hash['coord']
114
+ # Parameter is an array, so we need to iterate through it
115
+ weather = nil
116
+ unless hash['weather'].nil?
117
+ weather = []
118
+ hash['weather'].each do |structure|
119
+ weather << (Weather.from_hash(structure) if structure)
120
+ end
121
+ end
122
+ base = hash['base']
123
+ main = Main.from_hash(hash['main']) if hash['main']
124
+ wind = Wind.from_hash(hash['wind']) if hash['wind']
125
+ clouds = Clouds.from_hash(hash['clouds']) if hash['clouds']
126
+ dt = hash['dt']
127
+ sys = Sys.from_hash(hash['sys']) if hash['sys']
128
+ id = hash['id']
129
+ name = hash['name']
130
+ cod = hash['cod']
131
+ visibility = hash['visibility']
132
+ timezone = hash['timezone']
133
+
134
+ # Create object from extracted values.
135
+ WeatherAPIResponse.new(coord,
136
+ weather,
137
+ base,
138
+ main,
139
+ wind,
140
+ clouds,
141
+ dt,
142
+ sys,
143
+ id,
144
+ name,
145
+ cod,
146
+ visibility,
147
+ timezone)
148
+ end
149
+ end
150
+ end
@@ -0,0 +1,44 @@
1
+ # weather_api_assignment
2
+ #
3
+ # This file was automatically generated by APIMATIC
4
+ # v2.0 ( https://apimatic.io ).
5
+
6
+ module WeatherApiAssignment
7
+ # This model contains information of wind stats.
8
+ class Wind < BaseModel
9
+ # This field contains the wind speed
10
+ # @return [Float]
11
+ attr_accessor :speed
12
+
13
+ # This field contains the direction of wind
14
+ # @return [Float]
15
+ attr_accessor :deg
16
+
17
+ # A mapping from model property names to API property names.
18
+ def self.names
19
+ @_hash = {} if @_hash.nil?
20
+ @_hash['speed'] = 'speed'
21
+ @_hash['deg'] = 'deg'
22
+ @_hash
23
+ end
24
+
25
+ def initialize(speed = nil,
26
+ deg = nil)
27
+ @speed = speed
28
+ @deg = deg
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
+ speed = hash['speed']
37
+ deg = hash['deg']
38
+
39
+ # Create object from extracted values.
40
+ Wind.new(speed,
41
+ deg)
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,27 @@
1
+ # weather_api_assignment
2
+ #
3
+ # This file was automatically generated by APIMATIC
4
+ # v2.0 ( https://apimatic.io ).
5
+
6
+ module WeatherApiAssignment
7
+ # weather_api_assignment client class.
8
+ class WeatherApiAssignmentClient
9
+ # Singleton access to weather_ap_is controller.
10
+ # @return [WeatherAPIsController] Returns the controller instance.
11
+ def weather_ap_is
12
+ WeatherAPIsController.instance
13
+ end
14
+
15
+ # Returns the configuration class for easy access.
16
+ # @return [Configuration] Returns the actual configuration class.
17
+ def config
18
+ Configuration
19
+ end
20
+
21
+ # Initializer with authentication and configuration parameters.
22
+ def initialize(appid: '178db63aed00f6e4daaa06009b04438b')
23
+ Configuration.appid = appid if
24
+ appid
25
+ end
26
+ end
27
+ end
metadata ADDED
@@ -0,0 +1,167 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: weather_API_Assignment
3
+ version: !ruby/object:Gem::Version
4
+ version: '1.0'
5
+ platform: ruby
6
+ authors:
7
+ - APIMatic SDK Generator
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2020-12-16 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: logging
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '2.0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '2.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: faraday
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '0.10'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '0.10'
41
+ - !ruby/object:Gem::Dependency
42
+ name: faraday_middleware
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 0.13.1
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 0.13.1
55
+ - !ruby/object:Gem::Dependency
56
+ name: test-unit
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '3.1'
62
+ - - ">="
63
+ - !ruby/object:Gem::Version
64
+ version: 3.1.5
65
+ type: :runtime
66
+ prerelease: false
67
+ version_requirements: !ruby/object:Gem::Requirement
68
+ requirements:
69
+ - - "~>"
70
+ - !ruby/object:Gem::Version
71
+ version: '3.1'
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: 3.1.5
75
+ - !ruby/object:Gem::Dependency
76
+ name: certifi
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: '2016'
82
+ type: :runtime
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: '2016'
89
+ - !ruby/object:Gem::Dependency
90
+ name: faraday-http-cache
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: '1.2'
96
+ - - ">="
97
+ - !ruby/object:Gem::Version
98
+ version: 1.2.2
99
+ type: :runtime
100
+ prerelease: false
101
+ version_requirements: !ruby/object:Gem::Requirement
102
+ requirements:
103
+ - - "~>"
104
+ - !ruby/object:Gem::Version
105
+ version: '1.2'
106
+ - - ">="
107
+ - !ruby/object:Gem::Version
108
+ version: 1.2.2
109
+ description: This API will provide latest information of current weather
110
+ email: support@apimatic.io
111
+ executables: []
112
+ extensions: []
113
+ extra_rdoc_files: []
114
+ files:
115
+ - LICENSE
116
+ - README.md
117
+ - lib/weather_api_assignment.rb
118
+ - lib/weather_api_assignment/api_helper.rb
119
+ - lib/weather_api_assignment/configuration.rb
120
+ - lib/weather_api_assignment/controllers/base_controller.rb
121
+ - lib/weather_api_assignment/controllers/weather_ap_is_controller.rb
122
+ - lib/weather_api_assignment/exceptions/api_exception.rb
123
+ - lib/weather_api_assignment/http/auth/custom_query_auth.rb
124
+ - lib/weather_api_assignment/http/faraday_client.rb
125
+ - lib/weather_api_assignment/http/http_call_back.rb
126
+ - lib/weather_api_assignment/http/http_client.rb
127
+ - lib/weather_api_assignment/http/http_context.rb
128
+ - lib/weather_api_assignment/http/http_method_enum.rb
129
+ - lib/weather_api_assignment/http/http_request.rb
130
+ - lib/weather_api_assignment/http/http_response.rb
131
+ - lib/weather_api_assignment/models/base_model.rb
132
+ - lib/weather_api_assignment/models/clouds.rb
133
+ - lib/weather_api_assignment/models/coord.rb
134
+ - lib/weather_api_assignment/models/lang_enum.rb
135
+ - lib/weather_api_assignment/models/main.rb
136
+ - lib/weather_api_assignment/models/mode_enum.rb
137
+ - lib/weather_api_assignment/models/sys.rb
138
+ - lib/weather_api_assignment/models/units_enum.rb
139
+ - lib/weather_api_assignment/models/weather.rb
140
+ - lib/weather_api_assignment/models/weather_api_response.rb
141
+ - lib/weather_api_assignment/models/wind.rb
142
+ - lib/weather_api_assignment/weather_api_assignment_client.rb
143
+ homepage: https://apimatic.io
144
+ licenses:
145
+ - MIT
146
+ metadata: {}
147
+ post_install_message:
148
+ rdoc_options: []
149
+ require_paths:
150
+ - lib
151
+ required_ruby_version: !ruby/object:Gem::Requirement
152
+ requirements:
153
+ - - "~>"
154
+ - !ruby/object:Gem::Version
155
+ version: '2.0'
156
+ required_rubygems_version: !ruby/object:Gem::Requirement
157
+ requirements:
158
+ - - ">="
159
+ - !ruby/object:Gem::Version
160
+ version: '0'
161
+ requirements: []
162
+ rubyforge_project:
163
+ rubygems_version: 2.7.6
164
+ signing_key:
165
+ specification_version: 4
166
+ summary: weather_api_assignment
167
+ test_files: []