aemo 0.1.5 → 0.1.6

Sign up to get free protection for your applications and to get access to all the features.
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