Skip to content

Instantly share code, notes, and snippets.

@excid3
Created September 4, 2012 15:00
Show Gist options
  • Save excid3/3621985 to your computer and use it in GitHub Desktop.
Save excid3/3621985 to your computer and use it in GitHub Desktop.
class Punch < ActiveRecord::Base
attr_accessible :clock_in, :clock_out
belongs_to :user
end
class PunchesController < ApplicationController
before_filter :authenticate_user!
def clock_in
@punch = current_user.punches.new clock_in: Time.zone.now
@punch.save
end
def clock_out
@punch = current_user.punches.last
@punch.clock_out = Time.zone.now
@punch.save
respond_to do |format|
format.html { redirect_to punches_path }
end
end
end
# encoding: UTF-8
# This file is auto-generated from the current state of the database. Instead
# of editing this file, please use the migrations feature of Active Record to
# incrementally modify your database, and then regenerate this schema definition.
#
# Note that this schema.rb definition is the authoritative source for your
# database schema. If you need to create the application database on another
# system, you should be using db:schema:load, not running all the migrations
# from scratch. The latter is a flawed and unsustainable approach (the more migrations
# you'll amass, the slower it'll run and the greater likelihood for issues).
#
# It's strongly recommended to check this file into your version control system.
ActiveRecord::Schema.define(:version => 20120904142435) do
create_table "models", :force => true do |t|
t.string "email", :default => "", :null => false
t.string "encrypted_password", :default => "", :null => false
t.string "reset_password_token"
t.datetime "reset_password_sent_at"
t.datetime "remember_created_at"
t.integer "sign_in_count", :default => 0
t.datetime "current_sign_in_at"
t.datetime "last_sign_in_at"
t.string "current_sign_in_ip"
t.string "last_sign_in_ip"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
end
add_index "models", ["email"], :name => "index_models_on_email", :unique => true
add_index "models", ["reset_password_token"], :name => "index_models_on_reset_password_token", :unique => true
create_table "punches", :force => true do |t|
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.datetime "clock_in"
t.datetime "clock_out"
t.integer "user_id"
end
create_table "users", :force => true do |t|
t.string "email", :default => "", :null => false
t.string "encrypted_password", :default => "", :null => false
t.string "reset_password_token"
t.datetime "reset_password_sent_at"
t.datetime "remember_created_at"
t.integer "sign_in_count", :default => 0
t.datetime "current_sign_in_at"
t.datetime "last_sign_in_at"
t.string "current_sign_in_ip"
t.string "last_sign_in_ip"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.string "username"
end
add_index "users", ["email"], :name => "index_users_on_email", :unique => true
add_index "users", ["reset_password_token"], :name => "index_users_on_reset_password_token", :unique => true
end
class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :token_authenticatable, :confirmable,
# :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable, :timeoutable
has_many :punches
# Setup accessible (or protected) attributes for your model
attr_accessible :email, :password, :password_confirmation, :remember_me
# attr_accessible :title, :body
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment