wits 1.1.1 → 1.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -1
- data/README.md +11 -2
- data/lib/wits/final_interim_prices.rb +5 -0
- data/lib/wits/final_interim_prices/convenience_methods.rb +18 -0
- data/lib/wits/price_codes.rb +5 -2
- data/lib/wits/version.rb +1 -1
- data/wits.gemspec +3 -2
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 78a6d79cfcfb5cccda3415c8fa81f34317bd850a
|
4
|
+
data.tar.gz: 5aa867c5cb08a6a729e230a37782a602d081d90a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fe82f8513478fc4191df3bb779f07cd720d3f66bf6617e106f0d40510c1e6ca2287b2c381db7d8cc41867d35dd2481055299176ae6bfa2864f4e8714ab648c45
|
7
|
+
data.tar.gz: '0494127501073ec93724ecbd69646a3fa40d3dfbb252cf34456deeca966580148b0ccd0d1d1aba548768767dc88bb7f241b35eb839ca7807ee0f8d0de88d0f58'
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,11 @@
|
|
1
|
-
1.
|
1
|
+
1.2.0 / 2017-07-15
|
2
|
+
------
|
3
|
+
* Add support for forecast prices (PRS)
|
4
|
+
|
5
|
+
1.1.1 / 2017-05-11
|
2
6
|
------
|
3
7
|
* Change URL from www2.electricityinfo.co.nz to electricityinfo.co.nz
|
8
|
+
* Update runtime and development dependencies
|
4
9
|
|
5
10
|
1.1.0 / 2017-03-05
|
6
11
|
------
|
data/README.md
CHANGED
@@ -51,9 +51,9 @@ wits officially supports MRI Ruby 2.2+ and the JRuby equivalent. wits may work f
|
|
51
51
|
|
52
52
|
## Usage
|
53
53
|
|
54
|
-
wits can retrieve [Final/Interim Prices](https://electricityinfo.co.nz/
|
54
|
+
wits can retrieve [Final/Interim/Forecast Prices](https://electricityinfo.co.nz/help/prices.html), and [5 Minute Prices](https://electricityinfo.co.nz/help/prices.html) for a given node and date.
|
55
55
|
|
56
|
-
#### Final/Interim Prices
|
56
|
+
#### Final/Interim/Forecast Prices
|
57
57
|
Half-hourly final/interim prices can be retrieved in the following ways:
|
58
58
|
|
59
59
|
```ruby
|
@@ -67,6 +67,11 @@ Wits.interim_prices('ben2201') # Defaults to the day before yesterday
|
|
67
67
|
Wits.interim_prices('BEN', '29/03/2015')
|
68
68
|
Wits.interim_prices('ben', Time.parse('29/03/2015 13:37'))
|
69
69
|
Wits.interim_prices('BEN2201', Date.parse('29/03/2015'))
|
70
|
+
|
71
|
+
Wits.forecast_prices('ben2201') # Defaults to the day before yesterday
|
72
|
+
Wits.forecast_prices('BEN', '29/03/2015')
|
73
|
+
Wits.forecast_prices('ben', Time.parse('29/03/2015 13:37'))
|
74
|
+
Wits.forecast_prices('BEN2201', Date.parse('29/03/2015'))
|
70
75
|
```
|
71
76
|
|
72
77
|
If no date-like argument is provided, data for the day before yesterday will be retrieved.
|
@@ -81,6 +86,10 @@ Wits.ben2201_prices(Time.parse('29/03/2015 13:37'))
|
|
81
86
|
Wits.ben_interim_prices
|
82
87
|
Wits.benmore_interim_prices('29/03/2015')
|
83
88
|
Wits.ben2201_interim_prices(Time.parse('29/03/2015 13:37'))
|
89
|
+
|
90
|
+
Wits.ben_forecast_prices
|
91
|
+
Wits.benmore_forecast_prices('29/03/2015')
|
92
|
+
Wits.ben2201_forecast_prices(Time.parse('29/03/2015 13:37'))
|
84
93
|
```
|
85
94
|
|
86
95
|
For Final prices, there are shorter methods without the `_prices` suffix.
|
@@ -25,5 +25,10 @@ module Wits
|
|
25
25
|
def interim_prices(node, date = nz_current_date - 1)
|
26
26
|
prices(node, date, INTERIM)
|
27
27
|
end
|
28
|
+
|
29
|
+
def forecast_prices(node, date = nz_current_date, type = FORECAST)
|
30
|
+
csv = request_prices(node, date, type)
|
31
|
+
parse_csv(csv, type)
|
32
|
+
end
|
28
33
|
end
|
29
34
|
end
|
@@ -9,6 +9,7 @@ module Wits
|
|
9
9
|
node_methods(node, name)
|
10
10
|
node_prices_methods(node, name)
|
11
11
|
node_interim_prices_methods(node, name)
|
12
|
+
node_forecast_prices_methods(node, name)
|
12
13
|
end
|
13
14
|
end
|
14
15
|
|
@@ -47,6 +48,17 @@ module Wits
|
|
47
48
|
create_interim_prices_method(name.downcase.tr(' ', '_'), node)
|
48
49
|
end
|
49
50
|
|
51
|
+
def self.node_forecast_prices_methods(node, name)
|
52
|
+
# def ben2201_forecast_prices
|
53
|
+
create_forecast_method(node.downcase, node)
|
54
|
+
|
55
|
+
# def hay_forecast_prices
|
56
|
+
create_forecast_method(node.downcase[0..2], node)
|
57
|
+
|
58
|
+
# def halfway_bush_forecast_prices
|
59
|
+
create_forecast_method(name.downcase.tr(' ', '_'), node)
|
60
|
+
end
|
61
|
+
|
50
62
|
def self.create_prices_method(method_name, node)
|
51
63
|
define_method method_name do |*args|
|
52
64
|
prices(node, *args)
|
@@ -58,6 +70,12 @@ module Wits
|
|
58
70
|
interim_prices(node, *args)
|
59
71
|
end
|
60
72
|
end
|
73
|
+
|
74
|
+
def self.create_forecast_method(method_prefix, node)
|
75
|
+
define_method "#{method_prefix}_forecast_prices" do |*args|
|
76
|
+
forecast_prices(node, *args)
|
77
|
+
end
|
78
|
+
end
|
61
79
|
end
|
62
80
|
end
|
63
81
|
end
|
data/lib/wits/price_codes.rb
CHANGED
@@ -4,19 +4,22 @@ module Wits
|
|
4
4
|
INTERIM = :interim
|
5
5
|
AVERAGE = :average
|
6
6
|
FIVE_MINUTE = :five_minute
|
7
|
+
FORECAST = :forecast
|
7
8
|
|
8
9
|
PRICE_TYPES = {
|
9
10
|
FINAL => 'F',
|
10
11
|
INTERIM => 'T',
|
11
12
|
AVERAGE => '5',
|
12
|
-
FIVE_MINUTE => 'I'
|
13
|
+
FIVE_MINUTE => 'I',
|
14
|
+
FORECAST => 'A'
|
13
15
|
}.freeze
|
14
16
|
|
15
17
|
PRICE_DESCRIPTION = {
|
16
18
|
FINAL => 'Final',
|
17
19
|
INTERIM => 'Interim',
|
18
20
|
AVERAGE => 'Average Five Minute',
|
19
|
-
FIVE_MINUTE => 'Five Minute'
|
21
|
+
FIVE_MINUTE => 'Five Minute',
|
22
|
+
FORECAST => 'Forecast'
|
20
23
|
}.freeze
|
21
24
|
end
|
22
25
|
end
|
data/lib/wits/version.rb
CHANGED
data/wits.gemspec
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
# coding: utf-8
|
2
|
+
|
2
3
|
lib = File.expand_path('../lib', __FILE__)
|
3
4
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
5
|
require 'wits/version'
|
@@ -15,7 +16,7 @@ Gem::Specification.new do |spec|
|
|
15
16
|
spec.homepage = 'https://www.github.com/gchan/wits'
|
16
17
|
spec.license = 'MIT'
|
17
18
|
|
18
|
-
spec.files = Dir['lib/**/*.rb'] + %w
|
19
|
+
spec.files = Dir['lib/**/*.rb'] + %w[CHANGELOG.md LICENSE.txt README.md wits.gemspec]
|
19
20
|
spec.bindir = 'bin'
|
20
21
|
spec.require_paths = ['lib']
|
21
22
|
spec.platform = Gem::Platform::RUBY
|
@@ -34,7 +35,7 @@ Gem::Specification.new do |spec|
|
|
34
35
|
spec.add_development_dependency 'multi_json', '~> 1.12.1'
|
35
36
|
spec.add_development_dependency 'timecop', '~> 0.8.1'
|
36
37
|
spec.add_development_dependency 'simplecov', '~> 0.14.1'
|
37
|
-
spec.add_development_dependency 'rubocop', '~> 0.
|
38
|
+
spec.add_development_dependency 'rubocop', '~> 0.49.1'
|
38
39
|
spec.add_development_dependency 'coveralls', '~> 0.8.19'
|
39
40
|
spec.add_development_dependency 'codeclimate-test-reporter', '~> 1.0.5'
|
40
41
|
spec.add_development_dependency 'tins', '~> 1.13.2'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wits
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gordon Chan
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-07-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -184,14 +184,14 @@ dependencies:
|
|
184
184
|
requirements:
|
185
185
|
- - "~>"
|
186
186
|
- !ruby/object:Gem::Version
|
187
|
-
version: 0.
|
187
|
+
version: 0.49.1
|
188
188
|
type: :development
|
189
189
|
prerelease: false
|
190
190
|
version_requirements: !ruby/object:Gem::Requirement
|
191
191
|
requirements:
|
192
192
|
- - "~>"
|
193
193
|
- !ruby/object:Gem::Version
|
194
|
-
version: 0.
|
194
|
+
version: 0.49.1
|
195
195
|
- !ruby/object:Gem::Dependency
|
196
196
|
name: coveralls
|
197
197
|
requirement: !ruby/object:Gem::Requirement
|