Sha256: de11c6ca831c5086b32b10c04e7f8d7224eaef49140c45c2150c51f8508b952a

Contents?: true

Size: 1.09 KB

Versions: 6

Compression:

Stored size: 1.09 KB

Contents

module Blog
  module Resources
    class Entry < Default
            
      on :get, :list => [ 'entries' ] do
        view.list( plural => controller.all )
      end
            
      on :get, :show => [ 'entry', :name ] do
        view.show( :entry => controller.find( captured.name ) )
      end
      
      on :get, :edit => [ 'entry', :name, 'edit' ] do
        view.edit( singular => controller.find( captured.name ) )
      end
      
      on :put, :update => [ 'entry', :name ] do
        controller.update( captured.name )
        redirect( paths.show( captured.name ))
      end
      
      on :post, :create => [ 'entry' ] do
        redirect( paths.edit( controller.create.name ) )
      end
      
      on :post, :comment => [ 'entry', :name ] do
        entry = controller.find( captured.name )
        entry.add_comment( Models::Comment.create( query.comment.to_hash ) )
        session[:commenter] = query.comment.name
        redirect request.path
      end
      
      on :delete, :delete => [ 'entry', :name ] do
        controller.delete( captured.name )
      end
      
    end
  end
end

Version data entries

6 entries across 6 versions & 4 rubygems

Version Path
dyoder-waves-0.8.0 samples/blog/resources/entry.rb
waves-edge-2009.03.10.13.14 samples/blog/resources/entry.rb
waves-stable-2009.3.10 samples/blog/resources/entry.rb
waves-0.8.0 samples/blog/resources/entry.rb
waves-0.8.1 samples/blog/resources/entry.rb
waves-0.8.2 samples/blog/resources/entry.rb