class Xaases::Serverless::Yaml
Attributes
data[W]
Public Class Methods
new(filename, name = nil)
click to toggle source
# File lib/xaases/serverless/yaml.rb, line 8 def initialize(filename, name = nil) @filename = filename begin @data = YAML.load_file filename rescue Errno::ENOENT @data = { 'service' => name, 'provider' => {}, 'resources' => {'Resources' => {}}, 'functions' => {} } end end
Public Instance Methods
add_function(method, path)
click to toggle source
# File lib/xaases/serverless/yaml.rb, line 30 def add_function(method, path) method = method.downcase file = 'index' name = path.sub(/\A\//, '').sub(/\//, '_') name = nil if name == '' name = ['create', name].compact.join('_') if method == 'post' name = ['update', name].compact.join('_') if method == 'put' name = ['delete', name].compact.join('_') if method == 'delete' name = 'root' if method == 'get' && !name @data['functions'][name] = { 'handler' => "handler.#{name}", 'events' => [{ 'http' => { 'path' => path, 'method' => method }}] } name end
add_resource(name, rs)
click to toggle source
# File lib/xaases/serverless/yaml.rb, line 26 def add_resource(name, rs) @data['resources']['Resources'][name] = rs end
provider=(prov)
click to toggle source
# File lib/xaases/serverless/yaml.rb, line 22 def provider=(prov) @data['provider'] = prov end
write()
click to toggle source
# File lib/xaases/serverless/yaml.rb, line 48 def write YAML.dump @data, File.open(@filename, 'w') end