first commit
This commit is contained in:
commit
cf35af7110
7
Gemfile
Normal file
7
Gemfile
Normal file
@ -0,0 +1,7 @@
|
||||
# A sample Gemfile
|
||||
source "https://rubygems.org"
|
||||
|
||||
gem "sinatra"
|
||||
gem "sinatra-contrib"
|
||||
gem "sequel"
|
||||
gem "sqlite3"
|
33
Gemfile.lock
Normal file
33
Gemfile.lock
Normal file
@ -0,0 +1,33 @@
|
||||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
backports (3.6.4)
|
||||
multi_json (1.10.1)
|
||||
rack (1.6.0)
|
||||
rack-protection (1.5.3)
|
||||
rack
|
||||
rack-test (0.6.3)
|
||||
rack (>= 1.0)
|
||||
sequel (4.18.0)
|
||||
sinatra (1.4.5)
|
||||
rack (~> 1.4)
|
||||
rack-protection (~> 1.4)
|
||||
tilt (~> 1.3, >= 1.3.4)
|
||||
sinatra-contrib (1.4.2)
|
||||
backports (>= 2.0)
|
||||
multi_json
|
||||
rack-protection
|
||||
rack-test
|
||||
sinatra (~> 1.4.0)
|
||||
tilt (~> 1.3)
|
||||
sqlite3 (1.3.10)
|
||||
tilt (1.4.1)
|
||||
|
||||
PLATFORMS
|
||||
ruby
|
||||
|
||||
DEPENDENCIES
|
||||
sequel
|
||||
sinatra
|
||||
sinatra-contrib
|
||||
sqlite3
|
15
Rakefile
Normal file
15
Rakefile
Normal file
@ -0,0 +1,15 @@
|
||||
namespace :db do
|
||||
require 'sequel'
|
||||
Sequel.extension :migration
|
||||
|
||||
task :migrate do
|
||||
m = Sequel::Migrator
|
||||
db = Sequel.connect(ENV['DATABASE_URL'] || 'sqlite://library.sqlite')
|
||||
dir = "migrations"
|
||||
|
||||
target = ENV['TARGET'] ? ENV['TARGET'].to_i : nil
|
||||
current = ENV['CURRENT'] ? ENV['CURRENT'].to_i : nil
|
||||
|
||||
m.run(db, dir, target: target, current: current)
|
||||
end
|
||||
end
|
33
app.rb
Normal file
33
app.rb
Normal file
@ -0,0 +1,33 @@
|
||||
require "sinatra"
|
||||
require "sinatra/json"
|
||||
require "sequel"
|
||||
|
||||
NODES = {}
|
||||
|
||||
Sequel.connect(ENV["DATABASE_URL"] || "sqlite://meet4eat.db")
|
||||
|
||||
class Node < Sequel::Model
|
||||
def to_json(options={})
|
||||
{
|
||||
id: name,
|
||||
room: room
|
||||
}.to_json
|
||||
end
|
||||
end
|
||||
|
||||
get '/nodes' do
|
||||
json({ nodes: Node.all })
|
||||
end
|
||||
|
||||
put '/nodes/:id' do
|
||||
node = Node.where(name: params[:id]).first
|
||||
node ||= Node.new(name: params[:id])
|
||||
node.room = params[:room] || "default"
|
||||
node.save
|
||||
json("")
|
||||
end
|
||||
|
||||
delete '/nodes/:id' do
|
||||
Node.where(name: params[:id]).delete
|
||||
json("")
|
||||
end
|
9
migrations/1_init_db.rb
Normal file
9
migrations/1_init_db.rb
Normal file
@ -0,0 +1,9 @@
|
||||
Sequel.migration do
|
||||
change do
|
||||
create_table(:nodes) do
|
||||
primary_key :id
|
||||
String :room, null: false
|
||||
String :name, null: false
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Reference in New Issue
Block a user