faastruby 0.5.21 → 0.5.22
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +7 -1
- data/Gemfile.lock +7 -7
- data/lib/faastruby/cli/commands/function/build.rb +2 -2
- data/lib/faastruby/cli/commands/function/deploy_to.rb +2 -1
- data/lib/faastruby/cli/package.rb +3 -2
- data/lib/faastruby/local.rb +1 -1
- data/lib/faastruby/local/crystal_runtime.cr +6 -5
- data/lib/faastruby/local/functions/function.rb +1 -0
- data/lib/faastruby/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3e08bac2ed5dcabe21891e5945035651d1013743aadba90de392ef7295cd2a95
|
4
|
+
data.tar.gz: ad2984694a429edd97df32d53cbe2594a67282f1158ae3ddc0853a9b51e150de
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bc3264038b2bff85ad9e5b2f2a52133d0bd0c91b250a931dd6b5d467bfd02e9e9cfeeb64f19a50f4a1915867634d4ce4a5db467ebb73130a051e5eb8e420fbee
|
7
|
+
data.tar.gz: 43e91e8bc235ee6de9147d8085113bc3511668349b1b5a708e7bf971fbfe9a7324bdc80f519da390b7712ed5bfe517488beb3754ac236d86e9a450c6570c1271
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,12 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
-
## 0.5.
|
3
|
+
## 0.5.22 - unreleased
|
4
|
+
- Detect Crystal functions that have `handler.cr` inside `src` directory
|
5
|
+
- Exclude Crystal function handler binaries when generating a deployment package
|
6
|
+
- Move Crystal Runtime Macro to the top of the file, outside the FaaStRuby module
|
7
|
+
- Fix bug preventing `--sync` from working with any other environment.
|
8
|
+
|
9
|
+
## 0.5.21 - Mar 24 2019
|
4
10
|
- Require supported_runtimes on every command run.
|
5
11
|
|
6
12
|
## 0.5.20 - Mar 24 2019
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
faastruby (0.5.
|
4
|
+
faastruby (0.5.22)
|
5
5
|
colorize (~> 0.8)
|
6
6
|
faastruby-rpc (~> 0.2.6)
|
7
7
|
listen (~> 3.1)
|
@@ -42,7 +42,7 @@ GEM
|
|
42
42
|
ruby_dep (~> 1.2)
|
43
43
|
mime-types (3.2.2)
|
44
44
|
mime-types-data (~> 3.2015)
|
45
|
-
mime-types-data (3.
|
45
|
+
mime-types-data (3.2019.0331)
|
46
46
|
multi_json (1.13.1)
|
47
47
|
mustermann (1.0.3)
|
48
48
|
necromancer (0.4.0)
|
@@ -93,10 +93,10 @@ GEM
|
|
93
93
|
rack-protection (= 2.0.5)
|
94
94
|
sinatra (= 2.0.5)
|
95
95
|
tilt (>= 1.3, < 3)
|
96
|
-
strings (0.1.
|
97
|
-
strings-ansi (~> 0.1
|
98
|
-
unicode-display_width (~> 1.
|
99
|
-
unicode_utils (~> 1.4
|
96
|
+
strings (0.1.5)
|
97
|
+
strings-ansi (~> 0.1)
|
98
|
+
unicode-display_width (~> 1.5)
|
99
|
+
unicode_utils (~> 1.4)
|
100
100
|
strings-ansi (0.1.0)
|
101
101
|
thor (0.20.3)
|
102
102
|
tilt (2.0.9)
|
@@ -118,7 +118,7 @@ GEM
|
|
118
118
|
unf (0.1.4)
|
119
119
|
unf_ext
|
120
120
|
unf_ext (0.0.7.5)
|
121
|
-
unicode-display_width (1.
|
121
|
+
unicode-display_width (1.5.0)
|
122
122
|
unicode_utils (1.4.0)
|
123
123
|
webmock (3.4.2)
|
124
124
|
addressable (>= 2.3.6)
|
@@ -4,10 +4,10 @@ module FaaStRuby
|
|
4
4
|
require 'faastruby/cli/commands/function/base_command'
|
5
5
|
require 'faastruby/cli/package'
|
6
6
|
class Build < FunctionBaseCommand
|
7
|
-
def self.build(source, output_file, function_name, quiet = false)
|
7
|
+
def self.build(source, output_file, function_name, quiet = false, exclude: [])
|
8
8
|
# msg = "[#{function_name}] Building package..."
|
9
9
|
# quiet ? puts(msg) : spinner = spin(msg)
|
10
|
-
FaaStRuby::Package.new(source, output_file).build
|
10
|
+
FaaStRuby::Package.new(source, output_file, exclude: exclude).build
|
11
11
|
# quiet ? puts("[#{function_name}] Package created.") : spinner.stop('Done!')
|
12
12
|
puts "+ f #{output_file}".green unless quiet
|
13
13
|
end
|
@@ -163,7 +163,8 @@ module FaaStRuby
|
|
163
163
|
spinner&.success
|
164
164
|
end
|
165
165
|
require 'faastruby/cli/commands/function/build'
|
166
|
-
|
166
|
+
exclude = crystal_runtime? ? ['handler', 'handler.dwarf'] : []
|
167
|
+
FaaStRuby::Command::Function::Build.build(source, output_file, @function_name, true, exclude: exclude)
|
167
168
|
@package_file.close
|
168
169
|
output_file
|
169
170
|
end
|
@@ -2,15 +2,16 @@ require 'zip'
|
|
2
2
|
module FaaStRuby
|
3
3
|
class Package
|
4
4
|
# Initialize with the directory to zip and the location of the output archive.
|
5
|
-
def initialize(input_dir, output_file)
|
5
|
+
def initialize(input_dir, output_file, exclude: [])
|
6
6
|
@input_dir = input_dir
|
7
7
|
@output_file = output_file
|
8
|
+
@exclude = ['.', '..', '.git', @output_file.split('/').last] + exclude
|
8
9
|
end
|
9
10
|
|
10
11
|
# Zip the input directory.
|
11
12
|
def build
|
12
13
|
entries = Dir.entries(@input_dir)
|
13
|
-
entries.delete_if {|e|
|
14
|
+
entries.delete_if {|e| @exclude.include?(e)}
|
14
15
|
FileUtils.rm_f(@output_file) # Make sure file doesn't exist
|
15
16
|
::Zip::File.open(@output_file, ::Zip::File::CREATE) do |zipfile|
|
16
17
|
write_entries entries, '', zipfile
|
data/lib/faastruby/local.rb
CHANGED
@@ -161,7 +161,7 @@ module FaaStRuby
|
|
161
161
|
debug __method__
|
162
162
|
puts "Sync mode enabled."
|
163
163
|
puts "Your local environment will be synced to https://#{workspace}.tor1.faast.cloud"
|
164
|
-
system("faastruby deploy")
|
164
|
+
system("faastruby deploy --env #{DEPLOY_ENVIRONMENT}")
|
165
165
|
true
|
166
166
|
end
|
167
167
|
|
@@ -2,10 +2,13 @@ require "base64"
|
|
2
2
|
require "json"
|
3
3
|
require "yaml"
|
4
4
|
|
5
|
+
macro require_handler
|
6
|
+
require {{env("HANDLER_PATH")}}
|
7
|
+
end
|
8
|
+
|
9
|
+
require_handler
|
10
|
+
|
5
11
|
module FaaStRuby
|
6
|
-
macro require_handler
|
7
|
-
require {{env("HANDLER_PATH")}}
|
8
|
-
end
|
9
12
|
class Event
|
10
13
|
JSON.mapping(
|
11
14
|
body: String?,
|
@@ -68,8 +71,6 @@ module FaaStRuby
|
|
68
71
|
end
|
69
72
|
end
|
70
73
|
|
71
|
-
FaaStRuby.require_handler
|
72
|
-
|
73
74
|
def render(icon : String? = nil, jpeg : String? = nil, gif : String? = nil, png : String? = nil, io : Bytes? = nil, css : String? = nil, svg : String? = nil, js : String? = nil, inline : String? = nil, html : String? = nil, json : String? = nil, yaml : String? = nil, text : String? = nil, status : Int32 = 200, headers : Hash(String, String) = {} of String => String, content_type : String? = nil, binary : Bool = false)
|
74
75
|
headers["Content-Type"] = content_type if content_type
|
75
76
|
bin = false
|
@@ -8,6 +8,7 @@ module FaaStRuby
|
|
8
8
|
debug "self.find_all_in(#{functions_dir.inspect})"
|
9
9
|
Dir.glob(["**/handler.rb", "**/handler.cr"], base: functions_dir).map do |entry|
|
10
10
|
function_absolute_folder = "#{functions_dir}/#{File.dirname(entry)}"
|
11
|
+
function_absolute_folder = File.dirname(function_absolute_folder) if File.basename(function_absolute_folder) == "src"
|
11
12
|
next unless File.file?("#{function_absolute_folder}/faastruby.yml")
|
12
13
|
from_yaml(function_absolute_folder)
|
13
14
|
end.compact
|
data/lib/faastruby/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: faastruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.22
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Paulo Arruda
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-04-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rest-client
|