Slide 15
Slide 15 text
class PageResource < Webmachine::Resource
def allowed_methods
['GET', 'HEAD', 'PUT']
end
def resource_exists?
page
end
def content_types_accepted
[['application/json', :from_json]]
end
def content_types_provided
[['text/html', :as_html]]
end
def from_json
params = JSON.parse(request.body.to_s)
redis.set id, "#{params['title']}#{params['body']}"
end
def as_html
page
end
private
def page
@page ||= redis.get id
end
def id
request.path_info[:id]
end
end