-
Notifications
You must be signed in to change notification settings - Fork 0
/
server.rb
37 lines (32 loc) · 1.02 KB
/
server.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
require 'sinatra'
require 'pry'
get '/articles' do
@stories = File.readlines('stories.csv')
@story = []
@stories.each do |story|
@story << story.gsub('\n', '').split(',')
end
erb :index
end
get '/articles/new' do
erb :form
end
post '/articles/new' do
@title = params['title']
@url = params['url']
@description = params['description']
if @title.empty? || @url.empty? || @description.length < 20
# if the parameters are empty only redirect to an error page
@errormessage="The form was not filled out correctly. All feilds are required, the url must be valid, and the description must be 20 characters."
erb :form
else
File.open('stories.csv', 'a') do |file|
file.puts("#{@title}, #{@url}, #{@description}")
end
redirect '/articles'
end
end
# These lines can be removed since they are using the default values. They've
# been included to explicitly show the configuration options.
set :views, File.dirname(__FILE__) + '/views'
set :public_folder, File.dirname(__FILE__) + '/public'