Initial Sinatra project structure
This commit is contained in:
parent
7bc5ef2e82
commit
bdc316ba9e
7
Gemfile
Normal file
7
Gemfile
Normal file
@ -0,0 +1,7 @@
|
||||
source 'https://rubygems.org'
|
||||
|
||||
gem 'sinatra', '~> 3.0'
|
||||
gem 'puma', '~> 6.0'
|
||||
|
||||
gem 'rerun'
|
||||
|
38
Gemfile.lock
Normal file
38
Gemfile.lock
Normal file
@ -0,0 +1,38 @@
|
||||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
ffi (1.15.5)
|
||||
listen (3.7.1)
|
||||
rb-fsevent (~> 0.10, >= 0.10.3)
|
||||
rb-inotify (~> 0.9, >= 0.9.10)
|
||||
mustermann (3.0.0)
|
||||
ruby2_keywords (~> 0.0.1)
|
||||
nio4r (2.5.8)
|
||||
puma (6.0.0)
|
||||
nio4r (~> 2.0)
|
||||
rack (2.2.4)
|
||||
rack-protection (3.0.4)
|
||||
rack
|
||||
rb-fsevent (0.11.2)
|
||||
rb-inotify (0.10.1)
|
||||
ffi (~> 1.0)
|
||||
rerun (0.13.1)
|
||||
listen (~> 3.0)
|
||||
ruby2_keywords (0.0.5)
|
||||
sinatra (3.0.4)
|
||||
mustermann (~> 3.0)
|
||||
rack (~> 2.2, >= 2.2.4)
|
||||
rack-protection (= 3.0.4)
|
||||
tilt (~> 2.0)
|
||||
tilt (2.0.11)
|
||||
|
||||
PLATFORMS
|
||||
x86_64-linux
|
||||
|
||||
DEPENDENCIES
|
||||
puma (~> 6.0)
|
||||
rerun
|
||||
sinatra (~> 3.0)
|
||||
|
||||
BUNDLED WITH
|
||||
2.3.5
|
11
Rakefile
Normal file
11
Rakefile
Normal file
@ -0,0 +1,11 @@
|
||||
require 'bundler/setup'
|
||||
|
||||
namespace :server do
|
||||
task :dev do
|
||||
%x{puma -C puma.rb}
|
||||
end
|
||||
|
||||
task :reload do
|
||||
%x{rerun --no-notify 'puma -C puma.rb'}
|
||||
end
|
||||
end
|
9
app/controllers/auth.rb
Normal file
9
app/controllers/auth.rb
Normal file
@ -0,0 +1,9 @@
|
||||
class AuthController < Sinatra::Base
|
||||
|
||||
get '/login' do
|
||||
erb :'auth/login', :locals => {
|
||||
:title => 'Login to your account'
|
||||
}
|
||||
end
|
||||
|
||||
end
|
9
app/controllers/index.rb
Normal file
9
app/controllers/index.rb
Normal file
@ -0,0 +1,9 @@
|
||||
class IndexController < Sinatra::Base
|
||||
|
||||
get '/' do
|
||||
erb :index, :locals => {
|
||||
:title => 'Home'
|
||||
}
|
||||
end
|
||||
|
||||
end
|
10
app/settings.rb
Normal file
10
app/settings.rb
Normal file
@ -0,0 +1,10 @@
|
||||
class Sinatra::Base
|
||||
|
||||
configure do
|
||||
enable :sessions
|
||||
|
||||
set :views, './views'
|
||||
set :public_folder, './public'
|
||||
end
|
||||
|
||||
end
|
15
config.ru
Normal file
15
config.ru
Normal file
@ -0,0 +1,15 @@
|
||||
require 'rubygems'
|
||||
require 'sinatra/base'
|
||||
|
||||
require_relative 'app/settings.rb'
|
||||
|
||||
require_relative 'app/controllers/index.rb'
|
||||
require_relative 'app/controllers/auth.rb'
|
||||
|
||||
map "/" do
|
||||
run IndexController
|
||||
end
|
||||
|
||||
map "/auth" do
|
||||
run AuthController
|
||||
end
|
8
puma.rb
Normal file
8
puma.rb
Normal file
@ -0,0 +1,8 @@
|
||||
root = Dir.getwd.to_s
|
||||
|
||||
bind 'tcp://0.0.0.0:3108'
|
||||
pidfile '/tmp/puma.pid'
|
||||
state_path '/tmp/puma.state'
|
||||
rackup root.to_s + '/config.ru'
|
||||
|
||||
threads 4, 8
|
30
views/auth/login.erb
Normal file
30
views/auth/login.erb
Normal file
@ -0,0 +1,30 @@
|
||||
<div class="row">
|
||||
<div class="twelve columns">
|
||||
<form action="/auth/login" method="POST" class="u-full-width">
|
||||
|
||||
<div class="row">
|
||||
<div class="three columns"><p></p></div>
|
||||
<div class="six columns">
|
||||
<label for="auth_username">Username:</label>
|
||||
<input id="auth_username" class="u-full-width" type="text" name="auth_username" required>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="three columns"><p></p></div>
|
||||
<div class="six columns">
|
||||
<label for="auth_password">Password:</label>
|
||||
<input id="auth_password" class="u-full-width" type="text" name="auth_password" required>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="three columns"><p></p></div>
|
||||
<div class="six columns">
|
||||
<input class="button button-primary u-full-width" type="submit" value="Login!">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
6
views/index.erb
Normal file
6
views/index.erb
Normal file
@ -0,0 +1,6 @@
|
||||
<div class="row">
|
||||
<div class="twelve columns">
|
||||
<h1>Welcome to Webdap!</h1>
|
||||
<p>You can use this site to manage your network account. <a href="/auth/login">Click here</a> to login.</p>
|
||||
</div>
|
||||
</div>
|
15
views/layout.erb
Normal file
15
views/layout.erb
Normal file
@ -0,0 +1,15 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title><%= title %> | Webdap</title>
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/skeleton/2.0.4/skeleton.min.css">
|
||||
</head>
|
||||
<body>
|
||||
<div id="main-wrapper" class="container">
|
||||
<%= yield %>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
Loading…
Reference in New Issue
Block a user