<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>app/controllers/users.rb</filename>
    </added>
    <added>
      <filename>app/helpers/users_helper.rb</filename>
    </added>
    <added>
      <filename>app/models/user.rb</filename>
    </added>
    <added>
      <filename>app/views/sessions/new.html.haml</filename>
    </added>
    <added>
      <filename>app/views/users/edit.html.erb</filename>
    </added>
    <added>
      <filename>app/views/users/index.html.erb</filename>
    </added>
    <added>
      <filename>app/views/users/new.html.erb</filename>
    </added>
    <added>
      <filename>app/views/users/show.html.erb</filename>
    </added>
    <added>
      <filename>config/initializers/initialize_merb_openid.rb</filename>
    </added>
    <added>
      <filename>gems/cache/danwrong-merb_openid-0.0.2.gem</filename>
    </added>
    <added>
      <filename>gems/cache/meekish-openid_dm_store-0.1.1.gem</filename>
    </added>
    <added>
      <filename>gems/cache/merb-0.9.5.gem</filename>
    </added>
    <added>
      <filename>gems/cache/merb-builder-0.9.5.gem</filename>
    </added>
    <added>
      <filename>gems/cache/merb-mailer-0.9.5.gem</filename>
    </added>
    <added>
      <filename>gems/cache/merb-more-0.9.5.gem</filename>
    </added>
    <added>
      <filename>gems/gems/merb-builder-0.9.5/LICENSE</filename>
    </added>
    <added>
      <filename>gems/gems/merb-builder-0.9.5/README</filename>
    </added>
    <added>
      <filename>gems/gems/merb-builder-0.9.5/Rakefile</filename>
    </added>
    <added>
      <filename>gems/gems/merb-builder-0.9.5/TODO</filename>
    </added>
    <added>
      <filename>gems/gems/merb-builder-0.9.5/lib/merb-builder.rb</filename>
    </added>
    <added>
      <filename>gems/gems/merb-builder-0.9.5/lib/merb-builder/template.rb</filename>
    </added>
    <added>
      <filename>gems/gems/merb-builder-0.9.5/spec/builder_spec.rb</filename>
    </added>
    <added>
      <filename>gems/gems/merb-builder-0.9.5/spec/controllers/builder.rb</filename>
    </added>
    <added>
      <filename>gems/gems/merb-builder-0.9.5/spec/controllers/views/builder_config/index.xml.builder</filename>
    </added>
    <added>
      <filename>gems/gems/merb-builder-0.9.5/spec/controllers/views/builder_controller/index.xml.builder</filename>
    </added>
    <added>
      <filename>gems/gems/merb-builder-0.9.5/spec/controllers/views/capture_builder/index.xml.builder</filename>
    </added>
    <added>
      <filename>gems/gems/merb-builder-0.9.5/spec/controllers/views/concat_builder/index.xml.builder</filename>
    </added>
    <added>
      <filename>gems/gems/merb-builder-0.9.5/spec/controllers/views/partial_builder/_partial_builder.xml.builder</filename>
    </added>
    <added>
      <filename>gems/gems/merb-builder-0.9.5/spec/controllers/views/partial_builder/index.xml.builder</filename>
    </added>
    <added>
      <filename>gems/gems/merb-builder-0.9.5/spec/controllers/views/partial_ivars/_partial_builder.xml.builder</filename>
    </added>
    <added>
      <filename>gems/gems/merb-builder-0.9.5/spec/controllers/views/partial_ivars/index.xml.builder</filename>
    </added>
    <added>
      <filename>gems/gems/merb-builder-0.9.5/spec/spec_helper.rb</filename>
    </added>
    <added>
      <filename>gems/gems/merb-mailer-0.9.5/LICENSE</filename>
    </added>
    <added>
      <filename>gems/gems/merb-mailer-0.9.5/README.textile</filename>
    </added>
    <added>
      <filename>gems/gems/merb-mailer-0.9.5/Rakefile</filename>
    </added>
    <added>
      <filename>gems/gems/merb-mailer-0.9.5/TODO</filename>
    </added>
    <added>
      <filename>gems/gems/merb-mailer-0.9.5/lib/generators/mailer_generator.rb</filename>
    </added>
    <added>
      <filename>gems/gems/merb-mailer-0.9.5/lib/generators/templates/mailer/app/mailers/%file_name%_mailer.rb</filename>
    </added>
    <added>
      <filename>gems/gems/merb-mailer-0.9.5/lib/generators/templates/mailer/app/mailers/views/%file_name%_mailer/notify_on_event.text.erb</filename>
    </added>
    <added>
      <filename>gems/gems/merb-mailer-0.9.5/lib/generators/templates/mailer/spec/mailers/%file_name%_mailer_spec.rb</filename>
    </added>
    <added>
      <filename>gems/gems/merb-mailer-0.9.5/lib/merb-mailer.rb</filename>
    </added>
    <added>
      <filename>gems/gems/merb-mailer-0.9.5/lib/merb-mailer/mail_controller.rb</filename>
    </added>
    <added>
      <filename>gems/gems/merb-mailer-0.9.5/lib/merb-mailer/mailer.rb</filename>
    </added>
    <added>
      <filename>gems/gems/merb-mailer-0.9.5/lib/merb-mailer/mailer_mixin.rb</filename>
    </added>
    <added>
      <filename>gems/gems/merb-mailer-0.9.5/spec/mail_controller_spec.rb</filename>
    </added>
    <added>
      <filename>gems/gems/merb-mailer-0.9.5/spec/mailer_generator_spec.rb</filename>
    </added>
    <added>
      <filename>gems/gems/merb-mailer-0.9.5/spec/mailer_spec.rb</filename>
    </added>
    <added>
      <filename>gems/gems/merb-mailer-0.9.5/spec/mailers/views/layout/application.html.erb</filename>
    </added>
    <added>
      <filename>gems/gems/merb-mailer-0.9.5/spec/mailers/views/layout/application.text.erb</filename>
    </added>
    <added>
      <filename>gems/gems/merb-mailer-0.9.5/spec/mailers/views/test_mail_controller/eighth.html.erb</filename>
    </added>
    <added>
      <filename>gems/gems/merb-mailer-0.9.5/spec/mailers/views/test_mail_controller/eighth.text.erb</filename>
    </added>
    <added>
      <filename>gems/gems/merb-mailer-0.9.5/spec/mailers/views/test_mail_controller/first.html.erb</filename>
    </added>
    <added>
      <filename>gems/gems/merb-mailer-0.9.5/spec/mailers/views/test_mail_controller/first.text.erb</filename>
    </added>
    <added>
      <filename>gems/gems/merb-mailer-0.9.5/spec/mailers/views/test_mail_controller/ninth.html.erb</filename>
    </added>
    <added>
      <filename>gems/gems/merb-mailer-0.9.5/spec/mailers/views/test_mail_controller/ninth.text.erb</filename>
    </added>
    <added>
      <filename>gems/gems/merb-mailer-0.9.5/spec/mailers/views/test_mail_controller/second.text.erb</filename>
    </added>
    <added>
      <filename>gems/gems/merb-mailer-0.9.5/spec/mailers/views/test_mail_controller/third.html.erb</filename>
    </added>
    <added>
      <filename>gems/gems/merb-mailer-0.9.5/spec/spec_helper.rb</filename>
    </added>
    <added>
      <filename>gems/gems/merb-more-0.9.5/LICENSE</filename>
    </added>
    <added>
      <filename>gems/gems/merb-more-0.9.5/README</filename>
    </added>
    <added>
      <filename>gems/gems/merb-more-0.9.5/Rakefile</filename>
    </added>
    <added>
      <filename>gems/gems/merb-more-0.9.5/TODO</filename>
    </added>
    <added>
      <filename>gems/gems/merb-more-0.9.5/lib/merb-more.rb</filename>
    </added>
    <added>
      <filename>gems/gems/merb_openid-0.0.2/LICENSE</filename>
    </added>
    <added>
      <filename>gems/gems/merb_openid-0.0.2/README</filename>
    </added>
    <added>
      <filename>gems/gems/merb_openid-0.0.2/Rakefile</filename>
    </added>
    <added>
      <filename>gems/gems/merb_openid-0.0.2/lib/merb_openid.rb</filename>
    </added>
    <added>
      <filename>gems/gems/merb_openid-0.0.2/lib/merb_openid/controller_extensions.rb</filename>
    </added>
    <added>
      <filename>gems/gems/merb_openid-0.0.2/spec/merb_openid_spec.rb</filename>
    </added>
    <added>
      <filename>gems/gems/merb_openid-0.0.2/spec/spec_helper.rb</filename>
    </added>
    <added>
      <filename>gems/gems/openid_dm_store-0.1.1/LICENSE</filename>
    </added>
    <added>
      <filename>gems/gems/openid_dm_store-0.1.1/README</filename>
    </added>
    <added>
      <filename>gems/gems/openid_dm_store-0.1.1/lib/association.rb</filename>
    </added>
    <added>
      <filename>gems/gems/openid_dm_store-0.1.1/lib/nonce.rb</filename>
    </added>
    <added>
      <filename>gems/gems/openid_dm_store-0.1.1/lib/openid_dm_store.rb</filename>
    </added>
    <added>
      <filename>gems/gems/openid_dm_store-0.1.1/openid_dm_store.rb</filename>
    </added>
    <added>
      <filename>gems/specifications/merb-builder-0.9.5.gemspec</filename>
    </added>
    <added>
      <filename>gems/specifications/merb-mailer-0.9.5.gemspec</filename>
    </added>
    <added>
      <filename>gems/specifications/merb-more-0.9.5.gemspec</filename>
    </added>
    <added>
      <filename>gems/specifications/merb_openid-0.0.2.gemspec</filename>
    </added>
    <added>
      <filename>gems/specifications/openid_dm_store-0.1.1.gemspec</filename>
    </added>
    <added>
      <filename>lib/bootstrapper.rb</filename>
    </added>
    <added>
      <filename>spec/helpers/users_helper_spec.rb</filename>
    </added>
    <added>
      <filename>spec/models/user_spec.rb</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -1,2 +1,14 @@
 class Application &lt; Merb::Controller
+  before :set_user
+  
+protected
+
+  def set_user
+    if session[:user_id]
+      @user = User.get(session[:user_id])
+    end
+    
+    @user = User.first(:name =&gt; 'Anonymous') unless @user
+  end
+  
 end
\ No newline at end of file</diff>
      <filename>app/controllers/application.rb</filename>
    </modified>
    <modified>
      <diff>@@ -27,8 +27,8 @@ class Pages &lt; Application
   # - GET /pages/1/edit
   # - GET /pages/1/edit?version=3
   def edit(id, version = :latest)
-    @page = Page.by_slug(id)      || raise(NotFound)
+    @page = Page.by_slug(id) || raise(NotFound)
     @version = @page.find_version(version) || raise(NotFound)
     render
   end
-end
+end
\ No newline at end of file</diff>
      <filename>app/controllers/pages.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,30 @@
 class Sessions &lt; Application
-  
-  def index
+  def new
     render
   end
-  
-end
+
+  def create
+    
+    if openid_request?
+      openid_authenticate(:sreg =&gt; [:fullname]) do |result, identity_url, sreg|
+        if result == :successful
+          @user = User.first(:openid_url =&gt; identity_url) || User.create(:openid_url =&gt; identity_url, :name =&gt; sreg['fullname'])
+          session[:user_id] = @user.id
+          redirect(params[:destination] || '/')
+        else
+          @_message = &quot;Your login failed with the following status: #{result}&quot;
+          render :new
+        end
+      end
+    else
+      redirect(url(:new_session), :message =&gt; 'Malformed request. Please try again.')
+    end
+    
+  end
+
+  def destroy
+    session[:user_id] = nil
+    redirect '/'
+  end
+
+end # Sessions</diff>
      <filename>app/controllers/sessions.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,10 +1,47 @@
 module Merb
   module GlobalHelpers
+    def account_and_logout_button
+      &lt;&lt;-BUTTON
+      &lt;div id='logout'&gt;
+        &lt;form method=&quot;post&quot; action=&quot;#{url(:logout)}&quot;&gt;
+          Logged in as #{@user.name} |
+          &lt;input type=&quot;hidden&quot; value=&quot;delete&quot; name=&quot;_method&quot;/&gt;
+          &lt;button type=&quot;submit&quot;&gt;Logout&lt;/button&gt;
+        &lt;/form&gt;
+      &lt;/div&gt;
+      BUTTON
+      # &lt;&lt;-BUTTON
+      # &lt;div id='logout'&gt;
+      #   &lt;form method=&quot;post&quot; action=&quot;#{url(:logout)}&quot;&gt;
+      #     Logged in as #{link_to(@user.name, url(:user, @user.id))} |
+      #     &lt;input type=&quot;hidden&quot; value=&quot;delete&quot; name=&quot;_method&quot;/&gt;
+      #     &lt;button type=&quot;submit&quot;&gt;Logout&lt;/button&gt;
+      #   &lt;/form&gt;
+      # &lt;/div&gt;
+      # BUTTON
+    end
+    
+    def login_or_name
+      @user.name == 'Anonymous' ? &quot;Anonymous (#{link_to_login})&quot; : @user.name
+    end
+    
     def highlighted_link_to(title, url)
       opts = {}
       opts.merge!(:id =&gt; 'active') if @page_title &amp;&amp; @page_title == title
       link_to(title, url, opts)
     end
+
+    def link_to_login
+      link_to 'Login', url(:new_session, :destination =&gt; request.path)
+    end
+
+    def link_to_login_or_account
+      if @user.name == 'Anonymous'
+        link_to_login
+      else
+        account_and_logout_button
+      end
+    end
     
     def title(options)
       if(options.is_a?(Hash))</diff>
      <filename>app/helpers/global_helpers.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,5 @@
 module Merb
-    module SessionsHelper
+  module SessionsHelper
 
-    end
-end
\ No newline at end of file
+  end
+end # Merb
\ No newline at end of file</diff>
      <filename>app/helpers/sessions_helper.rb</filename>
    </modified>
    <modified>
      <diff>@@ -2,9 +2,8 @@ class Version
   include DataMapper::Resource
   
   property :id,		        Integer, :serial =&gt; true
-  # Disabled lazy-loading as it was causing the first call to these attributes to return nil
-  property :content,      Text,    :lazy =&gt; false, :nullable =&gt; false
-  property :content_html, Text,    :lazy =&gt; false
+  property :content,      Text,    :nullable =&gt; false
+  property :content_html, Text
   property :created_at,   DateTime
   property :moderated,    Boolean, :default =&gt; false
   property :remote_ip,    String
@@ -13,6 +12,7 @@ class Version
   property :signature,    String
   
   belongs_to :page
+  belongs_to :user
   
   before(:valid?) { populate_content_html unless content.blank? }
 </diff>
      <filename>app/models/version.rb</filename>
    </modified>
    <modified>
      <diff>@@ -6,12 +6,13 @@
     = css_include_tag :reset, :master, *Collective.stylesheets
   %body
     #header
+      #account= link_to_login_or_account
       #branding
         %h1= Collective.title
       %ul#navigation
-        %li= highlighted_link_to 'Home', url(:home)
+        %li= highlighted_link_to 'New Page', url(:new_page)
         %li= highlighted_link_to 'All Pages', url(:pages)
-        %li.last= highlighted_link_to 'New Page', url(:new_page)
+        %li= highlighted_link_to 'Home', url(:home)
     / - flash.each do |type, message|      
     /   #notice{ :class =&gt; type }
     /     %p= message</diff>
      <filename>app/views/layout/application.html.haml</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,7 @@
-%h2= title &quot;Editing #{@page.name}&quot;
+%h2
+  = title &quot;Editing #{@page.name}&quot;
+  as
+  = login_or_name
 = error_messages_for @page
 - form_for :page, :action =&gt; url(:page, @page) do
   %ul#page-form
@@ -8,6 +11,4 @@
         | [[Page Name]] for internal links
       ~ text_area_field @version.content, :name =&gt; 'version[content]'
     %li
-      = submit_button 'Submit'
-      as
-      = text_field :name =&gt; :openid_url, :id =&gt; :openid_url
\ No newline at end of file
+      = submit_button 'Submit'
\ No newline at end of file</diff>
      <filename>app/views/pages/edit.html.haml</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,10 @@
-- title 'New Page'
+- title 'Creating New Page'
 = error_messages_for @page
+= error_messages_for @version
 - form_for :page, :action =&gt; url(:page), :id =&gt; 'page-form' do
+  %p
+    Creating a new page as
+    = login_or_name
   %h1= text_control :name
   %ul
     %li</diff>
      <filename>app/views/pages/new.html.haml</filename>
    </modified>
    <modified>
      <diff>@@ -13,3 +13,4 @@
     | Version:
     = select_versions_for_page @page, @version
     = submit_button 'Go', :id =&gt; 'go-button'
+    = &quot;by #{@version.user.name}&quot;</diff>
      <filename>app/views/pages/show.html.haml</filename>
    </modified>
    <modified>
      <diff>@@ -44,8 +44,12 @@ gem 'merb_has_flash', '=0.9.2'
 require 'merb_has_flash'
 gem 'merb_helpers', '=0.9.4'
 require 'merb_helpers'
+gem 'merb_openid', '=0.0.2'
+require 'merb_openid'
 gem 'merb-parts', '=0.9.5'
 require 'merb-parts'
+gem 'openid_dm_store', '=0.1.1'
+require 'openid_dm_store'
 gem 'ruby-openid', '=2.1.2'
 require 'openid'
 gem 'RedCloth', '3.0.4'
@@ -60,4 +64,4 @@ require 'open-uri'
 # Load initializers
 Dir[Merb.root / 'config' / 'initializers' / '*.rb'].each do |initializer|
   load(initializer)
-end
+end
\ No newline at end of file</diff>
      <filename>config/init.rb</filename>
    </modified>
    <modified>
      <diff>@@ -24,4 +24,8 @@ Merb::Router.prepare do |r|
   r.match('/').to(:controller =&gt; 'pages', :action =&gt;'show', :id =&gt; 'home').name(:home)
   r.resources :pages
   r.resources :edits
+  r.resources :sessions
+  r.match('/login').to(:controller =&gt; 'sessions', :action =&gt; 'create').name(:login)
+  r.match('/logout', :method =&gt; :delete).to(:controller =&gt; 'sessions', :action =&gt; 'destroy').name(:logout)
+  # r.resources :users
 end
\ No newline at end of file</diff>
      <filename>config/router.rb</filename>
    </modified>
    <modified>
      <diff>@@ -6,7 +6,7 @@ module NoSpamProtection
   # Accessed by: POST /pages
   def create(page, version)
     @page = Page.new(page)
-    @version = Version.new(version)
+    @version = Version.new(version.merge(:user =&gt; @user))
     if @page.valid? &amp;&amp; @version.valid?
       @page.versions &lt;&lt; @version
       @page.save
@@ -19,7 +19,7 @@ module NoSpamProtection
   # Accessed by: PUT /pages/1
   def update(id, version)
     @page = Page.by_slug(id) || raise(NotFound)
-    @page.versions &lt;&lt; @version = Version.new(version)
+    @page.versions &lt;&lt; @version = Version.new(version.merge(:user =&gt; @user))
     if @version.save
       redirect url(:page, @page)
     else</diff>
      <filename>lib/controller/no_spam_protection.rb</filename>
    </modified>
    <modified>
      <diff>@@ -7,7 +7,7 @@ module SpamProtection
   # Accessed by: POST /pages
   def create(page, version)
     @page = Page.new(page)
-    @page.versions &lt;&lt; @version = Version.new(version.merge!(:remote_ip =&gt; request.remote_ip))
+    @page.versions &lt;&lt; @version = Version.new(version.merge!(:remote_ip =&gt; request.remote_ip, :user =&gt; @user))
     if @page.valid? &amp;&amp; @version.valid?
       response = check_comment_with_spam_engine(@page.url, @version.content_html)
       if response[:spam]
@@ -31,7 +31,7 @@ module SpamProtection
   # Accessed by: PUT /pages/1
   def update(id, version)
     @page = Page.by_slug(id) || raise(Merb::ControllerExceptions::NotFound)
-    @page.versions &lt;&lt; @version = Version.new(version.merge!(:remote_ip =&gt; request.remote_ip))
+    @page.versions &lt;&lt; @version = Version.new(version.merge!(:remote_ip =&gt; request.remote_ip, :user =&gt; @user))
     if @version.valid?
       response = check_comment_with_spam_engine(@page.url, @version.additions(@page.versions))
       @version.signature = response[:signature]
@@ -62,7 +62,8 @@ private
       :comment_type   =&gt; 'comment', 
       :article_date   =&gt; Time.now, 
       :user_logged_in =&gt; false,
-      :trusted_user   =&gt; false
+      :trusted_user   =&gt; false#,
+      # :openid         =&gt; x
     }
   end
 end</diff>
      <filename>lib/controller/spam_protection.rb</filename>
    </modified>
    <modified>
      <diff>@@ -23,6 +23,17 @@ pre {
       color: black; }
 
 /* ****************************** */
+/* * NAVIGATION */
+/* ****************************** */
+#account {
+  background-color: black; }
+  #account a:hover {
+    background-color: transparent;
+    color: white; }
+  #account button {
+    color: white; }
+
+/* ****************************** */
 /* * CONTENT */
 /* ****************************** */
 /* #notice p */</diff>
      <filename>public/stylesheets/default_theme.css</filename>
    </modified>
    <modified>
      <diff>@@ -63,6 +63,7 @@ ul {
 #header {
   height: 74px;
   margin-bottom: 25px;
+  position: relative;
   width: 100%; }
   #header img {
     margin-top: 8px;
@@ -88,10 +89,10 @@ ul#navigation {
   float: right;
   margin-right: 20px;
   margin-top: 25px;
-  width: 19em; }
+  width: 40em; }
   ul#navigation li {
     display: block;
-    float: left; }
+    float: right; }
     ul#navigation li a {
       display: block;
       float: left;
@@ -100,6 +101,24 @@ ul#navigation {
   ul#navigation li.last a {
     margin-right: 0; }
 
+#account {
+  padding: 2px 2px 2px 4px;
+  position: absolute;
+  right: 0;
+  top: 0; }
+  #account a {
+    line-height: 1.4em;
+    text-decoration: none; }
+  #account button {
+    background: transparent;
+    border: none;
+    cursor: pointer;
+    font-size: 1em;
+    margin: 0;
+    padding: 0; }
+  #account form a {
+    text-decoration: underline; }
+
 /* ****************************** */
 /* * CONTENT */
 /* ****************************** */
@@ -112,6 +131,10 @@ ul#navigation {
   #content blockquote p {
     font-style: oblique;
     margin: 20px; }
+  #content input#openid_url {
+    background: #FFFFFF url(/images/openid.png) no-repeat scroll 3px 2px;
+    padding: 2px 0px 2px 22px;
+    width: 200px; }
   #content li {
     margin-bottom: 5px;
     margin-left: 18px; }
@@ -128,10 +151,6 @@ ul#navigation {
   #content #page-form h1 {
     border-bottom: none;
     margin-bottom: 10px; }
-  #content #page-form input#openid_url {
-    background: #FFFFFF url(/images/openid.png) no-repeat scroll 3px 2px;
-    padding: 2px 0px 2px 22px;
-    width: 200px; }
   #content #page-form p {
     margin-bottom: 0; }
     #content #page-form p a {</diff>
      <filename>public/stylesheets/master.css</filename>
    </modified>
    <modified>
      <diff>@@ -23,6 +23,18 @@ pre
       :color black
 
 /* ******************************
+/* * NAVIGATION
+/* ******************************
+#account
+  :background-color black
+  a
+    &amp;:hover
+      :background-color transparent
+      :color white
+  button
+    :color white
+
+/* ******************************
 /* * CONTENT
 /* ******************************
 /* #notice p</diff>
      <filename>public/stylesheets/sass/default_theme.sass</filename>
    </modified>
    <modified>
      <diff>@@ -66,6 +66,7 @@ ul
 #header
   :height 74px
   :margin-bottom 25px
+  :position relative
   :width 100%
   img
     :margin-top 8px
@@ -93,10 +94,10 @@ ul#navigation
   :margin
     :right 20px
     :top 25px
-  :width 19em
+  :width 40em
   li
     :display block
-    :float left
+    :float right
     a
       :display block
       :float left
@@ -105,6 +106,24 @@ ul#navigation
   li.last a
     :margin-right 0
 
+#account
+  :padding 2px 2px 2px 4px
+  :position absolute
+  :right 0
+  :top 0
+  a
+    :line-height 1.4em
+    :text-decoration none
+  button
+    :background transparent
+    :border none
+    :cursor pointer
+    :font-size 1em
+    :margin 0
+    :padding 0
+  form a
+    :text-decoration underline
+    
 /* ******************************
 /* * CONTENT
 /* ******************************
@@ -117,6 +136,10 @@ ul#navigation
   blockquote p
     :font-style oblique
     :margin 20px
+  input#openid_url
+    :background #FFFFFF url(/images/openid.png) no-repeat scroll 3px 2px
+    :padding 2px 0px 2px 22px
+    :width 200px
   li
     :margin-bottom 5px
     :margin-left 18px
@@ -134,10 +157,6 @@ ul#navigation
     h1
       :border-bottom none
       :margin-bottom 10px
-    input#openid_url
-      :background #FFFFFF url(/images/openid.png) no-repeat scroll 3px 2px
-      :padding 2px 0px 2px 22px
-      :width 200px
     p
       :margin-bottom 0
       a</diff>
      <filename>public/stylesheets/sass/master.sass</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,4 @@
-require File.join(File.dirname(__FILE__), &quot;..&quot;, 'spec_helper.rb')
+require File.join(File.dirname(__FILE__), '..', 'spec_helper.rb')
 
 describe Merb::SessionsHelper do
 </diff>
      <filename>spec/helpers/sessions_helper_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -72,7 +72,7 @@ describe Pages, &quot;with no spam protection&quot; do
     end
 
     it 'should initialize a new version record' do
-      Version.should_receive(:new).with({'content' =&gt; 'an updated tutorial'}).and_return(@version)
+      Version.should_receive(:new).and_return(@version)
       do_put.assigns(:version).should == @version
     end
     </diff>
      <filename>spec/lib/no_spam_protection_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -8,14 +8,14 @@ describe Page do
     end
     
     after(:each) do
-      Page.auto_migrate!
-      Version.auto_migrate!
+      Bootstrapper.bootstrap!
     end
     
     it 'should destroy all associated versions when destroyed' do
-      Version.all.length.should == 7
+      page_id = @page.id
+      Version.all(:page_id =&gt; page_id).length.should == 7
       @page.destroy
-      Version.all.length.should == 0
+      Version.all(:page_id =&gt; page_id).length.should == 0
     end
   end
   
@@ -43,8 +43,7 @@ describe Page do
     end
     
     after(:each) do
-      Page.auto_migrate!
-      Version.auto_migrate!
+      Bootstrapper.bootstrap!
     end
     
     it 'should return the version number passed' do
@@ -117,8 +116,7 @@ describe Page do
     
   describe '.versions' do
     after(:each) do
-      Page.auto_migrate!
-      Version.auto_migrate!
+      Bootstrapper.bootstrap!
     end
     
     it 'should not include any versions marked as spam' do</diff>
      <filename>spec/models/page_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -30,7 +30,7 @@ describe Version do
     
     it 'should have a created_at field' do
       Version.create!(:content =&gt; 'some words').created_at.should be_an_instance_of(DateTime)
-      Version.auto_migrate!
+      Bootstrapper.bootstrap!
     end
   
     it 'should belong to a page' do
@@ -45,8 +45,8 @@ describe Version do
       @version.save
     end
     
-    after(:all) do
-      Version.auto_migrate!
+    after(:each) do
+      Bootstrapper.bootstrap!
     end
     
     it 'should render content to HTML' do
@@ -78,7 +78,7 @@ describe Version do
     end
 
     after(:each) do
-      Version.auto_migrate!
+      Bootstrapper.bootstrap!
     end
     
     it 'should return the ten (by default) most recent non-spam versions' do
@@ -98,8 +98,7 @@ describe Version do
     end
 
     after(:each) do
-      Version.auto_migrate!
-      Page.auto_migrate!
+      Bootstrapper.bootstrap!
     end
   
     it 'should get the previous version for this page' do
@@ -125,7 +124,7 @@ describe Version do
     include VersionSpecHelper
     
     after(:each) do
-      Version.auto_migrate!
+      Bootstrapper.bootstrap!
     end
     
     it &quot;should create a new record&quot; do</diff>
      <filename>spec/models/version_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -20,4 +20,5 @@ Dir[File.dirname(__FILE__) / &quot;shared&quot; / &quot;*.rb&quot;].each do |helper|
   require(helper)
 end
 
-repository.auto_migrate!
+require 'bootstrapper'
+Bootstrapper.bootstrap!</diff>
      <filename>spec/spec_helper.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,14 +1,8 @@
-require 'merb-core'
-require 'app/models/page'
-require 'app/models/version'
+require 'bootstrapper'
 
-desc 'Bootstrap the database. *** DESTRUCTIVE ***'
+desc 'Bootstrap the database ***DESTRUCTIVE***'
 namespace :db do
-  task :bootstrap do
-    Version.auto_migrate!    
-    Page.auto_migrate! 
-    @page = Page.create!(:name =&gt; 'Home')
-    @page.versions &lt;&lt; Version.new(:content =&gt; '[[First Page]]')
-    @page.save
+  task :bootstrap =&gt; :merb_env do
+    Bootstrapper.bootstrap!!
   end
 end
\ No newline at end of file</diff>
      <filename>tasks/bootstrap.rake</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>8a54359a8f617e7dd641a9d29167744158bc588d</id>
    </parent>
  </parents>
  <author>
    <name>Jed Hurt</name>
    <email>jedhurt@cableone.net</email>
  </author>
  <url>http://github.com/meekish/collective/commit/3df0a70cba3272e497ba4c21c28afb40d0fbbb8c</url>
  <id>3df0a70cba3272e497ba4c21c28afb40d0fbbb8c</id>
  <committed-date>2008-09-01T21:53:48-07:00</committed-date>
  <authored-date>2008-09-01T21:53:48-07:00</authored-date>
  <message>Completed OpenID login/logout functionality. Updated bootstrap task to create an anonymous user.</message>
  <tree>2ef13737f25e478c81c014cc08b4270e7a0ef87e</tree>
  <committer>
    <name>Jed Hurt</name>
    <email>jedhurt@cableone.net</email>
  </committer>
</commit>
