Module: Xaases

Defined in:
lib/xaases.rb,
lib/xaases/js.rb,
lib/xaases/api.rb,
lib/xaases/aws.rb,
lib/xaases/conf.rb,
lib/xaases/name.rb,
lib/xaases/error.rb,
lib/xaases/version.rb,
lib/xaases/cli/color.rb,
lib/xaases/js/function.rb,
lib/xaases/aws/dynamodb.rb,
lib/xaases/aws/lambda_js.rb,
lib/xaases/serverless/yaml.rb

Defined Under Namespace

Modules: Aws, Color, Serverless Classes: Api, Error, Js

Constant Summary collapse

CONF_NAME =
NAME + '.yml'
NAME =
'xaases'
VERSION =
"0.2.0"

Class Method Summary collapse

Class Method Details

.api(verb, path) ⇒ Object



36
37
38
39
40
41
# File 'lib/xaases/conf.rb', line 36

def self.api verb, path
  edit do |config|
    puts Color.yellow "Add API: #{verb} #{path}"
    config['APIs'][verb + ' ' + path] = []
  end
end

.dumpObject



19
20
21
# File 'lib/xaases/conf.rb', line 19

def self.dump
  YAML.dump @@config, File.open(CONF_NAME, 'w')
end

.edit {|@@config| ... } ⇒ Object

Yields:

  • (@@config)


23
24
25
26
27
# File 'lib/xaases/conf.rb', line 23

def self.edit(&block)
  self.load
  yield @@config
  dump
end

.initObject



6
7
8
9
# File 'lib/xaases/conf.rb', line 6

def self.init
  YAML.dump({ 'Tables' => {}, 'APIs' => {} }, File.open(CONF_NAME, 'w'))
  Color.warn "Created #{CONF_NAME}"
end

.loadObject



11
12
13
14
15
16
17
# File 'lib/xaases/conf.rb', line 11

def self.load
  begin
    @@config = YAML.load_file(CONF_NAME) || {}
  rescue Errno::ENOENT
    raise Error.new("Require '#{CONF_NAME}' file, you need run at 'xaases init' command.")
  end
end

.table(name, *columns) ⇒ Object



29
30
31
32
33
34
# File 'lib/xaases/conf.rb', line 29

def self.table name, *columns
  edit do |config|
    puts Color.yellow "Add table #{name}"
    config['Tables'][name] = columns
  end
end