Module: Putpaws::Provision::Util
- Defined in:
- lib/putpaws/provision/util.rb
Class Method Summary collapse
- .arn_account_id(arn) ⇒ Object
- .arn_region(arn) ⇒ Object
- .blank?(value) ⇒ Boolean
-
.deep_underscore_keys(obj) ⇒ Object
Task definition JSON is written in camelCase convention.
- .ecr_repository_name(arn) ⇒ Object
- .ecr_repository_uri(arn) ⇒ Object
- .underscore(str) ⇒ Object
- .write_json(path, data) ⇒ Object
Class Method Details
.arn_account_id(arn) ⇒ Object
25 26 27 |
# File 'lib/putpaws/provision/util.rb', line 25 def arn_account_id(arn) arn.to_s.split(':')[4] end |
.arn_region(arn) ⇒ Object
29 30 31 |
# File 'lib/putpaws/provision/util.rb', line 29 def arn_region(arn) arn.to_s.split(':')[3] end |
.blank?(value) ⇒ Boolean
41 42 43 |
# File 'lib/putpaws/provision/util.rb', line 41 def blank?(value) value.nil? || value.to_s.strip.empty? end |
.deep_underscore_keys(obj) ⇒ Object
Task definition JSON is written in camelCase convention. Convert it into snake_case symbol keys for aws-sdk params.
14 15 16 17 18 19 20 21 22 23 |
# File 'lib/putpaws/provision/util.rb', line 14 def deep_underscore_keys(obj) case obj when Hash obj.map{|k, v| [underscore(k).to_sym, deep_underscore_keys(v)]}.to_h when Array obj.map{|x| deep_underscore_keys(x)} else obj end end |
.ecr_repository_name(arn) ⇒ Object
33 34 35 |
# File 'lib/putpaws/provision/util.rb', line 33 def ecr_repository_name(arn) arn.to_s.split(':', 6).last.to_s.sub(/\Arepository\//, '') end |
.ecr_repository_uri(arn) ⇒ Object
37 38 39 |
# File 'lib/putpaws/provision/util.rb', line 37 def ecr_repository_uri(arn) "#{arn_account_id(arn)}.dkr.ecr.#{arn_region(arn)}.amazonaws.com/#{ecr_repository_name(arn)}" end |
.underscore(str) ⇒ Object
8 9 10 |
# File 'lib/putpaws/provision/util.rb', line 8 def underscore(str) str.to_s.gsub(/([a-z0-9])([A-Z])/, '\1_\2').downcase end |
.write_json(path, data) ⇒ Object
45 46 47 |
# File 'lib/putpaws/provision/util.rb', line 45 def write_json(path, data) File.write(path, JSON.pretty_generate(data) + "\n") end |