aemo 0.1.5 → 0.1.6

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 (4) hide show
  1. checksums.yaml +4 -4
  2. data/aemo.gemspec +1 -1
  3. data/lib/aemo/nmi.rb +22 -3
  4. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a401245a1f7b25723a1ae670079c4d58a444f8f6
4
- data.tar.gz: c48680094298ec88e7cfe69d2e849c061177a2ec
3
+ metadata.gz: cbb54d233f0bd13dcce773ff836b7877456a1a14
4
+ data.tar.gz: 5459c83ac0ea8cc02ba3d1645961e4af105ffd1d
5
5
  SHA512:
6
- metadata.gz: cc19ba3f91983da75207c8d6328ab4ecce573b849bbaddfa4720b73ce05e4db00a1f8604ad3adebe18b88755d9801894055820339d18890bc820eef6f9315e71
7
- data.tar.gz: 3151c7067018f9d059ddfe27d361172aef4a2a66ad301a25a0690d336e7a95c606ff6df699434c02d1cbc325a311fb2dfadbc490682b5139eb9f808124b12941
6
+ metadata.gz: 9253a01333a488789af1a50ecae9795a6ff695fa4eb48729610f3da6482fb1b7a31a789bf1de1336c18f3426954c713304b13fa12632b9726c9cd90f461e2494
7
+ data.tar.gz: 204bd766824e4c9e55ee24895e428febd5c19125b01128f7802961ce826b5fb4be61296e0e8191ec1401f6c830c4779ad74de748fb00416d171b638fc91d636d
data/aemo.gemspec CHANGED
@@ -3,7 +3,7 @@ $:.push File.expand_path('../lib', __FILE__)
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = 'aemo'
6
- s.version = '0.1.5'
6
+ s.version = '0.1.6'
7
7
  s.platform = Gem::Platform::RUBY
8
8
  s.date = '2015-02-07'
9
9
  s.summary = 'AEMO Gem'
data/lib/aemo/nmi.rb CHANGED
@@ -420,8 +420,9 @@ module AEMO
420
420
  @address = nil
421
421
  @meters = nil
422
422
  @roles = nil
423
+ @data_streams = nil
423
424
 
424
- attr_accessor :nmi, :msats_detail, :tni, :dlf, :customer_classification_code, :customer_threshold_code, :jurisdiction_code, :classification_code, :status, :address, :meters, :roles
425
+ attr_accessor :nmi, :msats_detail, :tni, :dlf, :customer_classification_code, :customer_threshold_code, :jurisdiction_code, :classification_code, :status, :address, :meters, :roles, :data_streams
425
426
 
426
427
  # Initialize a NEM12 file
427
428
  #
@@ -436,6 +437,7 @@ module AEMO
436
437
  @nmi = nmi
437
438
  @meters = {}
438
439
  @roles = {}
440
+ @data_streams = []
439
441
  end
440
442
 
441
443
  # A function to validate the instance's nmi value
@@ -510,7 +512,8 @@ module AEMO
510
512
  installation_type_code: meter['InstallationTypeCode'],
511
513
  next_scheduled_read_date: meter['NextScheduledReadDate'],
512
514
  read_type_code: meter['ReadTypeCode'],
513
- registers: []
515
+ registers: [],
516
+ serial_number: meter['SerialNumber']
514
517
  )
515
518
  puts "@meters.inspect: #{@meters.inspect}"
516
519
  @meters[meter['SerialNumber']] = m
@@ -535,9 +538,25 @@ module AEMO
535
538
  @roles[role['Role']] = role['Party']
536
539
  end
537
540
  end
538
-
541
+ # DataStreams
542
+ unless @msats_detail['DataStreams'].nil?
543
+ @msats_detail['DataStreams']['DataStream'].each do |stream|
544
+ @data_streams << OpenStruct.new(suffix: stream['Suffix'], profile_name: stream['ProfileName'],averaged_daily_load: stream['AveragedDailyLoad'], data_stream_type: stream['DataStreamType'],status: stream['Status'])
545
+ end
546
+ end
539
547
  self
540
548
  end
549
+
550
+ # Returns a nice address from the structured one AEMO sends us
551
+ #
552
+ # @return [String]
553
+ def friendly_address
554
+ friendly_address = ''
555
+ if @address.is_a?(Hash)
556
+ friendly_address = @nmi.address.values.map{|x| x.is_a?(Hash) ? x.values.map{|y| y.is_a?(Hash) ? y.values.join(" ") : y }.join(" ") : x }.join(", ")
557
+ end
558
+ friendly_address
559
+ end
541
560
 
542
561
  # A function to validate the NMI provided
543
562
  #
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aemo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joel Courtney