jarbs 0.5.6 → 0.6.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: 9bd564b81161e04d904a2cc879267146499aaced
4
- data.tar.gz: aeb183426fef0c972a8662f5c52d24308daf3bf0
3
+ metadata.gz: 00319947788f0b023a2448fa5ec31590d0daaa40
4
+ data.tar.gz: 57727ea98e33ba9322fd2280387c4439f02a257b
5
5
  SHA512:
6
- metadata.gz: 40d150e9161357387bc3c657ea1b032049ab45d36e30cb1650188c326df4f609846c04c02178b5f6442eed6979d8cb75c6c1fdf0b4593a58e4c858f9824c5518
7
- data.tar.gz: e82c148d7d2a06c0082c231ba06b5b1f2acf92ec405e6a7bae2c86a9b851726d1047b04544c06a234be1a5f8070e8dfdad8ad870809b9d4a33254c4f202cb5da
6
+ metadata.gz: ca6ef2149782919ad94d4542d339bdf41aee825e1fd475104c1da06753cc94c5e61d94e2e838ad06237bcfb7f3a680e29d2241a8f5736055bf8e630a71a8f201
7
+ data.tar.gz: 56ef77f08d6487dbddaa317a6b85871d75ffee5ae72238cacb4ab0766db1939529316442fadc60e032f67a88f317fdeafba5cbba5d20b1a9bb78e53466a29d74
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- jarbs (0.5.6)
4
+ jarbs (0.6.0)
5
5
  aws-sdk (~> 2)
6
6
  commander
7
7
  crash-reporter
@@ -17,6 +17,7 @@ npm-debug.log*
17
17
  # Misc
18
18
  *.swp
19
19
  /dest/
20
+ *.zip
20
21
 
21
22
  # Secrets and config
22
23
  .env
data/lib/jarbs/lambda.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  require 'aws-sdk'
2
+ require 'base64'
2
3
 
3
4
  require 'jarbs/function_definition'
4
5
  require 'jarbs/manifest_helpers'
@@ -77,6 +78,25 @@ module Jarbs
77
78
  @client.get_function(function_name: @function.env_name)
78
79
  end
79
80
 
81
+ def invoke(payload="")
82
+ payload = JSON.generate(payload) unless payload.is_a? String
83
+
84
+ say "Invoking with:\n\n#{payload}\n\n"
85
+
86
+ capture_errors do
87
+ resp = @client.invoke function_name: @function.env_name,
88
+ log_type: 'Tail',
89
+ payload: payload
90
+
91
+
92
+ if resp.successful?
93
+ say_ok Base64.decode64(resp.data.log_result)
94
+ else
95
+ say_error resp.error.message
96
+ end
97
+ end
98
+ end
99
+
80
100
  def deployed?
81
101
  true if info
82
102
  rescue Aws::Lambda::Errors::ResourceNotFoundException => e
data/lib/jarbs/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Jarbs
2
- VERSION = "0.5.6"
2
+ VERSION = "0.6.0"
3
3
  end
data/lib/jarbs.rb CHANGED
@@ -131,6 +131,25 @@ for compatability.
131
131
  end
132
132
  end
133
133
 
134
+ command :invoke do |c|
135
+ c.syntax = 'jarbs run NAME [payload]'
136
+ c.summary = 'Invoke the lambda function and prints the cloudwatch logs.'
137
+ c.option '--file FILE', 'JSON file to use as the payload (ignored if payload is specified in the command).'
138
+ c.action do |args, options|
139
+ name = args.shift || abort('Name argument required')
140
+ payload = args.shift || ""
141
+
142
+ if payload.nil? && File.exists?(options.file)
143
+ payload = File.read(options.file)
144
+ end
145
+
146
+ options.default global_defaults
147
+
148
+ lambda = Lambda.new(name, options)
149
+ lambda.invoke(payload)
150
+ end
151
+ end
152
+
134
153
  run!
135
154
  end
136
155
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jarbs
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.6
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Luke van der Hoeven
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-11-13 00:00:00.000000000 Z
11
+ date: 2015-11-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: commander