class Tck::Lambdas::CLI
Public Class Methods
source_root()
click to toggle source
# File lib/tck/lambdas/cli.rb, line 10 def self.source_root File.dirname(__FILE__) end
Public Instance Methods
all()
click to toggle source
# File lib/tck/lambdas/cli.rb, line 20 def all puts "Available functions in tck-lambdas:" Dir["#{CLI.source_root}/*/source"].map do |dir| puts " - #{dir.match(/lambdas\/(.*)\/source/)[1]}" end end
roles()
click to toggle source
# File lib/tck/lambdas/cli.rb, line 62 def roles cmd = 'aws iam list-roles --query "Roles[].[RoleName,Arn]"' puts cmd puts `#{cmd}` end
use(name)
click to toggle source
# File lib/tck/lambdas/cli.rb, line 42 def use(name) puts "#{CLI.source_root}/#{name}" if File.directory?("#{CLI.source_root}/#{name}") @lambda = Tck::Lambdas::AwsFunction.new(name) copy_file "Rakefile" copy_file "Gemfile.example" template "templates/lambdas.yml.erb", ".lambdas.yml" template "templates/lambdas.rake.erb", "lib/tasks/lambdas.rake" template "templates/serverless.yml.erb", "serverless.yml" template "templates/handler.js.erb", "handler.js" copy_file "aws_function.rb", "lib/tck/lambdas/aws_function.rb" copy_file "test.rb", "lambdas/test.rb" directory name, "lambdas/#{name}" else raise "Sorry, '#{name}' is not a valid lambda name." end end
used()
click to toggle source
# File lib/tck/lambdas/cli.rb, line 28 def used yaml = Tck::Lambdas::AwsFunction.yaml if yaml.any? puts "Functions currently used by this project:" yaml.each do |lambda_name, properties| puts " - #{properties["function-name"]} (cloned from '#{lambda_name}')" end else puts "No lambdas found in this directory... :(" end end
version()
click to toggle source
# File lib/tck/lambdas/cli.rb, line 15 def version puts "tck-lambdas v" + Tck::Lambdas::VERSION end