faastruby 0.4.18 → 0.5.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 +4 -4
- data/CHANGELOG.md +6 -3
- data/Gemfile.lock +28 -4
- data/README.md +63 -5
- data/faastruby.gemspec +5 -1
- data/lib/faastruby.rb +1 -0
- data/lib/faastruby/api.rb +154 -6
- data/lib/faastruby/base.rb +3 -9
- data/lib/faastruby/cli.rb +39 -12
- data/lib/faastruby/cli/base_command.rb +66 -0
- data/lib/faastruby/cli/commands.rb +122 -59
- data/lib/faastruby/cli/commands/account/base_command.rb +10 -0
- data/lib/faastruby/cli/commands/account/confirm.rb +94 -0
- data/lib/faastruby/cli/commands/account/login.rb +86 -0
- data/lib/faastruby/cli/commands/account/logout.rb +59 -0
- data/lib/faastruby/cli/commands/account/signup.rb +76 -0
- data/lib/faastruby/cli/commands/{function.rb → function/base_command.rb} +2 -11
- data/lib/faastruby/cli/commands/function/build.rb +18 -11
- data/lib/faastruby/cli/commands/function/deploy_to.rb +100 -37
- data/lib/faastruby/cli/commands/function/new.rb +89 -36
- data/lib/faastruby/cli/commands/function/remove_from.rb +21 -6
- data/lib/faastruby/cli/commands/function/run.rb +15 -15
- data/lib/faastruby/cli/commands/function/test.rb +5 -4
- data/lib/faastruby/cli/commands/function/update_context.rb +10 -3
- data/lib/faastruby/cli/commands/function/upgrade.rb +62 -61
- data/lib/faastruby/cli/commands/help.rb +33 -20
- data/lib/faastruby/cli/commands/project/base_command.rb +14 -0
- data/lib/faastruby/cli/commands/project/deploy.rb +114 -0
- data/lib/faastruby/cli/commands/project/down.rb +58 -0
- data/lib/faastruby/cli/commands/project/new.rb +237 -0
- data/lib/faastruby/cli/commands/workspace/cp.rb +107 -0
- data/lib/faastruby/cli/commands/workspace/create.rb +35 -27
- data/lib/faastruby/cli/commands/workspace/destroy.rb +14 -7
- data/lib/faastruby/cli/commands/workspace/list.rb +15 -6
- data/lib/faastruby/cli/commands/workspace/migrate.rb +93 -0
- data/lib/faastruby/cli/commands/workspace/rm.rb +81 -0
- data/lib/faastruby/cli/commands/workspace/update.rb +62 -0
- data/lib/faastruby/cli/credentials.rb +58 -57
- data/lib/faastruby/cli/new_credentials.rb +63 -0
- data/lib/faastruby/cli/package.rb +1 -0
- data/lib/faastruby/cli/template.rb +7 -7
- data/lib/faastruby/local.rb +188 -0
- data/lib/faastruby/local/crystal_runtime.cr +170 -0
- data/lib/faastruby/local/functions.rb +7 -0
- data/lib/faastruby/local/functions/crystal.rb +64 -0
- data/lib/faastruby/local/functions/function.rb +173 -0
- data/lib/faastruby/local/functions/ruby.rb +28 -0
- data/lib/faastruby/local/listeners.rb +5 -0
- data/lib/faastruby/local/listeners/listener.rb +104 -0
- data/lib/faastruby/local/logger.rb +37 -0
- data/lib/faastruby/local/monkey_patch.rb +38 -0
- data/lib/faastruby/local/processors.rb +7 -0
- data/lib/faastruby/local/processors/function.rb +151 -0
- data/lib/faastruby/local/processors/processor.rb +116 -0
- data/lib/faastruby/local/processors/static_file.rb +48 -0
- data/lib/faastruby/local/static_files.rb +5 -0
- data/lib/faastruby/local/static_files/static_file.rb +59 -0
- data/lib/faastruby/server.rb +44 -3
- data/lib/faastruby/server/app.rb +107 -0
- data/lib/faastruby/server/concurrency_controller.rb +50 -50
- data/lib/faastruby/server/config.ru +2 -0
- data/lib/faastruby/server/event.rb +3 -0
- data/lib/faastruby/server/event_hub.rb +7 -6
- data/lib/faastruby/server/local.rb +22 -0
- data/lib/faastruby/server/logger.rb +50 -0
- data/lib/faastruby/server/project_config.rb +44 -0
- data/lib/faastruby/server/puma.rb +4 -0
- data/lib/faastruby/server/response.rb +40 -0
- data/lib/faastruby/server/runner.rb +116 -21
- data/lib/faastruby/server/runner_methods.rb +17 -16
- data/lib/faastruby/server/sentinel.rb +496 -0
- data/lib/faastruby/supported_runtimes.rb +8 -0
- data/lib/faastruby/user.rb +77 -0
- data/lib/faastruby/version.rb +1 -1
- data/lib/faastruby/workspace.rb +36 -3
- data/templates/crystal/example-blank/handler.cr +3 -0
- data/templates/crystal/example/spec/handler_spec.cr +11 -6
- data/templates/public-web/assets/images/background.png +0 -0
- data/templates/public-web/assets/images/ruby.png +0 -0
- data/templates/public-web/assets/javascripts/main.js +1 -0
- data/templates/public-web/assets/stylesheets/main.css +70 -0
- data/templates/public-web/favicon.ico +0 -0
- data/templates/ruby/api-404/handler.rb +6 -0
- data/templates/ruby/api-root/handler.rb +6 -0
- data/templates/ruby/example-blank/handler.rb +0 -23
- data/templates/ruby/web-404/404.html +36 -0
- data/templates/ruby/web-404/handler.rb +3 -0
- data/templates/ruby/web-root/handler.rb +10 -0
- data/templates/ruby/web-root/index.html.erb +37 -0
- data/templates/ruby/web-root/template.rb +13 -0
- metadata +102 -21
- data/exe/faastruby-server +0 -76
- data/lib/faastruby/cli/commands/credentials.rb +0 -11
- data/lib/faastruby/cli/commands/credentials/add.rb +0 -58
- data/lib/faastruby/cli/commands/credentials/list.rb +0 -58
- data/lib/faastruby/cli/commands/workspace.rb +0 -13
- data/lib/faastruby/cli/commands/workspace/deploy.rb +0 -50
- data/templates/crystal/example-blank/README.md +0 -22
- data/templates/crystal/example-blank/spec/handler_spec.cr +0 -8
- data/templates/crystal/example-blank/spec/spec_helper.cr +0 -4
- data/templates/crystal/example-blank/src/handler.cr +0 -25
- data/templates/ruby/example-blank/Gemfile +0 -7
- data/templates/ruby/example-blank/README.md +0 -22
- data/templates/ruby/example-blank/spec/handler_spec.rb +0 -16
- data/templates/ruby/example-blank/spec/spec_helper.rb +0 -3
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
module FaaStRuby
|
|
2
|
+
# It is important that they are sorted in version order!
|
|
3
|
+
SUPPORTED_RUBY = ['2.5.3', '2.6.0', '2.6.1']
|
|
4
|
+
SUPPORTED_CRYSTAL = ['0.27.0', '0.27.2']
|
|
5
|
+
CRYSTAL_LATEST = SUPPORTED_CRYSTAL.last
|
|
6
|
+
RUBY_LATEST = SUPPORTED_RUBY.last
|
|
7
|
+
SUPPORTED_RUNTIMES = SUPPORTED_RUBY.map{|version| "ruby:#{version}"} + SUPPORTED_CRYSTAL.map{|version| "crystal:#{version}"}
|
|
8
|
+
end
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
module FaaStRuby
|
|
2
|
+
class User < BaseObject
|
|
3
|
+
def self.create(email:, password:)
|
|
4
|
+
api = API.new
|
|
5
|
+
user = User.new(email: email)
|
|
6
|
+
response = api.signup(email: email, password: password)
|
|
7
|
+
user.status_code = response.code
|
|
8
|
+
if response.errors.any?
|
|
9
|
+
user.errors += response.errors
|
|
10
|
+
return user
|
|
11
|
+
end
|
|
12
|
+
case response.code
|
|
13
|
+
when 422
|
|
14
|
+
user.errors += ['(422) Unprocessable Entity', response.body]
|
|
15
|
+
when 200, 201
|
|
16
|
+
true
|
|
17
|
+
else
|
|
18
|
+
user.errors << "(#{response.code}) Error"
|
|
19
|
+
end
|
|
20
|
+
return user
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
attr_accessor :email, :password, :status_code, :errors, :api_key, :api_secret, :confirmation_token
|
|
24
|
+
|
|
25
|
+
def logout(all: false)
|
|
26
|
+
response = @api.logout(api_key: @api_key, api_secret: @api_secret, all: all)
|
|
27
|
+
@status_code = response.code
|
|
28
|
+
@errors += response.errors if response.errors.any?
|
|
29
|
+
self
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def login
|
|
33
|
+
response = @api.login(email: @email, password: @password)
|
|
34
|
+
@status_code = response.code
|
|
35
|
+
if response.errors.any?
|
|
36
|
+
@errors += response.errors
|
|
37
|
+
return self
|
|
38
|
+
end
|
|
39
|
+
if response.body['credentials']
|
|
40
|
+
@api_key = response.body['credentials']['api_key']
|
|
41
|
+
@api_secret = response.body['credentials']['api_secret']
|
|
42
|
+
end
|
|
43
|
+
self
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def has_credentials?
|
|
47
|
+
@api_key && @api_secret
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def confirm_account!
|
|
51
|
+
response = @api.confirm_account(@confirmation_token)
|
|
52
|
+
@status_code = response.code
|
|
53
|
+
if response.errors.any?
|
|
54
|
+
@errors += response.errors
|
|
55
|
+
return self
|
|
56
|
+
end
|
|
57
|
+
if response.body['credentials']
|
|
58
|
+
@api_key = response.body['credentials']['api_key']
|
|
59
|
+
@api_secret = response.body['credentials']['api_secret']
|
|
60
|
+
end
|
|
61
|
+
self
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
def send_confirmation_code
|
|
65
|
+
response = @api.send_confirmation_code(@email)
|
|
66
|
+
@status_code = response.code
|
|
67
|
+
@errors += response.errors if response.errors.any?
|
|
68
|
+
self
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
def save_credentials
|
|
72
|
+
credentials_file = NewCredentials::CredentialsFile.new
|
|
73
|
+
credentials_file.save(email: @email, api_key: @api_key, api_secret: @api_secret)
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
end
|
|
77
|
+
end
|
data/lib/faastruby/version.rb
CHANGED
data/lib/faastruby/workspace.rb
CHANGED
|
@@ -18,6 +18,7 @@ module FaaStRuby
|
|
|
18
18
|
workspace.errors += ['(422) Unprocessable Entity', response.body]
|
|
19
19
|
when 200, 201
|
|
20
20
|
workspace.credentials = response.body['credentials']
|
|
21
|
+
workspace.runners_max = response.body['runners_max'].to_i if response.body['runners_max']
|
|
21
22
|
else
|
|
22
23
|
workspace.errors << "(#{response.code}) Error"
|
|
23
24
|
end
|
|
@@ -26,7 +27,7 @@ module FaaStRuby
|
|
|
26
27
|
###################
|
|
27
28
|
|
|
28
29
|
##### Instance methods
|
|
29
|
-
attr_accessor :name, :errors, :functions, :email, :object, :credentials, :updated_at, :created_at, :status_code, :provider
|
|
30
|
+
attr_accessor :name, :errors, :functions, :email, :object, :credentials, :updated_at, :created_at, :status_code, :provider, :runners_max, :runners_current, :static_metadata
|
|
30
31
|
|
|
31
32
|
def destroy
|
|
32
33
|
response = @api.destroy_workspace(@name)
|
|
@@ -34,8 +35,8 @@ module FaaStRuby
|
|
|
34
35
|
@errors += response.errors if response.errors.any?
|
|
35
36
|
end
|
|
36
37
|
|
|
37
|
-
def deploy(package_file_name)
|
|
38
|
-
response = @api.deploy(workspace_name: @name, package: package_file_name)
|
|
38
|
+
def deploy(package_file_name, root_to: false, catch_all: false, context: false)
|
|
39
|
+
response = @api.deploy(workspace_name: @name, package: package_file_name, root_to: root_to, catch_all: catch_all, context: context)
|
|
39
40
|
@status_code = response.code
|
|
40
41
|
@errors += response.errors if response.errors.any?
|
|
41
42
|
self
|
|
@@ -49,6 +50,14 @@ module FaaStRuby
|
|
|
49
50
|
self
|
|
50
51
|
end
|
|
51
52
|
|
|
53
|
+
def update_runners(value)
|
|
54
|
+
response = @api.update_runners(workspace_name: @name, runners_max: value)
|
|
55
|
+
@runners_max = response.body['runners_max'].to_i if response.body['runners_max'] rescue nil
|
|
56
|
+
@status_code = response.code
|
|
57
|
+
@errors += response.errors if response.errors.any?
|
|
58
|
+
self
|
|
59
|
+
end
|
|
60
|
+
|
|
52
61
|
def fetch
|
|
53
62
|
response = @api.get_workspace_info(@name)
|
|
54
63
|
@status_code = response.code
|
|
@@ -60,6 +69,28 @@ module FaaStRuby
|
|
|
60
69
|
self
|
|
61
70
|
end
|
|
62
71
|
|
|
72
|
+
def upload_file(package_file_name, relative_path:)
|
|
73
|
+
response = @api.upload_file(workspace_name: @name, package: package_file_name, relative_path: relative_path)
|
|
74
|
+
@status_code = response.code
|
|
75
|
+
@errors += response.errors if response.errors.any?
|
|
76
|
+
self
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
def delete_file(relative_path:)
|
|
80
|
+
response = @api.delele_file(workspace_name: @name, relative_path: relative_path)
|
|
81
|
+
@status_code = response.code
|
|
82
|
+
@errors += response.errors if response.errors.any?
|
|
83
|
+
self
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
def static_metadata
|
|
87
|
+
response = @api.get_static_metadata(@name)
|
|
88
|
+
@status_code = response.code
|
|
89
|
+
@errors += response.errors if response.errors.any?
|
|
90
|
+
@static_metadata = response.body['metadata']
|
|
91
|
+
self
|
|
92
|
+
end
|
|
93
|
+
|
|
63
94
|
def parse_attributes(attributes)
|
|
64
95
|
@functions = attributes['functions']
|
|
65
96
|
@email = attributes['email']
|
|
@@ -67,6 +98,8 @@ module FaaStRuby
|
|
|
67
98
|
@updated_at = attributes['updated_at']
|
|
68
99
|
@created_at = attributes['created_at']
|
|
69
100
|
@provider = attributes['provider']
|
|
101
|
+
@runners_max = attributes['runners_max'].to_i if attributes['runners_max'] rescue nil
|
|
102
|
+
@runners_current = attributes['runners_current'].to_i rescue nil
|
|
70
103
|
end
|
|
71
104
|
end
|
|
72
105
|
end
|
|
@@ -1,22 +1,27 @@
|
|
|
1
1
|
require "./spec_helper"
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
private def event_hash
|
|
4
|
+
{
|
|
5
5
|
"body" => nil,
|
|
6
6
|
"context" => nil,
|
|
7
7
|
"headers" => {"Content-Type" => "application/json"},
|
|
8
8
|
"query_params" => {} of String => String
|
|
9
9
|
}
|
|
10
|
-
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
private def event
|
|
13
|
+
Event.from_json(event_hash.to_json)
|
|
14
|
+
end
|
|
11
15
|
|
|
16
|
+
describe "handler(event)" do
|
|
12
17
|
it "should return String" do
|
|
13
18
|
body = handler(event).body
|
|
14
|
-
body.
|
|
19
|
+
body.should be_a String
|
|
15
20
|
end
|
|
21
|
+
|
|
16
22
|
it "should say Hello, World!" do
|
|
17
|
-
event_hash["body"] = nil
|
|
18
23
|
event = Event.from_json(event_hash.to_json)
|
|
19
24
|
body = handler(event).body
|
|
20
25
|
body.should eq("Hello, World!\n")
|
|
21
26
|
end
|
|
22
|
-
end
|
|
27
|
+
end
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
console.log('Welcome to FaaStRuby Local!');
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
* {
|
|
2
|
+
-webkit-font-smoothing: antialiased;
|
|
3
|
+
-moz-osx-font-smoothing: grayscale;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
html {
|
|
7
|
+
height: 100%;
|
|
8
|
+
margin: 0px;
|
|
9
|
+
background-image: url('/assets/images/background.png');
|
|
10
|
+
background-repeat: no-repeat;
|
|
11
|
+
background-size: cover;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
body {
|
|
15
|
+
margin: 0px;
|
|
16
|
+
padding-left: 30px;
|
|
17
|
+
padding-right: 30px;
|
|
18
|
+
font-family: 'Open Sans';
|
|
19
|
+
color: #ffffff;
|
|
20
|
+
height: 100%;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
h1,h2,h3,h4,h5,h6 {
|
|
24
|
+
font-family: 'Source Code Pro';
|
|
25
|
+
letter-spacing: -1px;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.paragraph {
|
|
29
|
+
font-family: 'Open Sans';
|
|
30
|
+
letter-spacing: 0px;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.text-center {
|
|
34
|
+
text-align: center;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.header {
|
|
38
|
+
height: 60px;
|
|
39
|
+
width: 100%;
|
|
40
|
+
display:table;
|
|
41
|
+
padding: 0px;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.logo-image-div {
|
|
45
|
+
vertical-align:middle;
|
|
46
|
+
display:table-cell;
|
|
47
|
+
width: 60px;
|
|
48
|
+
padding: 0px;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.logo-image {
|
|
52
|
+
width: 60px;
|
|
53
|
+
padding: 0px;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.logo-name-div {
|
|
57
|
+
vertical-align:middle;
|
|
58
|
+
display:table-cell;
|
|
59
|
+
padding-left: 5px;
|
|
60
|
+
padding-bottom: 6px;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.logo-name {
|
|
64
|
+
font-size: 45px;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.content {
|
|
68
|
+
width: 100%;
|
|
69
|
+
margin: 0px;
|
|
70
|
+
}
|
|
Binary file
|
|
@@ -1,26 +1,3 @@
|
|
|
1
|
-
# To deploy this function, cd into its folder and run:
|
|
2
|
-
# faastruby deploy-to WORKSPACE_NAME
|
|
3
1
|
def handler event
|
|
4
|
-
# The 'event' argument has the following attributes
|
|
5
|
-
# event.body - The request body
|
|
6
|
-
# event.context - The execution context
|
|
7
|
-
# event.headers - The request headers
|
|
8
|
-
# event.query_params - The query params
|
|
9
|
-
|
|
10
|
-
# FUNCTION RESPONSE
|
|
11
|
-
#
|
|
12
|
-
# You can render text, json, yaml, html or js. Example:
|
|
13
|
-
# render html: '<p>Hello World!</p>'
|
|
14
|
-
# render yaml: {hello: 'world!'}
|
|
15
|
-
#
|
|
16
|
-
# Status:
|
|
17
|
-
# The default status is 200. You can set a custom status like this:
|
|
18
|
-
# render json: {error: 'Could not perform the action'}, status: 422
|
|
19
|
-
#
|
|
20
|
-
# Headers:
|
|
21
|
-
# The 'Content-Type' header is automatically set when you use 'render'.
|
|
22
|
-
# You can set custom headers using a hash with string keys. Example:
|
|
23
|
-
# render text: 'It Works!', headers: {'TransactionId' => 23928}
|
|
24
|
-
|
|
25
2
|
# TODO: Write code here
|
|
26
3
|
end
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
|
|
2
|
+
<!DOCTYPE html>
|
|
3
|
+
<html lang="en">
|
|
4
|
+
|
|
5
|
+
<head>
|
|
6
|
+
|
|
7
|
+
<meta charset="utf-8">
|
|
8
|
+
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
|
9
|
+
<meta name="description" content="">
|
|
10
|
+
<meta name="author" content="">
|
|
11
|
+
|
|
12
|
+
<title>Page Not Found - FaaStRuby Local</title>
|
|
13
|
+
|
|
14
|
+
<link href="https://fonts.googleapis.com/css?family=Open+Sans:400,700|Source+Code+Pro:400,700" rel="stylesheet">
|
|
15
|
+
<link href="/assets/stylesheets/main.css" rel="stylesheet">
|
|
16
|
+
|
|
17
|
+
</head>
|
|
18
|
+
|
|
19
|
+
<body>
|
|
20
|
+
<header class="header">
|
|
21
|
+
<div class="logo-image-div">
|
|
22
|
+
<img src="/assets/images/ruby.png" class="logo-image">
|
|
23
|
+
</div>
|
|
24
|
+
<div class="logo-name-div">
|
|
25
|
+
<h1 class="logo-name">FaaStRuby</h1>
|
|
26
|
+
</div>
|
|
27
|
+
</header>
|
|
28
|
+
<div class="content">
|
|
29
|
+
<h1 class="text-center">Page Not Found</h1>
|
|
30
|
+
<p class="text-center">To customize this page, edit the function 'catch-all'.</p>
|
|
31
|
+
</div>
|
|
32
|
+
<!-- JavaScript -->
|
|
33
|
+
<script src="/assets/javascripts/main.js"></script>
|
|
34
|
+
</body>
|
|
35
|
+
|
|
36
|
+
</html>
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
require './template'
|
|
2
|
+
|
|
3
|
+
def handler event
|
|
4
|
+
greeting = "Welcome to FaaStRuby Local!"
|
|
5
|
+
render html: template('index.html.erb', variables: {greeting: greeting})
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
def template(file, variables: {})
|
|
9
|
+
Template.new(variables: variables).render(file)
|
|
10
|
+
end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
|
|
2
|
+
<!DOCTYPE html>
|
|
3
|
+
<html lang="en">
|
|
4
|
+
|
|
5
|
+
<head>
|
|
6
|
+
|
|
7
|
+
<meta charset="utf-8">
|
|
8
|
+
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
|
9
|
+
<meta name="description" content="">
|
|
10
|
+
<meta name="author" content="">
|
|
11
|
+
|
|
12
|
+
<title>Welcome! - FaaStRuby Local</title>
|
|
13
|
+
|
|
14
|
+
<link href="https://fonts.googleapis.com/css?family=Open+Sans:400,700|Source+Code+Pro:400,700" rel="stylesheet">
|
|
15
|
+
<link href="/assets/stylesheets/main.css" rel="stylesheet">
|
|
16
|
+
|
|
17
|
+
</head>
|
|
18
|
+
|
|
19
|
+
<body>
|
|
20
|
+
<header class="header">
|
|
21
|
+
<div class="logo-image-div">
|
|
22
|
+
<img src="/assets/images/ruby.png" class="logo-image">
|
|
23
|
+
</div>
|
|
24
|
+
<div class="logo-name-div">
|
|
25
|
+
<h1 class="logo-name">FaaStRuby</h1>
|
|
26
|
+
</div>
|
|
27
|
+
</header>
|
|
28
|
+
<div class="content">
|
|
29
|
+
<h1 class="text-center"><%= @greeting %></h1>
|
|
30
|
+
<p class="text-center">To customize this page, edit the function 'root'.</p>
|
|
31
|
+
</div>
|
|
32
|
+
|
|
33
|
+
<!-- JavaScript -->
|
|
34
|
+
<script src="/assets/javascripts/main.js"></script>
|
|
35
|
+
</body>
|
|
36
|
+
|
|
37
|
+
</html>
|
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.
|
|
4
|
+
version: 0.5.0
|
|
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-03-09 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rest-client
|
|
@@ -142,14 +142,56 @@ dependencies:
|
|
|
142
142
|
requirements:
|
|
143
143
|
- - "~>"
|
|
144
144
|
- !ruby/object:Gem::Version
|
|
145
|
-
version: 0.2
|
|
145
|
+
version: '0.2'
|
|
146
146
|
type: :runtime
|
|
147
147
|
prerelease: false
|
|
148
148
|
version_requirements: !ruby/object:Gem::Requirement
|
|
149
149
|
requirements:
|
|
150
150
|
- - "~>"
|
|
151
151
|
- !ruby/object:Gem::Version
|
|
152
|
-
version: 0.2
|
|
152
|
+
version: '0.2'
|
|
153
|
+
- !ruby/object:Gem::Dependency
|
|
154
|
+
name: tmuxinator
|
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
|
156
|
+
requirements:
|
|
157
|
+
- - "~>"
|
|
158
|
+
- !ruby/object:Gem::Version
|
|
159
|
+
version: '0.15'
|
|
160
|
+
type: :runtime
|
|
161
|
+
prerelease: false
|
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
163
|
+
requirements:
|
|
164
|
+
- - "~>"
|
|
165
|
+
- !ruby/object:Gem::Version
|
|
166
|
+
version: '0.15'
|
|
167
|
+
- !ruby/object:Gem::Dependency
|
|
168
|
+
name: rouge
|
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
|
170
|
+
requirements:
|
|
171
|
+
- - "~>"
|
|
172
|
+
- !ruby/object:Gem::Version
|
|
173
|
+
version: '3.3'
|
|
174
|
+
type: :runtime
|
|
175
|
+
prerelease: false
|
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
177
|
+
requirements:
|
|
178
|
+
- - "~>"
|
|
179
|
+
- !ruby/object:Gem::Version
|
|
180
|
+
version: '3.3'
|
|
181
|
+
- !ruby/object:Gem::Dependency
|
|
182
|
+
name: listen
|
|
183
|
+
requirement: !ruby/object:Gem::Requirement
|
|
184
|
+
requirements:
|
|
185
|
+
- - "~>"
|
|
186
|
+
- !ruby/object:Gem::Version
|
|
187
|
+
version: '3.1'
|
|
188
|
+
type: :runtime
|
|
189
|
+
prerelease: false
|
|
190
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
191
|
+
requirements:
|
|
192
|
+
- - "~>"
|
|
193
|
+
- !ruby/object:Gem::Version
|
|
194
|
+
version: '3.1'
|
|
153
195
|
- !ruby/object:Gem::Dependency
|
|
154
196
|
name: bundler
|
|
155
197
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -211,7 +253,6 @@ email:
|
|
|
211
253
|
- parrudaj@gmail.com
|
|
212
254
|
executables:
|
|
213
255
|
- faastruby
|
|
214
|
-
- faastruby-server
|
|
215
256
|
extensions: []
|
|
216
257
|
extra_rdoc_files: []
|
|
217
258
|
files:
|
|
@@ -227,17 +268,19 @@ files:
|
|
|
227
268
|
- bin/console
|
|
228
269
|
- bin/setup
|
|
229
270
|
- exe/faastruby
|
|
230
|
-
- exe/faastruby-server
|
|
231
271
|
- faastruby.gemspec
|
|
232
272
|
- lib/faastruby.rb
|
|
233
273
|
- lib/faastruby/api.rb
|
|
234
274
|
- lib/faastruby/base.rb
|
|
235
275
|
- lib/faastruby/cli.rb
|
|
276
|
+
- lib/faastruby/cli/base_command.rb
|
|
236
277
|
- lib/faastruby/cli/commands.rb
|
|
237
|
-
- lib/faastruby/cli/commands/
|
|
238
|
-
- lib/faastruby/cli/commands/
|
|
239
|
-
- lib/faastruby/cli/commands/
|
|
240
|
-
- lib/faastruby/cli/commands/
|
|
278
|
+
- lib/faastruby/cli/commands/account/base_command.rb
|
|
279
|
+
- lib/faastruby/cli/commands/account/confirm.rb
|
|
280
|
+
- lib/faastruby/cli/commands/account/login.rb
|
|
281
|
+
- lib/faastruby/cli/commands/account/logout.rb
|
|
282
|
+
- lib/faastruby/cli/commands/account/signup.rb
|
|
283
|
+
- lib/faastruby/cli/commands/function/base_command.rb
|
|
241
284
|
- lib/faastruby/cli/commands/function/build.rb
|
|
242
285
|
- lib/faastruby/cli/commands/function/deploy_to.rb
|
|
243
286
|
- lib/faastruby/cli/commands/function/new.rb
|
|
@@ -247,48 +290,85 @@ files:
|
|
|
247
290
|
- lib/faastruby/cli/commands/function/update_context.rb
|
|
248
291
|
- lib/faastruby/cli/commands/function/upgrade.rb
|
|
249
292
|
- lib/faastruby/cli/commands/help.rb
|
|
293
|
+
- lib/faastruby/cli/commands/project/base_command.rb
|
|
294
|
+
- lib/faastruby/cli/commands/project/deploy.rb
|
|
295
|
+
- lib/faastruby/cli/commands/project/down.rb
|
|
296
|
+
- lib/faastruby/cli/commands/project/new.rb
|
|
250
297
|
- lib/faastruby/cli/commands/version.rb
|
|
251
|
-
- lib/faastruby/cli/commands/workspace.rb
|
|
298
|
+
- lib/faastruby/cli/commands/workspace/cp.rb
|
|
252
299
|
- lib/faastruby/cli/commands/workspace/create.rb
|
|
253
|
-
- lib/faastruby/cli/commands/workspace/deploy.rb
|
|
254
300
|
- lib/faastruby/cli/commands/workspace/destroy.rb
|
|
255
301
|
- lib/faastruby/cli/commands/workspace/list.rb
|
|
302
|
+
- lib/faastruby/cli/commands/workspace/migrate.rb
|
|
303
|
+
- lib/faastruby/cli/commands/workspace/rm.rb
|
|
304
|
+
- lib/faastruby/cli/commands/workspace/update.rb
|
|
256
305
|
- lib/faastruby/cli/credentials.rb
|
|
306
|
+
- lib/faastruby/cli/new_credentials.rb
|
|
257
307
|
- lib/faastruby/cli/package.rb
|
|
258
308
|
- lib/faastruby/cli/template.rb
|
|
259
309
|
- lib/faastruby/function.rb
|
|
310
|
+
- lib/faastruby/local.rb
|
|
311
|
+
- lib/faastruby/local/crystal_runtime.cr
|
|
312
|
+
- lib/faastruby/local/functions.rb
|
|
313
|
+
- lib/faastruby/local/functions/crystal.rb
|
|
314
|
+
- lib/faastruby/local/functions/function.rb
|
|
315
|
+
- lib/faastruby/local/functions/ruby.rb
|
|
316
|
+
- lib/faastruby/local/listeners.rb
|
|
317
|
+
- lib/faastruby/local/listeners/listener.rb
|
|
318
|
+
- lib/faastruby/local/logger.rb
|
|
319
|
+
- lib/faastruby/local/monkey_patch.rb
|
|
320
|
+
- lib/faastruby/local/processors.rb
|
|
321
|
+
- lib/faastruby/local/processors/function.rb
|
|
322
|
+
- lib/faastruby/local/processors/processor.rb
|
|
323
|
+
- lib/faastruby/local/processors/static_file.rb
|
|
324
|
+
- lib/faastruby/local/static_files.rb
|
|
325
|
+
- lib/faastruby/local/static_files/static_file.rb
|
|
260
326
|
- lib/faastruby/server.rb
|
|
327
|
+
- lib/faastruby/server/app.rb
|
|
261
328
|
- lib/faastruby/server/concurrency_controller.rb
|
|
329
|
+
- lib/faastruby/server/config.ru
|
|
262
330
|
- lib/faastruby/server/errors.rb
|
|
263
331
|
- lib/faastruby/server/event.rb
|
|
264
332
|
- lib/faastruby/server/event_channel.rb
|
|
265
333
|
- lib/faastruby/server/event_hub.rb
|
|
266
334
|
- lib/faastruby/server/function_object.rb
|
|
335
|
+
- lib/faastruby/server/local.rb
|
|
336
|
+
- lib/faastruby/server/logger.rb
|
|
337
|
+
- lib/faastruby/server/project_config.rb
|
|
338
|
+
- lib/faastruby/server/puma.rb
|
|
267
339
|
- lib/faastruby/server/response.rb
|
|
268
340
|
- lib/faastruby/server/runner.rb
|
|
269
341
|
- lib/faastruby/server/runner_methods.rb
|
|
342
|
+
- lib/faastruby/server/sentinel.rb
|
|
270
343
|
- lib/faastruby/server/subscriber.rb
|
|
271
344
|
- lib/faastruby/spec_helper.rb
|
|
345
|
+
- lib/faastruby/supported_runtimes.rb
|
|
346
|
+
- lib/faastruby/user.rb
|
|
272
347
|
- lib/faastruby/version.rb
|
|
273
348
|
- lib/faastruby/workspace.rb
|
|
274
|
-
- templates/crystal/example-blank/
|
|
275
|
-
- templates/crystal/example-blank/spec/handler_spec.cr
|
|
276
|
-
- templates/crystal/example-blank/spec/spec_helper.cr
|
|
277
|
-
- templates/crystal/example-blank/src/handler.cr
|
|
349
|
+
- templates/crystal/example-blank/handler.cr
|
|
278
350
|
- templates/crystal/example/README.md
|
|
279
351
|
- templates/crystal/example/spec/handler_spec.cr
|
|
280
352
|
- templates/crystal/example/spec/spec_helper.cr
|
|
281
353
|
- templates/crystal/example/src/handler.cr
|
|
282
|
-
- templates/
|
|
283
|
-
- templates/
|
|
354
|
+
- templates/public-web/assets/images/background.png
|
|
355
|
+
- templates/public-web/assets/images/ruby.png
|
|
356
|
+
- templates/public-web/assets/javascripts/main.js
|
|
357
|
+
- templates/public-web/assets/stylesheets/main.css
|
|
358
|
+
- templates/public-web/favicon.ico
|
|
359
|
+
- templates/ruby/api-404/handler.rb
|
|
360
|
+
- templates/ruby/api-root/handler.rb
|
|
284
361
|
- templates/ruby/example-blank/handler.rb
|
|
285
|
-
- templates/ruby/example-blank/spec/handler_spec.rb
|
|
286
|
-
- templates/ruby/example-blank/spec/spec_helper.rb
|
|
287
362
|
- templates/ruby/example/Gemfile
|
|
288
363
|
- templates/ruby/example/README.md
|
|
289
364
|
- templates/ruby/example/handler.rb
|
|
290
365
|
- templates/ruby/example/spec/handler_spec.rb
|
|
291
366
|
- templates/ruby/example/spec/spec_helper.rb
|
|
367
|
+
- templates/ruby/web-404/404.html
|
|
368
|
+
- templates/ruby/web-404/handler.rb
|
|
369
|
+
- templates/ruby/web-root/handler.rb
|
|
370
|
+
- templates/ruby/web-root/index.html.erb
|
|
371
|
+
- templates/ruby/web-root/template.rb
|
|
292
372
|
homepage: https://faastruby.io
|
|
293
373
|
licenses:
|
|
294
374
|
- MIT
|
|
@@ -308,7 +388,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
308
388
|
- !ruby/object:Gem::Version
|
|
309
389
|
version: '0'
|
|
310
390
|
requirements: []
|
|
311
|
-
|
|
391
|
+
rubyforge_project:
|
|
392
|
+
rubygems_version: 2.7.8
|
|
312
393
|
signing_key:
|
|
313
394
|
specification_version: 4
|
|
314
395
|
summary: FaaStRuby CLI - Manage workspaces and functions hosted at faastruby.io.
|