Sha256: c1af0769da9c409b96ecf71b3ee52087817166e78ff08b92baab3febf457cf78

Contents?: true

Size: 1.41 KB

Versions: 17

Compression:

Stored size: 1.41 KB

Contents

$:.unshift( "../lib" )
require 'rubygems'
require 'capcode'
require 'capcode/base/dm'

class Story < Capcode::Base
  include Capcode::Resource
  
  property :id, Integer, :serial => true
  property :title, String
  property :body, String
  property :date, String
end

module Capcode
  class HTTPError
    def r404(f)
      "Pas glop !!! #{f} est inconnu !!!"
    end
  end
  
  class Index < Route '/'
    def get
      r = "<html><body>"
      
      story = Story.all
      
      story.each do |s|
        r += "<h2>#{s.title}</h2><small>#{s.date} - <a href='#{URL( Remove, s.id )}'>Delete this entry</a></small><p>#{s.body}</p>"
      end
      
      r+"<hr /><a href='#{URL(Add)}'>Add a new entry</a></body></html>"
    end
  end
  
  class Remove < Route '/remove/([^\/]*)'
    def get( id )
      Story.get!(id).destroy
      redirect( Index )
    end
  end
  
  class Add < Route '/add'
    def get
      '
        <html><body>
          <h1>Add a new entry</h1>
          <form method="POST">
            Titre : <input type="text" name="title"><br />
            <textarea name="body"></textarea><br />
            <input type="submit">
          </form>
        </body></html>
      '
    end
    def post
      Story.new( :title => params['title'], :body => params['body'], :date => Time.now.to_s ).save
      redirect( Index )
    end
  end
end

Capcode.run( :port => 3001, :host => "localhost", :db_config => "blog-dm.yml" )

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
Capcode-0.8.9 examples/blog-dm.rb
Capcode-0.8.8 examples/blog-dm.rb
Capcode-0.8.7 examples/blog-dm.rb
Capcode-0.8.6 examples/blog-dm.rb
Capcode-0.8.5 examples/blog-dm.rb
Capcode-0.8.4 examples/blog-dm.rb
Capcode-0.6.2 examples/blog-dm.rb
Capcode-0.7.1 examples/blog-dm.rb
Capcode-0.8.0 examples/blog-dm.rb
Capcode-0.8.1 examples/blog-dm.rb
Capcode-0.8.2 examples/blog-dm.rb
Capcode-0.2.0 examples/blog-dm.rb
Capcode-0.6.1 examples/blog-dm.rb
Capcode-0.6.0 examples/blog-dm.rb
Capcode-0.5.0 examples/blog-dm.rb
Capcode-0.4.0 examples/blog-dm.rb
Capcode-0.3.0 examples/blog-dm.rb