green-button-data 0.4.0 → 0.4.1

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 CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- OWE1NmM3NzE0MjFjYzVjODI1ZmIzNmQwNzM3ZWUzNDllYmRkMDVhMA==
4
+ MjY1ZGViODMxZWUwODVmMjM5YTA2MDRiNTA0ZGVkNTQ0MThlZWM0Ng==
5
5
  data.tar.gz: !binary |-
6
- MTZmMTI3ZjE4MWI1Njg5NWE2ZGFkYjU4MWFkYTJiZDE5ZWVlM2U5Mg==
6
+ OWM5YWU0ZjU4NThjN2E0NjdlNGFhM2M1ZWRkYTgyZjllM2MxZGEyYQ==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- ODc1MTJkZjM2YjljYWVjMjI3NDJjOGI4YmQ5YTFhYThjY2ZhODFkNGZmZDI1
10
- MDYwZmQ0NjgzMGY2OWZhOWMyZjZjMjllMGM4OGIxYzBmMWNjNzVjMWE5YTkz
11
- NDhiYjBhZWU3NzU2MjgzYzY2YjIzNmQyY2ZiZDE1MTgyMGJjNzM=
9
+ MjBjOWM2YTYzODJlNDgxZjE1OWZlOGNlNTcwY2Y5YTg2ZDI3Y2UzZGEzMWQw
10
+ ZGU1OTAzMzU5M2MwOWJkODcxZDU4MjhkNTRmMmQzY2Y3YjdkNmM0YzVjMTIy
11
+ YjgwMWU3N2I5OWJlMWMzMWI1Y2JjYWQ0OTQ3Y2JiN2Q4ZjViYjE=
12
12
  data.tar.gz: !binary |-
13
- MzVkYTJmZWNjNjVlNDE2ODA1N2RkNzYzNjAwMThlMDI5MTBmYjIyNTA1Mjcx
14
- YTA2ZTI1NWQ5ZTBjNGQ1NGRmYmRhOTk1Y2JmZTA4NTdlNzE0OTE5YmZhZjM2
15
- ZmQ2YTQxNzkwZjg1ZGNkYWQ5Mjg5Yzg5M2UxOTJmNWI1YjQ1YzM=
13
+ N2NlMWZkNzVjZjBlNDQ4YmFhNzA0ZjhlNzcwZDEyOGJmNGUyNjY0OTcxMTk4
14
+ YmMyMzg4YzQ3NDcyZmY4MzhhYWM0MWQ5OTA0ZjUzMjU2YTg3ZDM0OTk0YzY2
15
+ NTg0NTAyZjE1ZTY4NzUyMzAwYWUyNWQ5YzFhNTUyYjFlODc0Y2E=
@@ -160,7 +160,27 @@ module GreenButtonData
160
160
  entry_content = nil
161
161
 
162
162
  feed.entries.each do |entry|
163
- match_data = /\/(([a-zA-Z]+)|([a-zA-Z]+)\/(\w+=*|(\d+,*\d*)+))\/*\z/.
163
+ # Matches resource name in URL (e.g. ApplicationInformation)
164
+ resource = '([a-zA-Z]+)'
165
+
166
+ # Matches Base 64 encoded resource ID used by PG&E for MeterReading
167
+ # resource identifier
168
+ base64_id = '\w+=*'
169
+
170
+ # Matches numeric ID with thousands separator in commas used for
171
+ # UsageSummary IDs for PG&E endpoints but also matches traditional
172
+ # digits without comma separator
173
+ num_id = '(\d+,*\d*)+'
174
+
175
+ # Matches GUID as the resource ID used mainly by PG&E for
176
+ # ApplicationInformation resource identifier
177
+ guid = '[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}' +
178
+ '-[0-9A-Fa-f]{12}'
179
+
180
+ # Identifier can be any of the above patterns
181
+ identifier = "(#{base64_id}|#{num_id}|#{guid})"
182
+
183
+ match_data = /\/(#{resource}|#{resource}\/#{identifier})\/*\z/.
164
184
  match(entry.self)
165
185
 
166
186
  unless match_data.nil?
@@ -1,3 +1,3 @@
1
1
  module GreenButtonData
2
- VERSION = '0.4.0'
2
+ VERSION = '0.4.1'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: green-button-data
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Jo
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-09-11 00:00:00.000000000 Z
11
+ date: 2015-09-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri