jarbs 0.5.6 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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