moodtracker/mood_app.rb

35 lines
733 B
Ruby
Raw Normal View History

2024-02-11 22:19:19 +01:00
require 'sinatra/base'
require 'sinatra/namespace'
require 'sinatra/activerecord'
class MoodApp < Sinatra::Base
register Sinatra::ActiveRecordExtension
register Sinatra::Namespace
set :database, { adapter: 'sqlite3', database: 'mood.sqlite3' }
get '/' do
@last_mood = Mood.order(recorded_at: :desc).first
erb :index
end
namespace '/api/v1' do
before do
content_type 'application/json'
end
post '/moods' do
json = request.body.read
puts json
data = JSON.parse json
Mood.create(mode: data['mode'], recorded_at: Time.now)
end
end
run! if app_file == $0
end
class Mood < ActiveRecord::Base
validates_presence_of :mode
validates_presence_of :recorded_at
end