radiosonde 0.2.0.beta → 0.2.0.beta2

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
  SHA1:
3
- metadata.gz: 2fd996f58c5a00b537d2e18788677303e682443f
4
- data.tar.gz: 6c697fdec4968eb129539b4fb76ae51b38d3a9ae
3
+ metadata.gz: 1bfc27e1f5ac48b3ea55ac753771184b5a8bba9f
4
+ data.tar.gz: 7b6c5d8a83c2923a4fd9a5e586abe80ecd3b6412
5
5
  SHA512:
6
- metadata.gz: c7471238fc343fd02749a154281fe0029a778eebe65d97d178355aae08101ac970a6b6b95c730312d3673a08063d04c82dccf0268b531e32f5a63408a9fa59ee
7
- data.tar.gz: 619cbd2478165ebaa7ac8f4f064bce83d7572d42407e33f747388b6de46a8078e5dc322166faf032e51163304098b403ff93bcfe2141993a9087dc1c598a41aa
6
+ metadata.gz: 61e23826fd275f8209595a22e8369d2ee7d85f1f406c9a965828b0b1ceb0032a30d9546e81a1235ba42e553dc0532b4cf941bae2ce267272d67b418196e03221
7
+ data.tar.gz: 52177ed73097f8257c4a2fd56f5b4684c43033a4cb5fe06537acf98af027af93d6b01a6eb307ee427efa17c4e1669ae60ad8d2b7cbd2f3f4f535240bf252f759
data/README.md CHANGED
@@ -97,7 +97,7 @@ template "basic" do
97
97
  actions_enabled true
98
98
  alarm_actions []
99
99
  ok_actions []
100
- insufficient_data_actions [context.sns_topic]
100
+ insufficient_data_actions [context[:sns_topic]]
101
101
  end
102
102
 
103
103
  alarm "alarm1" do
@@ -123,4 +123,14 @@ class Radiosonde::DSL::Context::Alarm
123
123
  _expected_type(actions, Array)
124
124
  @result.insufficient_data_actions = [(actions || [])].flatten
125
125
  end
126
+
127
+ def treat_missing_data(value)
128
+ _call_once(:treat_missing_data)
129
+ _validate("Invalid value: #{value}") do
130
+ Radiosonde::DSL::TreatMissingData.valid?(value)
131
+ end
132
+
133
+ @result.treat_missing_data = Radiosonde::DSL::TreatMissingData.normalize(value)
134
+ end
135
+
126
136
  end
@@ -1,4 +1,5 @@
1
1
  require 'radiosonde/dsl/unit'
2
+ require 'radiosonde/dsl/treat_missing_data'
2
3
 
3
4
  class Radiosonde::DSL::Converter
4
5
  class << self
@@ -42,6 +43,11 @@ class Radiosonde::DSL::Converter
42
43
  unit = "unit #{unit}\n"
43
44
  end
44
45
 
46
+ if treat_missing_data = attrs[:treat_missing_data]
47
+ treat_missing_data = Radiosonde::DSL::TreatMissingData.conv_to_alias(treat_missing_data).inspect
48
+ treat_missing_data = "treat_missing_data #{treat_missing_data}\n"
49
+ end
50
+
45
51
  <<-EOS
46
52
  alarm #{name} do
47
53
  #{description
@@ -51,7 +57,8 @@ alarm #{name} do
51
57
  }period #{period}
52
58
  statistic #{statistic}
53
59
  threshold #{threshold}
54
- evaluation_periods #{evaluation_periods}
60
+ #{treat_missing_data
61
+ }evaluation_periods #{evaluation_periods}
55
62
  #{unit
56
63
  }actions_enabled #{actions_enabled}
57
64
  alarm_actions #{alarm_actions}
@@ -0,0 +1,22 @@
1
+ class Radiosonde::DSL::TreatMissingData
2
+ ALIASES = {
3
+ 'breaching' => :breaching,
4
+ 'notBreaching' => :not_breaching,
5
+ 'ignore' => :ignore,
6
+ 'missing' => :missing
7
+ }
8
+
9
+ class << self
10
+ def conv_to_alias(treat_missing_data)
11
+ ALIASES[treat_missing_data] || treat_missing_data
12
+ end
13
+
14
+ def valid?(treat_missing_data)
15
+ ALIASES.keys.include?(treat_missing_data) or ALIASES.values.include?(treat_missing_data)
16
+ end
17
+
18
+ def normalize(treat_missing_data)
19
+ (ALIASES.respond_to?(:key) ? ALIASES.key(treat_missing_data) : ALIASES.index(treat_missing_data)) || treat_missing_data
20
+ end
21
+ end # of class methods
22
+ end
@@ -44,6 +44,7 @@ class Radiosonde::Exporter
44
44
  :ok_actions => alarm.ok_actions,
45
45
  :insufficient_data_actions => alarm.insufficient_data_actions,
46
46
  :unit => alarm.unit,
47
+ :treat_missing_data => alarm.treat_missing_data
47
48
  }
48
49
 
49
50
  if @options[:with_status]
@@ -1,3 +1,3 @@
1
1
  module Radiosonde
2
- VERSION = '0.2.0.beta'
2
+ VERSION = '0.2.0.beta2'
3
3
  end
@@ -18,6 +18,7 @@ class Radiosonde::Wrapper::Alarm
18
18
  :ok_actions,
19
19
  :insufficient_data_actions,
20
20
  :actions_enabled,
21
+ :treat_missing_data
21
22
  ]
22
23
 
23
24
  ATTRIBUTES = [:alarm_name] + ATTRIBUTES_WITHOUT_NAME
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: radiosonde
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0.beta
4
+ version: 0.2.0.beta2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Genki Sugawara
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-08-23 00:00:00.000000000 Z
11
+ date: 2017-05-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core
@@ -146,6 +146,7 @@ files:
146
146
  - lib/radiosonde/dsl/context/alarm.rb
147
147
  - lib/radiosonde/dsl/converter.rb
148
148
  - lib/radiosonde/dsl/statistic.rb
149
+ - lib/radiosonde/dsl/treat_missing_data.rb
149
150
  - lib/radiosonde/dsl/unit.rb
150
151
  - lib/radiosonde/dsl/validator.rb
151
152
  - lib/radiosonde/exporter.rb
@@ -182,7 +183,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
182
183
  version: 1.3.1
183
184
  requirements: []
184
185
  rubyforge_project:
185
- rubygems_version: 2.4.5.1
186
+ rubygems_version: 2.5.2
186
187
  signing_key:
187
188
  specification_version: 4
188
189
  summary: Radiosonde is a tool to manage CloudWatch Alarm.