radiosonde 0.0.8 → 0.1.0

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: 18a311529994a7e6c2d904c7bc03e5bea0b8878e
4
- data.tar.gz: ca993fb584d98096b84100c1ffe9a7d672c1b2ee
3
+ metadata.gz: fc9279c7ed187615dafcecef823a3b5a00afbae3
4
+ data.tar.gz: bc1b9c0a6dfb045f87f97a5975d69ac82a6dcddc
5
5
  SHA512:
6
- metadata.gz: 7aca86843cbefaa798a0b78525dd2548c269597ffc6d2a5b80896045fef79f19b788beae4fbeed957b2f090d440f2b8b95fd78c047c0ea6611d3b442e9dffa35
7
- data.tar.gz: d9353663ffdd3f483f66909ea3beb962f38a1dc75fc29bd0858b6e3e2c862ce6208870664e52890dbe3b52c5939a018cc544e0401ad05e262c84660ca56809e8
6
+ metadata.gz: b314a64de18ed4ea3c03894e867f4e944d6a0cb2f0d9becd92a87da7455d3036e00b49f2f14b5cf20aff40bc69d8b644c84031c39b4d283e3b2584784ce8e832
7
+ data.tar.gz: 2a196790ee2755896168c117ba9f98584b17b7d79e55f8ebe78a48144b33106741796bc93cb8e41966738cefc8eb646e975117019a63918e17fc48040a0f903c
data/README.md CHANGED
@@ -53,6 +53,8 @@ Usage: radiosonde [options]
53
53
  --start-time TIME
54
54
  --end-time TIME
55
55
  --statistic STATISTIC
56
+ --include REGEXP
57
+ --exclude REGEXP
56
58
  --no-color
57
59
  --debug
58
60
  ```
data/bin/radiosonde CHANGED
@@ -9,6 +9,11 @@ require 'time'
9
9
  Version = Radiosonde::VERSION
10
10
  DEFAULT_FILENAME = 'Alarmfile'
11
11
 
12
+ MAGIC_COMMENT = <<-EOS
13
+ # -*- mode: ruby -*-
14
+ # vi: set ft=ruby :
15
+ EOS
16
+
12
17
  mode = nil
13
18
  file = DEFAULT_FILENAME
14
19
  output_file = '-'
@@ -52,6 +57,8 @@ ARGV.options do |opt|
52
57
  opt.on('' , '--statistic STATISTIC', Radiosonde::DSL::Statistic::ALIASES.values) {|v|
53
58
  show_opts[:statistic]
54
59
  }
60
+ opt.on('', '--include REGEXP') {|v| options[:include] = Regexp.new(v) }
61
+ opt.on('', '--exclude REGEXP') {|v| options[:exclude] = Regexp.new(v) }
55
62
  opt.on('' , '--no-color') { options[:color] = false }
56
63
  opt.on('' , '--debug') { options[:debug] = true }
57
64
  opt.parse!
@@ -102,7 +109,10 @@ begin
102
109
  puts client.export(options)
103
110
  else
104
111
  logger.info("Export Alarm to `#{output_file}`")
105
- open(output_file, 'wb') {|f| f.puts client.export(options) }
112
+ open(output_file, 'wb') do |f|
113
+ f.puts MAGIC_COMMENT
114
+ f.puts client.export(options)
115
+ end
106
116
  end
107
117
  when :apply
108
118
  unless File.exist?(file)
@@ -67,6 +67,7 @@ class Radiosonde::Client
67
67
  aws_alarms = collect_to_hash(aws.alarms, :alarm_name)
68
68
 
69
69
  dsl_alarms.each do |alarm_name, dsl_alarm|
70
+ next unless matched?(alarm_name, @options[:include], @options[:exclude])
70
71
  aws_alarm = aws_alarms.delete(alarm_name)
71
72
 
72
73
  if aws_alarm
@@ -77,6 +78,7 @@ class Radiosonde::Client
77
78
  end
78
79
 
79
80
  aws_alarms.each do |alarm_name, aws_alarm|
81
+ next unless matched?(alarm_name, @options[:include], @options[:exclude])
80
82
  aws_alarm.delete
81
83
  end
82
84
 
@@ -28,6 +28,7 @@ class Radiosonde::DSL::Unit
28
28
  'Count/Second' => :count_per_second,
29
29
  'None' => :none,
30
30
  }
31
+
31
32
  class << self
32
33
  def conv_to_alias(unit)
33
34
  ALIASES[unit] || unit
@@ -1,4 +1,6 @@
1
1
  class Radiosonde::Exporter
2
+ include Radiosonde::Utils
3
+
2
4
  class << self
3
5
  def export(cloud_watch, opts = {})
4
6
  self.new(cloud_watch, opts).export
@@ -14,7 +16,9 @@ class Radiosonde::Exporter
14
16
  result = {}
15
17
 
16
18
  @cloud_watch.alarms.each do |alarm|
17
- export_alarm(alarm, result)
19
+ if matched?(alarm.alarm_name, @options[:include], @options[:exclude])
20
+ export_alarm(alarm, result)
21
+ end
18
22
  end
19
23
 
20
24
  return result
@@ -1,4 +1,18 @@
1
1
  module Radiosonde::Utils
2
+ def matched?(name, include_r, exclude_r)
3
+ result = true
4
+
5
+ if exclude_r
6
+ result &&= name !~ exclude_r
7
+ end
8
+
9
+ if include_r
10
+ result &&= name =~ include_r
11
+ end
12
+
13
+ result
14
+ end
15
+
2
16
  def collect_to_hash(collection, *key_attrs)
3
17
  opts = key_attrs.last.kind_of?(Hash) ? key_attrs.pop : {}
4
18
  hash = {}
@@ -1,3 +1,3 @@
1
1
  module Radiosonde
2
- VERSION = '0.0.8'
2
+ VERSION = '0.1.0'
3
3
  end
metadata CHANGED
@@ -1,125 +1,125 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: radiosonde
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Genki Sugawara
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-10-18 00:00:00.000000000 Z
11
+ date: 2016-03-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-v1
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: json
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: term-ansicolor
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '>='
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '>='
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: diffy
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - '>='
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - '>='
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: hashie
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - '>='
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - '>='
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: bundler
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ~>
87
+ - - "~>"
88
88
  - !ruby/object:Gem::Version
89
89
  version: '1.5'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ~>
94
+ - - "~>"
95
95
  - !ruby/object:Gem::Version
96
96
  version: '1.5'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: rake
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - '>='
101
+ - - ">="
102
102
  - !ruby/object:Gem::Version
103
103
  version: '0'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - '>='
108
+ - - ">="
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: rspec
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - '>='
115
+ - - ">="
116
116
  - !ruby/object:Gem::Version
117
117
  version: 3.0.0
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - '>='
122
+ - - ">="
123
123
  - !ruby/object:Gem::Version
124
124
  version: 3.0.0
125
125
  description: Radiosonde is a tool to manage CloudWatch Alarm. It defines the state
@@ -131,8 +131,8 @@ executables:
131
131
  extensions: []
132
132
  extra_rdoc_files: []
133
133
  files:
134
- - .gitignore
135
- - .rspec
134
+ - ".gitignore"
135
+ - ".rspec"
136
136
  - Gemfile
137
137
  - LICENSE.txt
138
138
  - README.md
@@ -172,17 +172,17 @@ require_paths:
172
172
  - lib
173
173
  required_ruby_version: !ruby/object:Gem::Requirement
174
174
  requirements:
175
- - - '>='
175
+ - - ">="
176
176
  - !ruby/object:Gem::Version
177
177
  version: '0'
178
178
  required_rubygems_version: !ruby/object:Gem::Requirement
179
179
  requirements:
180
- - - '>='
180
+ - - ">="
181
181
  - !ruby/object:Gem::Version
182
182
  version: '0'
183
183
  requirements: []
184
184
  rubyforge_project:
185
- rubygems_version: 2.4.8
185
+ rubygems_version: 2.4.5.1
186
186
  signing_key:
187
187
  specification_version: 4
188
188
  summary: Radiosonde is a tool to manage CloudWatch Alarm.