purple_air_api 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -18,9 +18,10 @@ module PurpleAirApi
18
18
  end
19
19
 
20
20
  # Creates a HTTP friendly options hash depending on your inputs
21
- # @!method initialize(client:, **options)
21
+ # @!method initialize(client:, sensor_index:, read_key: nil)
22
22
  # @param client [Faraday::Connection] Your HTTP client initialized in Client
23
- # @param options [Hash] Your HTTP options for the request.
23
+ # @param sensor_index [Integer] The sensor_index for the sensor you want to request data from.
24
+ # @param read_key [String] The read_key for the sensor you want to request data from if it is a private sensor.
24
25
 
25
26
  def initialize(client:, sensor_index:, read_key: nil)
26
27
  @http_client = client
@@ -43,9 +44,9 @@ module PurpleAirApi
43
44
  json_response
44
45
  end
45
46
 
46
- # Takes the raw response from PurpleAir and parses the JSON.
47
+ # Takes the raw response from PurpleAir and parses the JSON into a Hash.
47
48
  # @!method json_response
48
- # @return [Json]
49
+ # @return [Hash]
49
50
  # @example json_response example
50
51
  # response.json_response
51
52
  # {
@@ -70,9 +70,9 @@ module PurpleAirApi
70
70
  @parsed_response ||= parse_response
71
71
  end
72
72
 
73
- # Takes the raw response from PurpleAir and parses the JSON.
73
+ # Takes the raw response from PurpleAir and parses the JSON into a Hash.
74
74
  # @!method json_response
75
- # @return [Json]
75
+ # @return [Hash]
76
76
  # @example json_response example
77
77
  # response.json_response
78
78
  # {
@@ -130,20 +130,22 @@ module PurpleAirApi
130
130
  def location_type(location_type)
131
131
  return {} if location_type.nil?
132
132
 
133
- unless location_type.instance_of?(Array) && location_type.first.instance_of?(String)
134
- raise OptionsError,
135
- "location_type must be an array of strings specifying either ['inside'], ['outside'], or both"
136
- end
137
-
138
- location_type.map!(&:downcase)
133
+ location_type_error unless location_type.instance_of?(Array) && location_type.first.instance_of?(String)
139
134
 
140
- location_type_parameter(location_type)
135
+ location_type_parameter(location_type.map(&:downcase))
141
136
  end
142
137
 
143
138
  def location_type_parameter(location_type)
144
139
  return {} if location_type.include?('outside') && location_type.include?('inside')
145
140
  return { location_type: 1 } if location_type.include?('inside')
146
141
  return { location_type: 0 } if location_type.include?('outside')
142
+
143
+ location_type_error
144
+ end
145
+
146
+ def location_type_error
147
+ raise OptionsError,
148
+ "location_type must be an array of strings specifying either ['inside'], ['outside'], or both"
147
149
  end
148
150
 
149
151
  def modified_since(timestamp)
@@ -2,5 +2,5 @@
2
2
 
3
3
  module PurpleAirApi
4
4
  # The gem version
5
- VERSION = '0.1.0'
5
+ VERSION = '0.1.1'
6
6
  end
@@ -8,16 +8,19 @@ Gem::Specification.new do |spec|
8
8
  spec.authors = ['Dylan Kiselbach']
9
9
  spec.email = ['dylankiselbach@gmail.com']
10
10
 
11
- spec.summary = 'This is an library to assist in interacting with the PurpleAir API.'
12
- spec.description = 'To use this gem you will need your own read and write key from PurpleAir which can be retrieved
13
- by contacting their support team https://www2.purpleair.com/pages/contact-us.'
11
+ spec.summary = 'This is a Ruby wrapper for the PurpleAir API.'
12
+ spec.description = 'This gem is a API wrapper for the PurpleAir API intended to help in making requests
13
+ to PurpleAir. Please refer to the documentation for details on usage and how to get
14
+ started using this gem.'
14
15
  spec.homepage = 'https://github.com/dkiselbach/purple_air_api'
15
16
  spec.license = 'MIT'
16
17
  spec.required_ruby_version = Gem::Requirement.new('>= 2.7.0')
17
18
 
18
19
  spec.metadata['homepage_uri'] = spec.homepage
19
- spec.metadata['source_code_uri'] = 'https://github.com/dkiselbach/purple_air_api.'
20
- spec.metadata['changelog_uri'] = 'https://github.com/dkiselbach/purple_air_api.'
20
+ spec.metadata['source_code_uri'] = 'https://github.com/dkiselbach/purple_air_api'
21
+ spec.metadata['changelog_uri'] = 'https://github.com/dkiselbach/purple_air_api'
22
+
23
+ spec.extra_rdoc_files = ['README.md']
21
24
 
22
25
  # Specify which files should be added to the gem when it is released.
23
26
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: purple_air_api
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
  - Dylan Kiselbach
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-03-06 00:00:00.000000000 Z
11
+ date: 2021-03-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -39,13 +39,15 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0.5'
41
41
  description: |-
42
- To use this gem you will need your own read and write key from PurpleAir which can be retrieved
43
- by contacting their support team https://www2.purpleair.com/pages/contact-us.
42
+ This gem is a API wrapper for the PurpleAir API intended to help in making requests
43
+ to PurpleAir. Please refer to the documentation for details on usage and how to get
44
+ started using this gem.
44
45
  email:
45
46
  - dylankiselbach@gmail.com
46
47
  executables: []
47
48
  extensions: []
48
- extra_rdoc_files: []
49
+ extra_rdoc_files:
50
+ - README.md
49
51
  files:
50
52
  - ".gitignore"
51
53
  - ".rspec"
@@ -58,6 +60,33 @@ files:
58
60
  - Rakefile
59
61
  - bin/console
60
62
  - bin/setup
63
+ - docs/PurpleAirApi.html
64
+ - docs/PurpleAirApi/V1.html
65
+ - docs/PurpleAirApi/V1/ApiError.html
66
+ - docs/PurpleAirApi/V1/ApiKeyError.html
67
+ - docs/PurpleAirApi/V1/BaseError.html
68
+ - docs/PurpleAirApi/V1/Client.html
69
+ - docs/PurpleAirApi/V1/GetSensor.html
70
+ - docs/PurpleAirApi/V1/GetSensors.html
71
+ - docs/PurpleAirApi/V1/MissingJsonPayloadError.html
72
+ - docs/PurpleAirApi/V1/NotFoundError.html
73
+ - docs/PurpleAirApi/V1/OptionsError.html
74
+ - docs/PurpleAirApi/V1/RaiseHttpException.html
75
+ - docs/PurpleAirApi/V1/ServerError.html
76
+ - docs/_index.html
77
+ - docs/class_list.html
78
+ - docs/css/common.css
79
+ - docs/css/full_list.css
80
+ - docs/css/style.css
81
+ - docs/file.README.html
82
+ - docs/file_list.html
83
+ - docs/frames.html
84
+ - docs/index.html
85
+ - docs/js/app.js
86
+ - docs/js/full_list.js
87
+ - docs/js/jquery.js
88
+ - docs/method_list.html
89
+ - docs/top-level-namespace.html
61
90
  - lib/purple_air_api.rb
62
91
  - lib/purple_air_api/V1/client.rb
63
92
  - lib/purple_air_api/V1/errors.rb
@@ -72,8 +101,8 @@ licenses:
72
101
  - MIT
73
102
  metadata:
74
103
  homepage_uri: https://github.com/dkiselbach/purple_air_api
75
- source_code_uri: https://github.com/dkiselbach/purple_air_api.
76
- changelog_uri: https://github.com/dkiselbach/purple_air_api.
104
+ source_code_uri: https://github.com/dkiselbach/purple_air_api
105
+ changelog_uri: https://github.com/dkiselbach/purple_air_api
77
106
  post_install_message:
78
107
  rdoc_options: []
79
108
  require_paths:
@@ -92,5 +121,5 @@ requirements: []
92
121
  rubygems_version: 3.2.3
93
122
  signing_key:
94
123
  specification_version: 4
95
- summary: This is an library to assist in interacting with the PurpleAir API.
124
+ summary: This is a Ruby wrapper for the PurpleAir API.
96
125
  test_files: []