portfoliomanager-rb 0.0.6 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e310075331d242ff44cca8e3bca7bf00bc0955bfbfe1b6d9937e012bc2885c6f
4
- data.tar.gz: 24be387d4ba38f8b1f78ce6ceaada3cc47252501bfce7ca57b43dc5326fd0a2c
3
+ metadata.gz: 96b9ef75d20a06c5b4b2f044194edd2f4acdf7fdb2da8c722bbc1f1d44813141
4
+ data.tar.gz: 2fa42c27c5070a90c39c44124dca00efa75bcfb8c4a61685a80b072350f641a7
5
5
  SHA512:
6
- metadata.gz: 27d006e5343af0b22823745a1885fc32437505c8826da51d49618cd1d8a10af482cb82e5f6db636ebe0b6253f6aa2ab1dada0ead99e2dd858e15315d0f7d49a7
7
- data.tar.gz: ce61c5d502631455af3ad2aef72107fc2d52a36d355499a0d1da24f3e93b4b5b1465b5852c05d18bb9bac11e13c9672312acd17bdbf7a5210883a87cd102c308
6
+ metadata.gz: 4f16514cf4ed04d006e73ddc249ac9cbaa213b9eaf68679aa6a687a4f50400459c009efe43f8d483bbe5eb44c5aa0b33aca343f3c924f583bb8c405f1b2e2dd9
7
+ data.tar.gz: 0ca1376fb8a2cefc90ed1057d5f22ac1de50d887094344e8b561191dc1c53972ad7346efa978254cf47fa343d7eb93251a1665d35f242e507de84462015d8857
data/CHANGELOG.md CHANGED
@@ -8,25 +8,44 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
8
8
  ## [Unreleased]
9
9
 
10
10
  ## [0.0.1] - 2022-02-23
11
+
11
12
  ### Added
12
13
  - Initial commit.
13
14
 
14
15
  ## [0.0.2] - 2023-11-17
16
+
15
17
  ### Changed
16
18
  - Update from v18 to v21.
17
19
 
18
20
  ## [0.0.3] - 2024-05-13
21
+
22
+ ### Changed
19
23
  - Update from v21 to v22.
20
24
 
21
25
  ## [0.0.4] - 2024-05-14
26
+
27
+ ### Changed
22
28
  - Fix return value classes for `PortfolioManager::Services::Connection::ConnectionShare::Live#accept_reject_pending_connection_requests`, `PortfolioManager::Services::Connection::ConnectionShare::Live#accept_reject_pending_meter_share_requests`, and `PortfolioManager::Services::Connection::ConnectionShare::Live#accept_reject_pending_property_share_requests` methods.
23
29
 
24
30
  ## [0.0.5] - 2024-05-15
31
+
32
+ ### Changed
25
33
  - Force encoding of HTTP response body to be UTF-8.
26
34
 
27
35
  ## [0.0.6] - 2024-05-16
36
+
37
+ ### Added
28
38
  - Add support for proxy servers.
29
39
 
40
+ ## [0.0.7] - 2024-05-31
41
+
42
+ ### Added
43
+ - Add "Custom Metrics" web services to "Property Services" (added in v22).
44
+
45
+ ### Changed
46
+ - Fix error handling in `PortfolioManager::Client::Base#request`.
47
+ - Fix return value classes for `PortfolioManager::Xml::ResponseType`.
48
+
30
49
  [Unreleased]: https://github.com/pnnl/portfoliomanager-rb/compare/v0.0.1...HEAD
31
50
  [0.0.1]: https://github.com/pnnl/portfoliomanager-rb/releases/tag/v0.0.1
32
51
  [0.0.2]: https://github.com/pnnl/portfoliomanager-rb/releases/tag/v0.0.2
@@ -34,3 +53,4 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
34
53
  [0.0.4]: https://github.com/pnnl/portfoliomanager-rb/releases/tag/v0.0.4
35
54
  [0.0.5]: https://github.com/pnnl/portfoliomanager-rb/releases/tag/v0.0.5
36
55
  [0.0.6]: https://github.com/pnnl/portfoliomanager-rb/releases/tag/v0.0.6
56
+ [0.0.7]: https://github.com/pnnl/portfoliomanager-rb/releases/tag/v0.0.7
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- portfoliomanager-rb (0.0.6)
4
+ portfoliomanager-rb (0.0.7)
5
5
  logger-application (~> 0.0.2)
6
6
  soap4r-ng (~> 2.0.4)
7
7
 
@@ -85,6 +85,7 @@ module PortfolioManager
85
85
  # @return [Object]
86
86
  # @raise [PortfolioManager::HTTPBasicCredentialsNotFoundError]
87
87
  # @raise [PortfolioManager::HTTPResponseError]
88
+ # @see https://portfoliomanager.energystar.gov/webservices/home/errors
88
89
  def request(verb = Net::HTTP::Get, path = "/", params = {}, initheader = {}, obj = nil, elename = nil, klass = nil, **options)
89
90
  uri = url_for(path, params)
90
91
 
@@ -138,7 +139,7 @@ module PortfolioManager
138
139
  }.join("\n")) if @debug
139
140
 
140
141
  if response_body_utf8.start_with?("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>")
141
- PortfolioManager::Mapper.instance.xml2obj(response_body_utf8, klass)
142
+ PortfolioManager::Mapper.instance.xml2obj(response_body_utf8, response.code.start_with?("2") ? klass : PortfolioManager::Xml::ResponseType)
142
143
  else
143
144
  raise PortfolioManager::HTTPResponseError.new(response)
144
145
  end
@@ -85,7 +85,7 @@ module PortfolioManager
85
85
  # This web service retrieves your account information that includes
86
86
  # your username, password, and contact information.
87
87
  #
88
- # @return [PortfolioManager::Xml::AccountType]
88
+ # @return [PortfolioManager::Xml::AccountType, PortfolioManager::Xml::ResponseType]
89
89
  # @raise [PortfolioManager::HTTPBasicCredentialsNotFoundError]
90
90
  # @raise [PortfolioManager::HTTPResponseError]
91
91
  # @see https://portfoliomanager.energystar.gov/webservices/home/api/account/account/get
@@ -100,7 +100,7 @@ module PortfolioManager
100
100
  # billboard display, see the "Account" and "Property" documentation
101
101
  # sections.
102
102
  #
103
- # @return [PortfolioManager::Xml::BillboardMetricsType]
103
+ # @return [PortfolioManager::Xml::BillboardMetricsType, PortfolioManager::Xml::ResponseType]
104
104
  # @raise [PortfolioManager::HTTPBasicCredentialsNotFoundError]
105
105
  # @raise [PortfolioManager::HTTPResponseError]
106
106
  # @see https://portfoliomanager.energystar.gov/webservices/home/api/account/billboardMetricList/get
@@ -160,7 +160,7 @@ module PortfolioManager
160
160
  # identifier to the newly created account and a link to the
161
161
  # corresponding web service to retrieve it.
162
162
  #
163
- # @param account [PortfolioManager::Xml::AccountType, PortfolioManager::Xml::ResponseType]
163
+ # @param account [PortfolioManager::Xml::AccountType]
164
164
  # @return [PortfolioManager::Xml::ResponseType]
165
165
  # @raise [PortfolioManager::HTTPResponseError]
166
166
  # @see https://portfoliomanager.energystar.gov/webservices/home/test/api/account/account/post
@@ -181,7 +181,7 @@ module PortfolioManager
181
181
  # Note that there is no validation performed on the specified display
182
182
  # order.
183
183
  #
184
- # @param custom_field [PortfolioManager::Xml::CustomField, PortfolioManager::Xml::ResponseType]
184
+ # @param custom_field [PortfolioManager::Xml::CustomField]
185
185
  # @return [PortfolioManager::Xml::ResponseType]
186
186
  # @raise [PortfolioManager::HTTPBasicCredentialsNotFoundError]
187
187
  # @raise [PortfolioManager::HTTPResponseError]
@@ -268,7 +268,7 @@ module PortfolioManager
268
268
  # data exchange service offerings such as terms and conditions,
269
269
  # supported fuel types, etc.
270
270
  #
271
- # @return [PortfolioManager::Xml::DataExchangeSettings]
271
+ # @return [PortfolioManager::Xml::DataExchangeSettings, PortfolioManager::Xml::ResponseType]
272
272
  # @raise [PortfolioManager::HTTPBasicCredentialsNotFoundError]
273
273
  # @raise [PortfolioManager::HTTPResponseError]
274
274
  # @see https://portfoliomanager.energystar.gov/webservices/home/api/account/settings/get
@@ -38,7 +38,7 @@ module PortfolioManager
38
38
  # - Wood
39
39
  #
40
40
  # @param hey [PortfolioManager::Xml::HeyType]
41
- # @return [PortfolioManager::Xml::PropertyMetricsType]
41
+ # @return [PortfolioManager::Xml::PropertyMetricsType, PortfolioManager::Xml::ResponseType]
42
42
  # @raise [PortfolioManager::HTTPBasicCredentialsNotFoundError]
43
43
  # @raise [PortfolioManager::HTTPResponseError]
44
44
  # @see https://portfoliomanager.energystar.gov/webservices/home/api/hey/hey/post
@@ -169,6 +169,131 @@ module PortfolioManager
169
169
  end
170
170
  end
171
171
 
172
+ # Custom Metrics
173
+ module CustomMetrics
174
+ # Live Environment
175
+ module Live
176
+ # Get Custom Metrics
177
+ #
178
+ # This web service returns a list of custom metrics for a specific
179
+ # property. A maximum of 3 custom metrics per property can be defined.
180
+ # The property must already be shared with you.
181
+ #
182
+ # @param property_id [Integer]
183
+ # @return [PortfolioManager::Xml::ResponseType]
184
+ # @raise [PortfolioManager::HTTPBasicCredentialsNotFoundError]
185
+ # @raise [PortfolioManager::HTTPResponseError]
186
+ # @see https://portfoliomanager.energystar.gov/webservices/home/api/property/customMetrics/get
187
+ def get_custom_metrics(property_id)
188
+ request(Net::HTTP::Get, path_for("property", property_id, "customMetrics"), {}, {}, nil, nil, PortfolioManager::Xml::ResponseType, basic_auth: true)
189
+ end
190
+
191
+ # Get Custom Metric
192
+ #
193
+ # This web service returns information for a specific custom metric
194
+ # for a given property. The property must already be shared with you.
195
+ #
196
+ # @param property_id [Integer]
197
+ # @param custom_metric_slot [Integer]
198
+ # @return [PortfolioManager::Xml::CustomMetric, PortfolioManager::Xml::ResponseType]
199
+ # @raise [PortfolioManager::HTTPBasicCredentialsNotFoundError]
200
+ # @raise [PortfolioManager::HTTPResponseError]
201
+ # @see https://portfoliomanager.energystar.gov/webservices/home/api/property/customMetric/get
202
+ def get_custom_metric(property_id, custom_metric_slot)
203
+ request(Net::HTTP::Get, path_for("property", property_id, "customMetrics", custom_metric_slot), {}, {}, nil, nil, PortfolioManager::Xml::CustomMetric, basic_auth: true)
204
+ end
205
+
206
+ # Add Custom Metric
207
+ #
208
+ # This web service adds a new custom metric based on the information
209
+ # provided in the XML request for a specified property. The property
210
+ # must already be shared with you. A maximum of 3 custom metrics per
211
+ # property can be defined.
212
+ #
213
+ # @param property_id [Integer]
214
+ # @param custom_metric_slot [Integer]
215
+ # @param custom_metric [PortfolioManager::Xml::CustomMetric]
216
+ # @return [PortfolioManager::Xml::ResponseType]
217
+ # @raise [PortfolioManager::HTTPBasicCredentialsNotFoundError]
218
+ # @raise [PortfolioManager::HTTPResponseError]
219
+ # @see https://portfoliomanager.energystar.gov/webservices/home/api/property/customMetric/post
220
+ def add_custom_metric(property_id, custom_metric_slot, custom_metric)
221
+ request(Net::HTTP::Post, path_for("property", property_id, "customMetrics", custom_metric_slot), {}, {}, custom_metric, "customMetric", PortfolioManager::Xml::ResponseType, basic_auth: true)
222
+ end
223
+
224
+ # Edit Custom Metric
225
+ #
226
+ # This web service updates a specific custom metric based on the
227
+ # information provided in the XML request for a given property. The
228
+ # property must already be shared with you.
229
+ #
230
+ # @param property_id [Integer]
231
+ # @param custom_metric_slot [Integer]
232
+ # @param custom_metric [PortfolioManager::Xml::CustomMetric]
233
+ # @return [PortfolioManager::Xml::ResponseType]
234
+ # @raise [PortfolioManager::HTTPBasicCredentialsNotFoundError]
235
+ # @raise [PortfolioManager::HTTPResponseError]
236
+ # @see https://portfoliomanager.energystar.gov/webservices/home/api/property/customMetric/put
237
+ def edit_custom_metric(property_id, custom_metric_slot, custom_metric)
238
+ request(Net::HTTP::Put, path_for("property", property_id, "customMetrics", custom_metric_slot), {}, {}, custom_metric, "customMetric", PortfolioManager::Xml::ResponseType, basic_auth: true)
239
+ end
240
+
241
+ # Delete Custom Metric
242
+ #
243
+ # This web service deletes a specific custom metric for a given
244
+ # property. The property must already be shared with you.
245
+ #
246
+ # @param property_id [Integer]
247
+ # @param custom_metric_slot [Integer]
248
+ # @return [PortfolioManager::Xml::ResponseType]
249
+ # @raise [PortfolioManager::HTTPBasicCredentialsNotFoundError]
250
+ # @raise [PortfolioManager::HTTPResponseError]
251
+ # @see https://portfoliomanager.energystar.gov/webservices/home/api/property/customMetric/delete
252
+ def delete_custom_metric(property_id, custom_metric_slot)
253
+ request(Net::HTTP::Delete, path_for("property", property_id, "customMetrics", custom_metric_slot), {}, {}, nil, nil, PortfolioManager::Xml::ResponseType, basic_auth: true)
254
+ end
255
+
256
+ # Get Available Property Use Details (for Custom Metrics)
257
+ #
258
+ # This web service returns a list of all the property use details of a
259
+ # given property that can be used to define in a custom metric (the
260
+ # denominator of a custom metric). The property must already be shared
261
+ # with you.
262
+ #
263
+ # @param property_id [Integer]
264
+ # @return [PortfolioManager::Xml::DetailsTypes, PortfolioManager::Xml::ResponseType]
265
+ # @raise [PortfolioManager::HTTPBasicCredentialsNotFoundError]
266
+ # @raise [PortfolioManager::HTTPResponseError]
267
+ # @see https://portfoliomanager.energystar.gov/webservices/home/api/property/availablePropertyUseDetails/get
268
+ def get_available_property_use_details_for_custom_metrics(property_id)
269
+ request(Net::HTTP::Get, path_for("property", property_id, "customMetrics", "availablePropertyUseDetails"), {}, {}, nil, nil, PortfolioManager::Xml::DetailsTypes, basic_auth: true)
270
+ end
271
+
272
+ # Get Available Metrics List
273
+ #
274
+ # This web service returns a list of all available metrics that can be
275
+ # used to define in a custom metric (the numerator of a custom
276
+ # metric).
277
+ #
278
+ # @param group_ids [nil, Array<Integer>]
279
+ # @param available_to_custom_metrics [nil, Boolean]
280
+ # @return [PortfolioManager::Xml::ReportMetrics, PortfolioManager::Xml::ResponseType]
281
+ # @raise [PortfolioManager::HTTPBasicCredentialsNotFoundError]
282
+ # @raise [PortfolioManager::HTTPResponseError]
283
+ # @see https://portfoliomanager.energystar.gov/webservices/home/api/property/availableMetricsList/get
284
+ def get_available_metrics_list(group_ids = nil, available_to_custom_metrics = nil)
285
+ request(Net::HTTP::Get, path_for("reports", "metrics"), {
286
+ "groupIds" => (group_ids.nil? || group_ids.empty?) ? nil : group_ids.collect(&:to_s).join(","),
287
+ "availableToCustomMetrics" => available_to_custom_metrics,
288
+ }, {}, nil, nil, PortfolioManager::Xml::ReportMetrics, basic_auth: true)
289
+ end
290
+ end
291
+
292
+ # Test Environment
293
+ module Test
294
+ end
295
+ end
296
+
172
297
  # Design
173
298
  module Design
174
299
  # Live Environment
@@ -929,6 +1054,7 @@ module PortfolioManager
929
1054
  module Live
930
1055
  include PortfolioManager::Services::Property::Property::Live
931
1056
  include PortfolioManager::Services::Property::Design::Live
1057
+ include PortfolioManager::Services::Property::CustomMetrics::Live
932
1058
  include PortfolioManager::Services::Property::ElectricDistributionUtility::Live
933
1059
  include PortfolioManager::Services::Property::PowerGenerationPlant::Live
934
1060
  include PortfolioManager::Services::Property::InternationalWeatherStation::Live
@@ -941,6 +1067,7 @@ module PortfolioManager
941
1067
  module Test
942
1068
  include PortfolioManager::Services::Property::Property::Test
943
1069
  include PortfolioManager::Services::Property::Design::Test
1070
+ include PortfolioManager::Services::Property::CustomMetrics::Test
944
1071
  include PortfolioManager::Services::Property::ElectricDistributionUtility::Test
945
1072
  include PortfolioManager::Services::Property::PowerGenerationPlant::Test
946
1073
  include PortfolioManager::Services::Property::InternationalWeatherStation::Test
@@ -26,7 +26,7 @@ module PortfolioManager
26
26
  # request altogether.
27
27
  #
28
28
  # @param property_id [Integer]
29
- # @param property_use [PortfolioManager::Xml::BankBranchType, PortfolioManager::Xml::BarracksType, PortfolioManager::Xml::CollegeUniversityType, PortfolioManager::Xml::ConvenienceStoreWithGasStationType, PortfolioManager::Xml::ConvenienceStoreWithoutGasStationType, PortfolioManager::Xml::CourthouseType, PortfolioManager::Xml::DataCenterType, PortfolioManager::Xml::DistributionCenterType, PortfolioManager::Xml::DrinkingWaterTreatmentAndDistributionType, PortfolioManager::Xml::EvChargingStationType, PortfolioManager::Xml::FinancialOfficeType, PortfolioManager::Xml::FoodSalesType, PortfolioManager::Xml::HospitalType, PortfolioManager::Xml::HotelType, PortfolioManager::Xml::IceCurlingRinkType, PortfolioManager::Xml::IndoorArenaType, PortfolioManager::Xml::K12SchoolType, PortfolioManager::Xml::MailingCenterPostOfficeType, PortfolioManager::Xml::MedicalOfficeType, PortfolioManager::Xml::MultifamilyHousingType, PortfolioManager::Xml::NonRefrigeratedWarehouseType, PortfolioManager::Xml::OfficeType, PortfolioManager::Xml::OtherStadiumType, PortfolioManager::Xml::OtherType, PortfolioManager::Xml::ParkingType, PortfolioManager::Xml::RefrigeratedWarehouseType, PortfolioManager::Xml::ResidenceHallDormitoryType, PortfolioManager::Xml::ResidentialCareFacilityType, PortfolioManager::Xml::RetailType, PortfolioManager::Xml::SelfStorageFacilityType, PortfolioManager::Xml::SeniorLivingCommunityType, PortfolioManager::Xml::SingleFamilyHomeType, PortfolioManager::Xml::StadiumClosedType, PortfolioManager::Xml::StadiumOpenType, PortfolioManager::Xml::SupermarketType, PortfolioManager::Xml::SwimmingPoolType, PortfolioManager::Xml::VehicleDealershipType, PortfolioManager::Xml::WastewaterTreatmentPlantType, PortfolioManager::Xml::WholesaleClubSupercenterType, PortfolioManager::Xml::WorshipFacilityType]
29
+ # @param property_use [PortfolioManager::Xml::BankBranchType, PortfolioManager::Xml::BarracksType, PortfolioManager::Xml::CollegeUniversityType, PortfolioManager::Xml::ConvenienceStoreWithGasStationType, PortfolioManager::Xml::ConvenienceStoreWithoutGasStationType, PortfolioManager::Xml::CourthouseType, PortfolioManager::Xml::DataCenterType, PortfolioManager::Xml::DistributionCenterType, PortfolioManager::Xml::DrinkingWaterTreatmentAndDistributionType, PortfolioManager::Xml::EvChargingStationType, PortfolioManager::Xml::FinancialOfficeType, PortfolioManager::Xml::FoodSalesType, PortfolioManager::Xml::HospitalType, PortfolioManager::Xml::HotelType, PortfolioManager::Xml::IceCurlingRinkType, PortfolioManager::Xml::IndoorArenaType, PortfolioManager::Xml::K12SchoolType, PortfolioManager::Xml::LibraryType, PortfolioManager::Xml::MailingCenterPostOfficeType, PortfolioManager::Xml::MedicalOfficeType, PortfolioManager::Xml::MultifamilyHousingType, PortfolioManager::Xml::MuseumType, PortfolioManager::Xml::NonRefrigeratedWarehouseType, PortfolioManager::Xml::OfficeType, PortfolioManager::Xml::OtherStadiumType, PortfolioManager::Xml::OtherType, PortfolioManager::Xml::ParkingType, PortfolioManager::Xml::RefrigeratedWarehouseType, PortfolioManager::Xml::ResidenceHallDormitoryType, PortfolioManager::Xml::ResidentialCareFacilityType, PortfolioManager::Xml::RetailType, PortfolioManager::Xml::SelfStorageFacilityType, PortfolioManager::Xml::SeniorLivingCommunityType, PortfolioManager::Xml::SingleFamilyHomeType, PortfolioManager::Xml::StadiumClosedType, PortfolioManager::Xml::StadiumOpenType, PortfolioManager::Xml::SupermarketType, PortfolioManager::Xml::SwimmingPoolType, PortfolioManager::Xml::VehicleDealershipType, PortfolioManager::Xml::WastewaterTreatmentPlantType, PortfolioManager::Xml::WholesaleClubSupercenterType, PortfolioManager::Xml::WorshipFacilityType]
30
30
  # @param elename [nil, String]
31
31
  # @return [PortfolioManager::Xml::ResponseType]
32
32
  # @raise [PortfolioManager::HTTPBasicCredentialsNotFoundError]
@@ -97,7 +97,7 @@ module PortfolioManager
97
97
  #
98
98
  # @param property_use_id [Integer]
99
99
  # @param klass [nil, Class]
100
- # @return [PortfolioManager::Xml::BankBranchType, PortfolioManager::Xml::BarracksType, PortfolioManager::Xml::CollegeUniversityType, PortfolioManager::Xml::ConvenienceStoreWithGasStationType, PortfolioManager::Xml::ConvenienceStoreWithoutGasStationType, PortfolioManager::Xml::CourthouseType, PortfolioManager::Xml::DataCenterType, PortfolioManager::Xml::DistributionCenterType, PortfolioManager::Xml::DrinkingWaterTreatmentAndDistributionType, PortfolioManager::Xml::EvChargingStationType, PortfolioManager::Xml::FinancialOfficeType, PortfolioManager::Xml::FoodSalesType, PortfolioManager::Xml::HospitalType, PortfolioManager::Xml::HotelType, PortfolioManager::Xml::IceCurlingRinkType, PortfolioManager::Xml::IndoorArenaType, PortfolioManager::Xml::K12SchoolType, PortfolioManager::Xml::MailingCenterPostOfficeType, PortfolioManager::Xml::MedicalOfficeType, PortfolioManager::Xml::MultifamilyHousingType, PortfolioManager::Xml::NonRefrigeratedWarehouseType, PortfolioManager::Xml::OfficeType, PortfolioManager::Xml::OtherStadiumType, PortfolioManager::Xml::OtherType, PortfolioManager::Xml::ParkingType, PortfolioManager::Xml::RefrigeratedWarehouseType, PortfolioManager::Xml::ResidenceHallDormitoryType, PortfolioManager::Xml::ResidentialCareFacilityType, PortfolioManager::Xml::RetailType, PortfolioManager::Xml::SelfStorageFacilityType, PortfolioManager::Xml::SeniorLivingCommunityType, PortfolioManager::Xml::SingleFamilyHomeType, PortfolioManager::Xml::StadiumClosedType, PortfolioManager::Xml::StadiumOpenType, PortfolioManager::Xml::SupermarketType, PortfolioManager::Xml::SwimmingPoolType, PortfolioManager::Xml::VehicleDealershipType, PortfolioManager::Xml::WastewaterTreatmentPlantType, PortfolioManager::Xml::WholesaleClubSupercenterType, PortfolioManager::Xml::WorshipFacilityType, PortfolioManager::Xml::ResponseType]
100
+ # @return [PortfolioManager::Xml::BankBranchType, PortfolioManager::Xml::BarracksType, PortfolioManager::Xml::CollegeUniversityType, PortfolioManager::Xml::ConvenienceStoreWithGasStationType, PortfolioManager::Xml::ConvenienceStoreWithoutGasStationType, PortfolioManager::Xml::CourthouseType, PortfolioManager::Xml::DataCenterType, PortfolioManager::Xml::DistributionCenterType, PortfolioManager::Xml::DrinkingWaterTreatmentAndDistributionType, PortfolioManager::Xml::EvChargingStationType, PortfolioManager::Xml::FinancialOfficeType, PortfolioManager::Xml::FoodSalesType, PortfolioManager::Xml::HospitalType, PortfolioManager::Xml::HotelType, PortfolioManager::Xml::IceCurlingRinkType, PortfolioManager::Xml::IndoorArenaType, PortfolioManager::Xml::K12SchoolType, PortfolioManager::Xml::LibraryType, PortfolioManager::Xml::MailingCenterPostOfficeType, PortfolioManager::Xml::MedicalOfficeType, PortfolioManager::Xml::MultifamilyHousingType, PortfolioManager::Xml::MuseumType, PortfolioManager::Xml::NonRefrigeratedWarehouseType, PortfolioManager::Xml::OfficeType, PortfolioManager::Xml::OtherStadiumType, PortfolioManager::Xml::OtherType, PortfolioManager::Xml::ParkingType, PortfolioManager::Xml::RefrigeratedWarehouseType, PortfolioManager::Xml::ResidenceHallDormitoryType, PortfolioManager::Xml::ResidentialCareFacilityType, PortfolioManager::Xml::RetailType, PortfolioManager::Xml::SelfStorageFacilityType, PortfolioManager::Xml::SeniorLivingCommunityType, PortfolioManager::Xml::SingleFamilyHomeType, PortfolioManager::Xml::StadiumClosedType, PortfolioManager::Xml::StadiumOpenType, PortfolioManager::Xml::SupermarketType, PortfolioManager::Xml::SwimmingPoolType, PortfolioManager::Xml::VehicleDealershipType, PortfolioManager::Xml::WastewaterTreatmentPlantType, PortfolioManager::Xml::WholesaleClubSupercenterType, PortfolioManager::Xml::WorshipFacilityType, PortfolioManager::Xml::ResponseType]
101
101
  # @raise [PortfolioManager::HTTPBasicCredentialsNotFoundError]
102
102
  # @raise [PortfolioManager::HTTPResponseError]
103
103
  # @see https://portfoliomanager.energystar.gov/webservices/home/api/propertyUse/propertyUse/get
@@ -302,7 +302,7 @@ module PortfolioManager
302
302
  # you.
303
303
  #
304
304
  # @param property_id [Integer]
305
- # @return [PortfolioManager::Xml::CustomUseType]
305
+ # @return [PortfolioManager::Xml::CustomUseType, PortfolioManager::Xml::ResponseType]
306
306
  # @raise [PortfolioManager::HTTPBasicCredentialsNotFoundError]
307
307
  # @raise [PortfolioManager::HTTPResponseError]
308
308
  # @see https://portfoliomanager.energystar.gov/webservices/home/api/propertyUse/customUse/get
@@ -319,7 +319,7 @@ module PortfolioManager
319
319
  # @param property_id [Integer]
320
320
  # @param current_as_of_start [Date]
321
321
  # @param current_as_of_end [Date]
322
- # @return [PortfolioManager::Xml::UseDetails]
322
+ # @return [PortfolioManager::Xml::UseDetails, PortfolioManager::Xml::ResponseType]
323
323
  # @raise [PortfolioManager::HTTPBasicCredentialsNotFoundError]
324
324
  # @raise [PortfolioManager::HTTPResponseError]
325
325
  # @see https://portfoliomanager.energystar.gov/webservices/home/api/propertyUse/customUseDetailsRevisions/get
@@ -360,7 +360,7 @@ module PortfolioManager
360
360
  # shared with you.
361
361
  #
362
362
  # @param details_id [Integer]
363
- # @return [PortfolioManager::Xml::CustomUseDetailsType]
363
+ # @return [PortfolioManager::Xml::CustomUseDetailsType, PortfolioManager::Xml::ResponseType]
364
364
  # @raise [PortfolioManager::HTTPBasicCredentialsNotFoundError]
365
365
  # @raise [PortfolioManager::HTTPResponseError]
366
366
  # @see https://portfoliomanager.energystar.gov/webservices/home/api/propertyUse/customUseDetails/get
@@ -18,13 +18,15 @@ module PortfolioManager
18
18
  # used in a report template.
19
19
  #
20
20
  # @param group_ids [nil, Array<Integer>]
21
- # @return [PortfolioManager::Xml::ReportMetrics]
21
+ # @param available_to_custom_metrics [nil, Boolean]
22
+ # @return [PortfolioManager::Xml::ReportMetrics, PortfolioManager::Xml::ResponseType]
22
23
  # @raise [PortfolioManager::HTTPBasicCredentialsNotFoundError]
23
24
  # @raise [PortfolioManager::HTTPResponseError]
24
25
  # @see https://portfoliomanager.energystar.gov/webservices/home/api/reporting/availableMetricsList/get
25
- def get_available_metrics_list(group_ids = nil)
26
+ def get_available_metrics_list(group_ids = nil, available_to_custom_metrics = nil)
26
27
  request(Net::HTTP::Get, path_for("reports", "metrics"), {
27
28
  "groupIds" => (group_ids.nil? || group_ids.empty?) ? nil : group_ids.collect(&:to_s).join(","),
29
+ "availableToCustomMetrics" => available_to_custom_metrics,
28
30
  }, {}, nil, nil, PortfolioManager::Xml::ReportMetrics, basic_auth: true)
29
31
  end
30
32
 
@@ -71,7 +73,7 @@ module PortfolioManager
71
73
  # template must be owned by you.
72
74
  #
73
75
  # @param template_id [Integer]
74
- # @return [PortfolioManager::Xml::ReportTemplateType]
76
+ # @return [PortfolioManager::Xml::ReportTemplateType, PortfolioManager::Xml::ResponseType]
75
77
  # @raise [PortfolioManager::HTTPBasicCredentialsNotFoundError]
76
78
  # @raise [PortfolioManager::HTTPResponseError]
77
79
  # @see https://portfoliomanager.energystar.gov/webservices/home/api/reporting/template/get
@@ -163,7 +165,7 @@ module PortfolioManager
163
165
  # template for a specific report. The report must be owned by you.
164
166
  #
165
167
  # @param report_id [Integer]
166
- # @return [PortfolioManager::Xml::Report]
168
+ # @return [PortfolioManager::Xml::Report, PortfolioManager::Xml::ResponseType]
167
169
  # @raise [PortfolioManager::HTTPBasicCredentialsNotFoundError]
168
170
  # @raise [PortfolioManager::HTTPResponseError]
169
171
  # @see https://portfoliomanager.energystar.gov/webservices/home/api/reporting/report/get
@@ -205,12 +207,12 @@ module PortfolioManager
205
207
  #
206
208
  # @param report_id [Integer]
207
209
  # @param type ["EXCEL", "XML"]
208
- # @return [PortfolioManager::Xml::Report]
210
+ # @return [PortfolioManager::Xml::Report, PortfolioManager::Xml::ResponseType]
209
211
  # @raise [PortfolioManager::HTTPBasicCredentialsNotFoundError]
210
212
  # @raise [PortfolioManager::HTTPResponseError]
211
213
  # @see https://portfoliomanager.energystar.gov/webservices/home/api/reporting/reportResults/get
212
214
  def get_report_results(report_id, type = "XML")
213
- request(Net::HTTP::Get, path_for("reports", report_id), {
215
+ request(Net::HTTP::Get, path_for("reports", report_id, "download"), {
214
216
  "type" => type,
215
217
  }, {}, nil, nil, PortfolioManager::Xml::Report, basic_auth: true)
216
218
  end
@@ -257,7 +259,7 @@ module PortfolioManager
257
259
  # available for download.
258
260
  #
259
261
  # @param report_id [Integer]
260
- # @return [PortfolioManager::Xml::ReportStatusDef]
262
+ # @return [PortfolioManager::Xml::ReportStatusDef, PortfolioManager::Xml::ResponseType]
261
263
  # @raise [PortfolioManager::HTTPBasicCredentialsNotFoundError]
262
264
  # @raise [PortfolioManager::HTTPResponseError]
263
265
  # @see https://portfoliomanager.energystar.gov/webservices/home/api/reporting/reportStatus/get
@@ -298,7 +300,7 @@ module PortfolioManager
298
300
  #
299
301
  # @param customer_id [Integer]
300
302
  # @param data_request_id [Integer]
301
- # @return [PortfolioManager::Xml::DataRequest]
303
+ # @return [PortfolioManager::Xml::DataRequest, PortfolioManager::Xml::ResponseType]
302
304
  # @raise [PortfolioManager::HTTPBasicCredentialsNotFoundError]
303
305
  # @raise [PortfolioManager::HTTPResponseError]
304
306
  # @see https://portfoliomanager.energystar.gov/webservices/home/api/reporting/customerDataRequest/get
@@ -358,7 +360,7 @@ module PortfolioManager
358
360
  #
359
361
  # @param customer_id [Integer]
360
362
  # @param data_response_id [Integer]
361
- # @return [PortfolioManager::Xml::DataResponse]
363
+ # @return [PortfolioManager::Xml::DataResponse, PortfolioManager::Xml::ResponseType]
362
364
  # @raise [PortfolioManager::HTTPBasicCredentialsNotFoundError]
363
365
  # @raise [PortfolioManager::HTTPResponseError]
364
366
  # @see https://portfoliomanager.energystar.gov/webservices/home/api/reporting/dataResponse/get
@@ -418,7 +420,7 @@ module PortfolioManager
418
420
  # @param customer_id [Integer]
419
421
  # @param data_response_id [Integer]
420
422
  # @param type ["EXCEL", "XML"]
421
- # @return [PortfolioManager::Xml::ResponseStatus]
423
+ # @return [PortfolioManager::Xml::ResponseStatus, PortfolioManager::Xml::ResponseType]
422
424
  # @raise [PortfolioManager::HTTPBasicCredentialsNotFoundError]
423
425
  # @raise [PortfolioManager::HTTPResponseError]
424
426
  # @see https://portfoliomanager.energystar.gov/webservices/home/api/reporting/downloadErrorsDataResponse/get
@@ -512,7 +514,7 @@ module PortfolioManager
512
514
  #
513
515
  # @param customer_id [Integer]
514
516
  # @param data_response_id [Integer]
515
- # @return [PortfolioManager::Xml::ResponseStatus]
517
+ # @return [PortfolioManager::Xml::ResponseStatus, PortfolioManager::Xml::ResponseType]
516
518
  # @raise [PortfolioManager::HTTPBasicCredentialsNotFoundError]
517
519
  # @raise [PortfolioManager::HTTPResponseError]
518
520
  # @see https://portfoliomanager.energystar.gov/webservices/home/api/reporting/statusDataResponse/get
@@ -1,3 +1,3 @@
1
1
  module PortfolioManager
2
- VERSION = "0.0.6"
2
+ VERSION = "0.0.7"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: portfoliomanager-rb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mark Borkum
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-05-16 00:00:00.000000000 Z
11
+ date: 2024-05-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: logger-application