diff --git a/app/contexts/issues_bulk_update_context.rb b/app/contexts/issues_bulk_update_context.rb
index 7c3c1d4f7c3c30fcd091fb29c58fb081db907a3e..7981259d73d7b43ee379646de9187c39c4997839 100644
--- a/app/contexts/issues_bulk_update_context.rb
+++ b/app/contexts/issues_bulk_update_context.rb
@@ -7,7 +7,7 @@ class IssuesBulkUpdateContext < BaseContext
     assignee_id  = update_data[:assignee_id]
     status       = update_data[:status]
 
-    opts = {} 
+    opts = {}
     opts[:milestone_id] = milestone_id if milestone_id.present?
     opts[:assignee_id] = assignee_id if assignee_id.present?
     opts[:closed] = (status == "closed") if status.present?
@@ -15,7 +15,7 @@ class IssuesBulkUpdateContext < BaseContext
     issues = Issue.where(id: issues_ids).all
     issues = issues.select { |issue| can?(current_user, :modify_issue, issue) }
     issues.each { |issue| issue.update_attributes(opts) }
-    { 
+    {
       count: issues.count,
       success: !issues.count.zero?
     }
diff --git a/app/models/milestone.rb b/app/models/milestone.rb
index 759f35313c6cf27f5c674eea17b8c0954c80cdc0..023b8ddf04d22bbfed12b917cf7819d08bfb1e29 100644
--- a/app/models/milestone.rb
+++ b/app/models/milestone.rb
@@ -72,9 +72,9 @@ class Milestone < ActiveRecord::Base
       if due_date.past?
         "expired at #{due_date.stamp("Aug 21, 2011")}"
       else
-        "expires at #{due_date.stamp("Aug 21, 2011")}"  
+        "expires at #{due_date.stamp("Aug 21, 2011")}"
       end
-    end  
+    end
   end
 
   def can_be_closed?
diff --git a/app/views/devise/confirmations/new.html.erb b/app/views/devise/confirmations/new.html.erb
index 5399a9615707a71e3d96c2c6a9d0452c579a935f..adc9b6720923e921b9acc94427020f7038b586c9 100644
--- a/app/views/devise/confirmations/new.html.erb
+++ b/app/views/devise/confirmations/new.html.erb
@@ -1,6 +1,6 @@
 <h2>Resend confirmation instructions</h2>
 
-<%= form_for(resource, :as => resource_name, :url => confirmation_path(resource_name), :html => { :method => :post }) do |f| %>
+<%= form_for(resource, as: resource_name, url: confirmation_path(resource_name), html: { method: :post }) do |f| %>
   <%= devise_error_messages! %>
 
   <div><%= f.label :email %><br />
@@ -9,4 +9,4 @@
   <div><%= f.submit "Resend confirmation instructions" %></div>
 <% end %>
 
-<%= render :partial => "devise/shared/links" %>
+<%= render partial: "devise/shared/links" %>
diff --git a/app/views/devise/mailer/confirmation_instructions.html.erb b/app/views/devise/mailer/confirmation_instructions.html.erb
index a6ea8ca17e841717065569cd93d476f4758f0fac..7b4fd5269647f128b3e9b8bf02396b3d52eee574 100644
--- a/app/views/devise/mailer/confirmation_instructions.html.erb
+++ b/app/views/devise/mailer/confirmation_instructions.html.erb
@@ -2,4 +2,4 @@
 
 <p>You can confirm your account through the link below:</p>
 
-<p><%= link_to 'Confirm my account', confirmation_url(@resource, :confirmation_token => @resource.confirmation_token) %></p>
+<p><%= link_to 'Confirm my account', confirmation_url(@resource, confirmation_token: @resource.confirmation_token) %></p>
diff --git a/app/views/devise/mailer/reset_password_instructions.html.erb b/app/views/devise/mailer/reset_password_instructions.html.erb
index ae9e888abb980c3b96de69146df789041290aaf7..e1144e943b4c9eed6b44d27c88b027e962bb7463 100644
--- a/app/views/devise/mailer/reset_password_instructions.html.erb
+++ b/app/views/devise/mailer/reset_password_instructions.html.erb
@@ -2,7 +2,7 @@
 
 <p>Someone has requested a link to change your password, and you can do this through the link below.</p>
 
-<p><%= link_to 'Change my password', edit_password_url(@resource, :reset_password_token => @resource.reset_password_token) %></p>
+<p><%= link_to 'Change my password', edit_password_url(@resource, reset_password_token: @resource.reset_password_token) %></p>
 
 <p>If you didn't request this, please ignore this email.</p>
 <p>Your password won't change until you access the link above and create a new one.</p>
diff --git a/app/views/devise/mailer/unlock_instructions.html.erb b/app/views/devise/mailer/unlock_instructions.html.erb
index 2263c2195223597f2cd69527fe3f2491e547f30f..0429883f05b22e053a60601adf63a4fe62339205 100644
--- a/app/views/devise/mailer/unlock_instructions.html.erb
+++ b/app/views/devise/mailer/unlock_instructions.html.erb
@@ -4,4 +4,4 @@
 
 <p>Click the link below to unlock your account:</p>
 
-<p><%= link_to 'Unlock my account', unlock_url(@resource, :unlock_token => @resource.unlock_token) %></p>
+<p><%= link_to 'Unlock my account', unlock_url(@resource, unlock_token: @resource.unlock_token) %></p>
diff --git a/app/views/devise/registrations/edit.html.erb b/app/views/devise/registrations/edit.html.erb
index dd26e8a47b8eaf76c92928b45a4add717cd939bb..139acf28a9f59ec282cd79f9eacb010e72dc60ea 100644
--- a/app/views/devise/registrations/edit.html.erb
+++ b/app/views/devise/registrations/edit.html.erb
@@ -1,6 +1,6 @@
 <h2>Edit <%= resource_name.to_s.humanize %></h2>
 
-<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name), :html => { :method => :put }) do |f| %>
+<%= form_for(resource, as: resource_name, url: registration_path(resource_name), html: { method: :put }) do |f| %>
   <%= devise_error_messages! %>
 
   <div><%= f.label :email %><br />
@@ -18,11 +18,11 @@
   <div><%= f.label :current_password %> <i>(we need your current password to confirm your changes)</i><br />
   <%= f.password_field :current_password %></div>
 
-<div><%= f.submit "Update", :class => "input_button" %></div>
+<div><%= f.submit "Update", class: "input_button" %></div>
 <% end %>
 
 <h3>Cancel my account</h3>
 
-<p>Unhappy? <%= link_to "Cancel my account", registration_path(resource_name), :confirm => "Are you sure?", :method => :delete %>.</p>
+<p>Unhappy? <%= link_to "Cancel my account", registration_path(resource_name), confirm: "Are you sure?", method: :delete %>.</p>
 
 <%= link_to "Back", :back %>
diff --git a/app/views/devise/shared/_links.erb b/app/views/devise/shared/_links.erb
index d7499d14ec5ac018691a57dd3974b4d358bd3845..a47b5ff1ec78074acc447dd45e89b4c3164115de 100644
--- a/app/views/devise/shared/_links.erb
+++ b/app/views/devise/shared/_links.erb
@@ -1,5 +1,5 @@
 <%- if controller_name != 'sessions' %>
-  <%= link_to "Sign in", new_session_path(resource_name), :class => "btn" %><br />
+  <%= link_to "Sign in", new_session_path(resource_name), class: "btn" %><br />
 <% end -%>
 
 <%- if devise_mapping.registerable? && controller_name != 'registrations' %>
@@ -7,7 +7,7 @@
 <% end -%>
 
 <%- if devise_mapping.recoverable? && controller_name != 'passwords' %>
-<%= link_to "Forgot your password?", new_password_path(resource_name), :class => "btn" %><br />
+<%= link_to "Forgot your password?", new_password_path(resource_name), class: "btn" %><br />
 <% end -%>
 
 <%- if devise_mapping.confirmable? && controller_name != 'confirmations' %>
diff --git a/app/views/devise/unlocks/new.html.erb b/app/views/devise/unlocks/new.html.erb
index b787e648ca2ea82b13a99c9c91f9cb9d9bb3b64c..f9277d1673fe35c0ab7a80339cb20c1159871823 100644
--- a/app/views/devise/unlocks/new.html.erb
+++ b/app/views/devise/unlocks/new.html.erb
@@ -1,6 +1,6 @@
 <h2>Resend unlock instructions</h2>
 
-<%= form_for(resource, :as => resource_name, :url => unlock_path(resource_name), :html => { :method => :post }) do |f| %>
+<%= form_for(resource, as: resource_name, url: unlock_path(resource_name), html: { method: :post }) do |f| %>
   <%= devise_error_messages! %>
 
   <div><%= f.label :email %><br />
@@ -9,4 +9,4 @@
   <div><%= f.submit "Resend unlock instructions" %></div>
 <% end %>
 
-<%= render :partial => "devise/shared/links" %>
+<%= render partial: "devise/shared/links" %>
diff --git a/config/application.rb b/config/application.rb
index 8f7d9c07ac899ad45cc7dc1bfb026c03a0091fee..d86fe561fa931428c10ae7394b7d1c45a0eff1d8 100644
--- a/config/application.rb
+++ b/config/application.rb
@@ -4,7 +4,7 @@ require 'rails/all'
 
 if defined?(Bundler)
   # If you precompile assets before deploying to production, use this line
-  # Bundler.require(*Rails.groups(:assets => %w(development test)))
+  # Bundler.require(*Rails.groups(assets: %w(development test)))
   # If you want your assets lazily compiled in production, use this line
   Bundler.require(:default, :assets, Rails.env)
 end
diff --git a/config/environments/production.rb b/config/environments/production.rb
index 6ae0324fa8c5f553b26fea09ab0458b390e132cc..dc8e25593aee7654481a849844c3052ed0e6c041 100644
--- a/config/environments/production.rb
+++ b/config/environments/production.rb
@@ -68,8 +68,8 @@ Gitlab::Application.configure do
   config.action_mailer.delivery_method = :sendmail
   # Defaults to:
   # # config.action_mailer.sendmail_settings = {
-  # #   :location => '/usr/sbin/sendmail',
-  # #   :arguments => '-i -t'
+  # #   location: '/usr/sbin/sendmail',
+  # #   arguments: '-i -t'
   # # }
   config.action_mailer.perform_deliveries = true
   config.action_mailer.raise_delivery_errors = true
diff --git a/config/initializers/devise.rb b/config/initializers/devise.rb
index 5714407f3932c6074982425ab2d146075199563a..e0938a9640c6b65e22019942861fedf8ffb78d75 100644
--- a/config/initializers/devise.rb
+++ b/config/initializers/devise.rb
@@ -94,7 +94,7 @@ Devise.setup do |config|
   # config.extend_remember_period = false
 
   # Options to be passed to the created cookie. For instance, you can set
-  # :secure => true in order to force SSL only cookies.
+  # secure: true in order to force SSL only cookies.
   # config.cookie_options = {}
 
   # ==> Configuration for :validatable
@@ -202,18 +202,18 @@ Devise.setup do |config|
   # config.warden do |manager|
   #   manager.failure_app   = AnotherApp
   #   manager.intercept_401 = false
-  #   manager.default_strategies(:scope => :user).unshift :some_external_strategy
+  #   manager.default_strategies(scope: :user).unshift :some_external_strategy
   # end
 
   if Gitlab.config.ldap.enabled
     config.omniauth :ldap,
-      :host     => Gitlab.config.ldap['host'],
-      :base     => Gitlab.config.ldap['base'],
-      :uid      => Gitlab.config.ldap['uid'],
-      :port     => Gitlab.config.ldap['port'],
-      :method   => Gitlab.config.ldap['method'],
-      :bind_dn  => Gitlab.config.ldap['bind_dn'],
-      :password => Gitlab.config.ldap['password']
+      host:     Gitlab.config.ldap['host'],
+      base:     Gitlab.config.ldap['base'],
+      uid:      Gitlab.config.ldap['uid'],
+      port:     Gitlab.config.ldap['port'],
+      method:   Gitlab.config.ldap['method'],
+      bind_dn:  Gitlab.config.ldap['bind_dn'],
+      password: Gitlab.config.ldap['password']
   end
 
   Gitlab.config.omniauth.providers.each do |provider|
diff --git a/config/routes.rb b/config/routes.rb
index 8bd6307357a68651d1be93019322bb06210c9a50..ad0f661b5edd1f569246d60e7170511543e8ce75 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -179,8 +179,7 @@ Gitlab::Application.routes.draw do
     resources :compare, only: [:index, :create]
     resources :blame,   only: [:show], constraints: {id: /.+/}
     resources :graph,   only: [:show], constraints: {id: /(?:[^.]|\.(?!json$))+/, format: /json/}
-    match "/compare/:from...:to" => "compare#show", as: "compare",
-                    :via => [:get, :post], constraints: {from: /.+/, to: /.+/}
+    match "/compare/:from...:to" => "compare#show", as: "compare", via: [:get, :post], constraints: {from: /.+/, to: /.+/}
 
     resources :wikis, only: [:show, :edit, :destroy, :create] do
       collection do
diff --git a/db/fixtures/development/07_milestones.rb b/db/fixtures/development/07_milestones.rb
index a77f619f995f280cf1b2eeb00e5f57cb3eb8f920..3135bf3a4f4293e713b77e9fbfd2bc4f24079713 100644
--- a/db/fixtures/development/07_milestones.rb
+++ b/db/fixtures/development/07_milestones.rb
@@ -1,13 +1,13 @@
 Milestone.seed(:id, [
-  { :id => 1,  :project_id => 1, :title => 'v' + Faker::Address.zip_code },
-  { :id => 2,  :project_id => 1, :title => 'v' + Faker::Address.zip_code },
-  { :id => 3,  :project_id => 1, :title => 'v' + Faker::Address.zip_code },
-  { :id => 4,  :project_id => 2, :title => 'v' + Faker::Address.zip_code },
-  { :id => 5,  :project_id => 2, :title => 'v' + Faker::Address.zip_code },
+  { id: 1,  project_id: 1, title: 'v' + Faker::Address.zip_code },
+  { id: 2,  project_id: 1, title: 'v' + Faker::Address.zip_code },
+  { id: 3,  project_id: 1, title: 'v' + Faker::Address.zip_code },
+  { id: 4,  project_id: 2, title: 'v' + Faker::Address.zip_code },
+  { id: 5,  project_id: 2, title: 'v' + Faker::Address.zip_code },
 
-  { :id => 6,  :project_id => 2, :title => 'v' + Faker::Address.zip_code },
-  { :id => 7,  :project_id => 2, :title => 'v' + Faker::Address.zip_code },
-  { :id => 8,  :project_id => 3, :title => 'v' + Faker::Address.zip_code },
-  { :id => 9,  :project_id => 3, :title => 'v' + Faker::Address.zip_code },
-  { :id => 11, :project_id => 3, :title => 'v' + Faker::Address.zip_code },
+  { id: 6,  project_id: 2, title: 'v' + Faker::Address.zip_code },
+  { id: 7,  project_id: 2, title: 'v' + Faker::Address.zip_code },
+  { id: 8,  project_id: 3, title: 'v' + Faker::Address.zip_code },
+  { id: 9,  project_id: 3, title: 'v' + Faker::Address.zip_code },
+  { id: 11, project_id: 3, title: 'v' + Faker::Address.zip_code },
 ])
diff --git a/features/steps/admin/admin_groups.rb b/features/steps/admin/admin_groups.rb
index 167763b691209f192f82b54023abc04365f38fbe..a2b49070f9f65b5c256f53184cc639af2f3b89eb 100644
--- a/features/steps/admin/admin_groups.rb
+++ b/features/steps/admin/admin_groups.rb
@@ -20,12 +20,12 @@ class AdminGroups < Spinach::FeatureSteps
   end
 
   And 'Create gitlab user "John"' do
-    create(:user, :name => "John")
+    create(:user, name: "John")
   end
 
   And 'submit form with new group info' do
-    fill_in 'group_name', :with => 'gitlab'
-    fill_in 'group_description', :with => 'Group description'
+    fill_in 'group_name', with: 'gitlab'
+    fill_in 'group_description', with: 'Group description'
     click_button "Create group"
   end
 
@@ -41,8 +41,8 @@ class AdminGroups < Spinach::FeatureSteps
   When 'I select user "John" from user list as "Reporter"' do
     user = User.find_by_name("John")
     within "#new_team_member" do
-      select user.name, :from => "user_ids"
-      select "Reporter", :from => "project_access"
+      select user.name, from: "user_ids"
+      select "Reporter", from: "project_access"
     end
     click_button "Add user to projects in group"
   end
diff --git a/features/steps/group/group.rb b/features/steps/group/group.rb
index 5ac958e3fc2c1ffa8acb37976f0c9e6acc3a9471..8b5a4ed44df03bc1d88072e976bf5fde566a9ffa 100644
--- a/features/steps/group/group.rb
+++ b/features/steps/group/group.rb
@@ -39,8 +39,8 @@ class Groups < Spinach::FeatureSteps
   And 'I select user "John" from list with role "Reporter"' do
     user = User.find_by_name("John")
     within "#new_team_member" do
-      select user.name, :from => "user_ids"
-      select "Reporter", :from => "project_access"
+      select user.name, from: "user_ids"
+      select "Reporter", from: "project_access"
     end
     click_button "Add"
   end
@@ -85,7 +85,7 @@ class Groups < Spinach::FeatureSteps
   end
 
   And 'I change group name' do
-    fill_in 'group_name', :with => 'new-name'
+    fill_in 'group_name', with: 'new-name'
     click_button "Save group"
   end
 
diff --git a/features/steps/profile/profile.rb b/features/steps/profile/profile.rb
index a02ed057d9d7d0250047adb2e325d783465b4d54..8981705df48906743e9728c936b46660717e706a 100644
--- a/features/steps/profile/profile.rb
+++ b/features/steps/profile/profile.rb
@@ -9,9 +9,9 @@ class Profile < Spinach::FeatureSteps
   end
 
   Then 'I change my contact info' do
-    fill_in "user_skype", :with => "testskype"
-    fill_in "user_linkedin", :with => "testlinkedin"
-    fill_in "user_twitter", :with => "testtwitter"
+    fill_in "user_skype", with: "testskype"
+    fill_in "user_linkedin", with: "testlinkedin"
+    fill_in "user_twitter", with: "testtwitter"
     click_button "Save"
     @user.reload
   end
@@ -24,8 +24,8 @@ class Profile < Spinach::FeatureSteps
 
   Then 'I change my password' do
     within '.update-password' do
-      fill_in "user_password", :with => "222333"
-      fill_in "user_password_confirmation", :with => "222333"
+      fill_in "user_password", with: "222333"
+      fill_in "user_password_confirmation", with: "222333"
       click_button "Save"
     end
   end
diff --git a/features/steps/profile/profile_ssh_keys.rb b/features/steps/profile/profile_ssh_keys.rb
index fbb92077f0a3d6edb8e5f98dfdb26a8379cad602..a280ce6f89c845fcf9b80aac3908674e287a061b 100644
--- a/features/steps/profile/profile_ssh_keys.rb
+++ b/features/steps/profile/profile_ssh_keys.rb
@@ -12,8 +12,8 @@ class ProfileSshKeys < Spinach::FeatureSteps
   end
 
   And 'I submit new ssh key "Laptop"' do
-    fill_in "key_title", :with => "Laptop"
-    fill_in "key_key", :with => "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAzrEJUIR6Y03TCE9rIJ+GqTBvgb8t1jI9h5UBzCLuK4VawOmkLornPqLDrGbm6tcwM/wBrrLvVOqi2HwmkKEIecVO0a64A4rIYScVsXIniHRS6w5twyn1MD3sIbN+socBDcaldECQa2u1dI3tnNVcs8wi77fiRe7RSxePsJceGoheRQgC8AZ510UdIlO+9rjIHUdVN7LLyz512auAfYsgx1OfablkQ/XJcdEwDNgi9imI6nAXhmoKUm1IPLT2yKajTIC64AjLOnE0YyCh6+7RFMpiMyu1qiOCpdjYwTgBRiciNRZCH8xIedyCoAmiUgkUT40XYHwLuwiPJICpkAzp7Q== user@laptop"
+    fill_in "key_title", with: "Laptop"
+    fill_in "key_key", with: "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAzrEJUIR6Y03TCE9rIJ+GqTBvgb8t1jI9h5UBzCLuK4VawOmkLornPqLDrGbm6tcwM/wBrrLvVOqi2HwmkKEIecVO0a64A4rIYScVsXIniHRS6w5twyn1MD3sIbN+socBDcaldECQa2u1dI3tnNVcs8wi77fiRe7RSxePsJceGoheRQgC8AZ510UdIlO+9rjIHUdVN7LLyz512auAfYsgx1OfablkQ/XJcdEwDNgi9imI6nAXhmoKUm1IPLT2yKajTIC64AjLOnE0YyCh6+7RFMpiMyu1qiOCpdjYwTgBRiciNRZCH8xIedyCoAmiUgkUT40XYHwLuwiPJICpkAzp7Q== user@laptop"
     click_button "Save"
   end
 
@@ -43,6 +43,6 @@ class ProfileSshKeys < Spinach::FeatureSteps
   end
 
   And 'I have ssh key "ssh-rsa Work"' do
-    create(:key, :user => @user, :title => "ssh-rsa Work", :key => "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC+L3TbFegm3k8QjejSwemk4HhlRh+DuN679Pc5ckqE/MPhVtE/+kZQDYCTB284GiT2aIoGzmZ8ee9TkaoejAsBwlA+Wz2Q3vhz65X6sMgalRwpdJx8kSEUYV8ZPV3MZvPo8KdNg993o4jL6G36GDW4BPIyO6FPZhfsawdf6liVD0Xo5kibIK7B9VoE178cdLQtLpS2YolRwf5yy6XR6hbbBGQR+6xrGOdP16eGZDb1CE2bMvvJijjloFqPscGktWOqW+nfh5txwFfBzlfARDTBsS8WZtg3Yoj1kn33kPsWRlgHfNutFRAIynDuDdQzQq8tTtVwm+Yi75RfcPHW8y3P Work")
+    create(:key, user: @user, title: "ssh-rsa Work", key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC+L3TbFegm3k8QjejSwemk4HhlRh+DuN679Pc5ckqE/MPhVtE/+kZQDYCTB284GiT2aIoGzmZ8ee9TkaoejAsBwlA+Wz2Q3vhz65X6sMgalRwpdJx8kSEUYV8ZPV3MZvPo8KdNg993o4jL6G36GDW4BPIyO6FPZhfsawdf6liVD0Xo5kibIK7B9VoE178cdLQtLpS2YolRwf5yy6XR6hbbBGQR+6xrGOdP16eGZDb1CE2bMvvJijjloFqPscGktWOqW+nfh5txwFfBzlfARDTBsS8WZtg3Yoj1kn33kPsWRlgHfNutFRAIynDuDdQzQq8tTtVwm+Yi75RfcPHW8y3P Work")
   end
 end
diff --git a/features/steps/project/project_browse_branches.rb b/features/steps/project/project_browse_branches.rb
index 2f6e185deea0140e04222b1e26f0b93f9526e7d0..24939d2ab4f27ce1beaf5b4e0eb8e5d18ac97e32 100644
--- a/features/steps/project/project_browse_branches.rb
+++ b/features/steps/project/project_browse_branches.rb
@@ -30,6 +30,6 @@ class ProjectBrowseBranches < Spinach::FeatureSteps
 
   And 'project "Shop" has protected branches' do
     project = Project.find_by_name("Shop")
-    project.protected_branches.create(:name => "stable")
+    project.protected_branches.create(name: "stable")
   end
 end
diff --git a/features/steps/project/project_browse_commits.rb b/features/steps/project/project_browse_commits.rb
index fb26d41f43e9554701fe54312309edcf17dbdd63..95d3072740526b79155b73ae3df295bbb02ba7c8 100644
--- a/features/steps/project/project_browse_commits.rb
+++ b/features/steps/project/project_browse_commits.rb
@@ -17,9 +17,9 @@ class ProjectBrowseCommits < Spinach::FeatureSteps
   Then 'I see commits atom feed' do
     commit = @project.repository.commit
     page.response_headers['Content-Type'].should have_content("application/atom+xml")
-    page.body.should have_selector("title", :text => "Recent commits to #{@project.name}")
-    page.body.should have_selector("author email", :text => commit.author_email)
-    page.body.should have_selector("entry summary", :text => commit.description)
+    page.body.should have_selector("title", text: "Recent commits to #{@project.name}")
+    page.body.should have_selector("author email", text: commit.author_email)
+    page.body.should have_selector("entry summary", text: commit.description)
   end
 
   Given 'I click on commit link' do
diff --git a/features/steps/project/project_issues.rb b/features/steps/project/project_issues.rb
index 7d54009988ff9ea5b5560dcd807627cad36e087d..6c18177498f638da66ea25b6ff88ab1db1dd722e 100644
--- a/features/steps/project/project_issues.rb
+++ b/features/steps/project/project_issues.rb
@@ -41,7 +41,7 @@ class ProjectIssues < Spinach::FeatureSteps
   end
 
   And 'I submit new issue "500 error on profile"' do
-    fill_in "issue_title", :with => "500 error on profile"
+    fill_in "issue_title", with: "500 error on profile"
     click_button "Submit new issue"
   end
 
@@ -78,16 +78,16 @@ class ProjectIssues < Spinach::FeatureSteps
 
   Given 'project "Shop" has milestone "v2.2"' do
     project = Project.find_by_name("Shop")
-    milestone = create(:milestone, :title => "v2.2", :project => project)
+    milestone = create(:milestone, title: "v2.2", project: project)
 
-    3.times { create(:issue, :project => project, :milestone => milestone) }
+    3.times { create(:issue, project: project, milestone: milestone) }
   end
 
   And 'project "Shop" has milestone "v3.0"' do
     project = Project.find_by_name("Shop")
-    milestone = create(:milestone, :title => "v3.0", :project => project)
+    milestone = create(:milestone, title: "v3.0", project: project)
 
-    3.times { create(:issue, :project => project, :milestone => milestone) }
+    3.times { create(:issue, project: project, milestone: milestone) }
   end
 
   When 'I select milestone "v3.0"' do
@@ -115,16 +115,16 @@ class ProjectIssues < Spinach::FeatureSteps
   And 'project "Shop" have "Release 0.4" open issue' do
     project = Project.find_by_name("Shop")
     create(:issue,
-           :title => "Release 0.4",
-           :project => project,
-           :author => project.users.first)
+           title: "Release 0.4",
+           project: project,
+           author: project.users.first)
   end
 
   And 'project "Shop" have "Release 0.3" closed issue' do
     project = Project.find_by_name("Shop")
     create(:closed_issue,
-           :title => "Release 0.3",
-           :project => project,
-           :author => project.users.first)
+           title: "Release 0.3",
+           project: project,
+           author: project.users.first)
   end
 end
diff --git a/features/steps/project/project_merge_requests.rb b/features/steps/project/project_merge_requests.rb
index fa7666bcbb69fa0cbe4ab362df725604797eeb59..6a2f870e276e26f0be083283161c2bd15c3589d6 100644
--- a/features/steps/project/project_merge_requests.rb
+++ b/features/steps/project/project_merge_requests.rb
@@ -56,9 +56,9 @@ class ProjectMergeRequests < Spinach::FeatureSteps
   end
 
   And 'I submit new merge request "Wiki Feature"' do
-    fill_in "merge_request_title", :with => "Wiki Feature"
-    select "master", :from => "merge_request_source_branch"
-    select "stable", :from => "merge_request_target_branch"
+    fill_in "merge_request_title", with: "Wiki Feature"
+    select "master", from: "merge_request_source_branch"
+    select "stable", from: "merge_request_target_branch"
     click_button "Submit merge request"
   end
 
diff --git a/features/steps/project/project_milestones.rb b/features/steps/project/project_milestones.rb
index 1350938ee9af75036f2bde3c24861cbf267d8ba9..fcd590fcab2a3a7424ac3fc98a65266c2cf01d5f 100644
--- a/features/steps/project/project_milestones.rb
+++ b/features/steps/project/project_milestones.rb
@@ -19,7 +19,7 @@ class ProjectMilestones < Spinach::FeatureSteps
   end
 
   And 'I submit new milestone "v2.3"' do
-    fill_in "milestone_title", :with => "v2.3"
+    fill_in "milestone_title", with: "v2.3"
     click_button "Create milestone"
   end
 
@@ -32,9 +32,9 @@ class ProjectMilestones < Spinach::FeatureSteps
 
   And 'project "Shop" has milestone "v2.2"' do
     project = Project.find_by_name("Shop")
-    milestone = create(:milestone, :title => "v2.2", :project => project)
+    milestone = create(:milestone, title: "v2.2", project: project)
 
-    3.times { create(:issue, :project => project, :milestone => milestone) }
+    3.times { create(:issue, project: project, milestone: milestone) }
   end
 
   Given 'the milestone has open and closed issues' do
diff --git a/features/steps/project/project_network_graph.rb b/features/steps/project/project_network_graph.rb
index 763b4de2abc0eff92d8d14099531c7331b10cdee..8db6a39e99fa5c10502749b9f6a2c1ac6325c009 100644
--- a/features/steps/project/project_network_graph.rb
+++ b/features/steps/project/project_network_graph.rb
@@ -16,7 +16,7 @@ class ProjectNetworkGraph < Spinach::FeatureSteps
   end
 
   And 'page should select "master" in select box' do
-    page.should have_selector '#ref_chzn span', :text => "master"
+    page.should have_selector '#ref_chzn span', text: "master"
   end
 
   And 'page should have "master" on graph' do
@@ -26,21 +26,21 @@ class ProjectNetworkGraph < Spinach::FeatureSteps
   end
 
   When 'I switch ref to "stable"' do
-    page.select 'stable', :from => 'ref'
+    page.select 'stable', from: 'ref'
     sleep 2
   end
 
   When 'I switch ref to "v2.1.0"' do
-    page.select 'v2.1.0', :from => 'ref'
+    page.select 'v2.1.0', from: 'ref'
     sleep 2
   end
 
   And 'page should select "stable" in select box' do
-    page.should have_selector '#ref_chzn span', :text => "stable"
+    page.should have_selector '#ref_chzn span', text: "stable"
   end
 
   And 'page should select "v2.1.0" in select box' do
-    page.should have_selector '#ref_chzn span', :text => "v2.1.0"
+    page.should have_selector '#ref_chzn span', text: "v2.1.0"
   end
 
   And 'page should have "stable" on graph' do
@@ -51,7 +51,7 @@ class ProjectNetworkGraph < Spinach::FeatureSteps
 
   When 'I looking for a commit by SHA of "v2.1.0"' do
     within ".content .search" do
-      fill_in 'q', :with => '98d6492'
+      fill_in 'q', with: '98d6492'
       find('button').click
     end
     sleep 2
diff --git a/features/steps/project/project_wiki.rb b/features/steps/project/project_wiki.rb
index 745e9ede2496c31686144c0d8d11c6f384747ace..4c92d5672f752ac5fae6356c40099d4ee7d5f821 100644
--- a/features/steps/project/project_wiki.rb
+++ b/features/steps/project/project_wiki.rb
@@ -16,7 +16,7 @@ class ProjectWiki < Spinach::FeatureSteps
   end
 
   Given 'I create the Wiki Home page' do
-    fill_in "Content", :with => '[link test](test)'
+    fill_in "Content", with: '[link test](test)'
     click_on "Save"
   end
 
@@ -42,7 +42,7 @@ class ProjectWiki < Spinach::FeatureSteps
   end
 
   And 'I change the content' do
-    fill_in "Content", :with => 'Updated Wiki Content'
+    fill_in "Content", with: 'Updated Wiki Content'
     click_on "Save"
   end
 
diff --git a/lib/api.rb b/lib/api.rb
index d241f9b7479e4268bd84e4ae7547e1587f5822ee..082769da6d372388f0b29d4e655b574c7a875943 100644
--- a/lib/api.rb
+++ b/lib/api.rb
@@ -17,13 +17,13 @@ module Gitlab
       message << exception.annoted_source_code.to_s if exception.respond_to?(:annoted_source_code)
       message << "  " << trace.join("\n  ")
 
-      API.logger.add Logger::FATAL, message 
+      API.logger.add Logger::FATAL, message
       rack_response({'message' => '500 Internal Server Error'}, 500)
     end
 
     format :json
     helpers APIHelpers
-    
+
     mount Groups
     mount Users
     mount Projects
diff --git a/lib/api/groups.rb b/lib/api/groups.rb
index 52fa8eff33cec6e122e376584655c5885d2a1d9d..efdbeb176c65dd046e4ee2a8d162d345553ccd27 100644
--- a/lib/api/groups.rb
+++ b/lib/api/groups.rb
@@ -70,7 +70,7 @@ module Gitlab
         else
           not_found!
         end
-      end 
+      end
     end
   end
 end
diff --git a/lib/api/system_hooks.rb b/lib/api/system_hooks.rb
index da0b005d69dc089a00ac0397c401f68e5d19dfb9..9e3574e3b9935b3ca64a9ce18de06ae622d878df 100644
--- a/lib/api/system_hooks.rb
+++ b/lib/api/system_hooks.rb
@@ -1,70 +1,70 @@
-module Gitlab
-  # Hooks API
-  class SystemHooks < Grape::API
-    before {
-      authenticate!
-      authenticated_as_admin!
-    }
-
-    resource :hooks do
-      # Get the list of system hooks
-      #
-      # Example Request:
-      #   GET /hooks
-      get do
-        @hooks = SystemHook.all
-        present @hooks, with: Entities::Hook
-      end
-
-      # Create new system hook
-      #
-      # Parameters:
-      #   url (required) - url for system hook
-      # Example Request
-      #   POST /hooks
-      post do
-        attrs = attributes_for_keys [:url]
-        required_attributes! [:url]
-        @hook = SystemHook.new attrs
-        if @hook.save
-          present @hook, with: Entities::Hook
-        else
-          not_found!
-        end
-      end
-
-      # Test a hook
-      #
-      # Example Request
-      #   GET /hooks/:id
-      get ":id" do
-        @hook = SystemHook.find(params[:id])
-        data = {
-          event_name: "project_create",
-          name: "Ruby",
-          path: "ruby",
-          project_id: 1,
-          owner_name: "Someone",
-          owner_email: "example@gitlabhq.com"
-        }
-        @hook.execute(data)
-        data
-      end
-
-      # Delete a hook. This is an idempotent function.
-      # 
-      # Parameters:
-      #   id (required) - ID of the hook
-      # Example Request:
-      #   DELETE /hooks/:id
-      delete ":id" do
-        begin
-          @hook = SystemHook.find(params[:id])
-          @hook.destroy
-        rescue
-          # SystemHook raises an Error if no hook with id found
-        end
-      end
-    end
-  end
-end
\ No newline at end of file
+module Gitlab
+  # Hooks API
+  class SystemHooks < Grape::API
+    before {
+      authenticate!
+      authenticated_as_admin!
+    }
+
+    resource :hooks do
+      # Get the list of system hooks
+      #
+      # Example Request:
+      #   GET /hooks
+      get do
+        @hooks = SystemHook.all
+        present @hooks, with: Entities::Hook
+      end
+
+      # Create new system hook
+      #
+      # Parameters:
+      #   url (required) - url for system hook
+      # Example Request
+      #   POST /hooks
+      post do
+        attrs = attributes_for_keys [:url]
+        required_attributes! [:url]
+        @hook = SystemHook.new attrs
+        if @hook.save
+          present @hook, with: Entities::Hook
+        else
+          not_found!
+        end
+      end
+
+      # Test a hook
+      #
+      # Example Request
+      #   GET /hooks/:id
+      get ":id" do
+        @hook = SystemHook.find(params[:id])
+        data = {
+          event_name: "project_create",
+          name: "Ruby",
+          path: "ruby",
+          project_id: 1,
+          owner_name: "Someone",
+          owner_email: "example@gitlabhq.com"
+        }
+        @hook.execute(data)
+        data
+      end
+
+      # Delete a hook. This is an idempotent function.
+      #
+      # Parameters:
+      #   id (required) - ID of the hook
+      # Example Request:
+      #   DELETE /hooks/:id
+      delete ":id" do
+        begin
+          @hook = SystemHook.find(params[:id])
+          @hook.destroy
+        rescue
+          # SystemHook raises an Error if no hook with id found
+        end
+      end
+    end
+  end
+end
diff --git a/lib/gitlab/auth.rb b/lib/gitlab/auth.rb
index 0fee33dbeb0ef4548a91a9c3662de510ca76e91a..78d2196fbbe82c21305f90b09747dedbcca1f80e 100644
--- a/lib/gitlab/auth.rb
+++ b/lib/gitlab/auth.rb
@@ -10,7 +10,7 @@ module Gitlab
         @user
       elsif @user = User.find_by_email(email)
         log.info "Updating legacy LDAP user #{email} with extern_uid => #{uid}"
-        @user.update_attributes(:extern_uid => uid, :provider => provider)
+        @user.update_attributes(extern_uid: uid, provider: provider)
         @user
       else
         create_from_omniauth(auth, true)
@@ -57,7 +57,7 @@ module Gitlab
       if @user = User.find_by_provider_and_extern_uid(provider, uid)
         @user
       elsif @user = User.find_by_email(email)
-        @user.update_attributes(:extern_uid => uid, :provider => provider)
+        @user.update_attributes(extern_uid: uid, provider: provider)
         @user
       else
         if Gitlab.config.omniauth['allow_single_sign_on']
diff --git a/lib/gitlab/inline_diff.rb b/lib/gitlab/inline_diff.rb
index 7a0a3214aa106cd722073037a255f75472a6b21b..b39fd0d552d83581273692445d85e59f6b95b523 100644
--- a/lib/gitlab/inline_diff.rb
+++ b/lib/gitlab/inline_diff.rb
@@ -4,7 +4,7 @@ module Gitlab
 
       START  = "#!idiff-start!#"
       FINISH = "#!idiff-finish!#"
-    
+
       def processing diff_arr
         indexes = _indexes_of_changed_lines diff_arr
 
@@ -60,7 +60,7 @@ module Gitlab
         line.gsub!(FINISH, "</span>")
         line
       end
-    
+
     end
 
   end
diff --git a/lib/gitlab/popen.rb b/lib/gitlab/popen.rb
index f2cfd8073e3c8b602d056330073fdef37b963542..2f30fde20784d27ee5d4531df2059f8168d56789 100644
--- a/lib/gitlab/popen.rb
+++ b/lib/gitlab/popen.rb
@@ -2,7 +2,7 @@ module Gitlab
   module Popen
     def popen(cmd, path)
       vars = { "PWD" => path }
-      options = { :chdir => path }
+      options = { chdir: path }
 
       @cmd_output = ""
       @cmd_status = 0
diff --git a/lib/tasks/gitlab/backup.rake b/lib/tasks/gitlab/backup.rake
index 9f28de593e947f7ee57df4ea45a4e9f44b9bca3e..0c791926c416f76e094de38e79643488d0bde6fe 100644
--- a/lib/tasks/gitlab/backup.rake
+++ b/lib/tasks/gitlab/backup.rake
@@ -4,7 +4,7 @@ namespace :gitlab do
   namespace :backup do
     # Create backup of GitLab system
     desc "GITLAB | Create a backup of the GitLab system"
-    task :create => :environment do
+    task create: :environment do
       warn_user_is_not_gitlab
 
       Rake::Task["gitlab:backup:db:create"].invoke
@@ -57,7 +57,7 @@ namespace :gitlab do
 
     # Restore backup of GitLab system
     desc "GITLAB | Restore a previously created backup"
-    task :restore => :environment do
+    task restore: :environment do
       warn_user_is_not_gitlab
 
       Dir.chdir(Gitlab.config.backup.path)
@@ -113,13 +113,13 @@ namespace :gitlab do
     end
 
     namespace :repo do
-      task :create => :environment do
+      task create: :environment do
         puts "Dumping repositories ...".blue
         Backup::Repository.new.dump
         puts "done".green
       end
 
-      task :restore => :environment do
+      task restore: :environment do
         puts "Restoring repositories ...".blue
         Backup::Repository.new.restore
         puts "done".green
@@ -127,13 +127,13 @@ namespace :gitlab do
     end
 
     namespace :db do
-      task :create => :environment do
+      task create: :environment do
         puts "Dumping database ... ".blue
         Backup::Database.new.dump
         puts "done".green
       end
 
-      task :restore => :environment do
+      task restore: :environment do
         puts "Restoring database ... ".blue
         Backup::Database.new.restore
         puts "done".green
@@ -141,13 +141,13 @@ namespace :gitlab do
     end
 
     namespace :uploads do
-      task :create => :environment do
+      task create: :environment do
         puts "Dumping uploads ... ".blue
         Backup::Uploads.new.dump
         puts "done".green
       end
 
-      task :restore => :environment do
+      task restore: :environment do
         puts "Restoring uploads ... ".blue
         Backup::Uploads.new.restore
         puts "done".green
diff --git a/lib/tasks/gitlab/bulk_add_permission.rake b/lib/tasks/gitlab/bulk_add_permission.rake
index eb1a7559dbda102f60cd9993df7305cc48e4b485..c270232edbac1f915c60c23c907b0d282e414776 100644
--- a/lib/tasks/gitlab/bulk_add_permission.rake
+++ b/lib/tasks/gitlab/bulk_add_permission.rake
@@ -1,9 +1,9 @@
 namespace :gitlab do
   namespace :import do
     desc "GITLAB | Add all users to all projects (admin users are added as masters)"
-    task :all_users_to_all_projects => :environment  do |t, args|
-      user_ids = User.where(:admin => false).pluck(:id)
-      admin_ids = User.where(:admin => true).pluck(:id)
+    task all_users_to_all_projects: :environment  do |t, args|
+      user_ids = User.where(admin: false).pluck(:id)
+      admin_ids = User.where(admin: true).pluck(:id)
       projects_ids = Project.pluck(:id)
 
       puts "Importing #{user_ids.size} users into #{projects_ids.size} projects"
@@ -21,4 +21,4 @@ namespace :gitlab do
       UsersProject.add_users_into_projects(project_ids, Array.wrap(user.id), UsersProject::DEVELOPER)
     end
   end
-end
\ No newline at end of file
+end
diff --git a/lib/tasks/gitlab/cleanup.rake b/lib/tasks/gitlab/cleanup.rake
index d8ee56e5523ca95e1e28d45aafeb43b78f1763a9..186abc65563081a264376012080a5460ce87fadd 100644
--- a/lib/tasks/gitlab/cleanup.rake
+++ b/lib/tasks/gitlab/cleanup.rake
@@ -1,7 +1,7 @@
 namespace :gitlab do
   namespace :cleanup do
     desc "GITLAB | Cleanup | Clean namespaces"
-    task :dirs => :environment  do
+    task dirs: :environment  do
       warn_user_is_not_gitlab
       remove_flag = ENV['REMOVE']
 
@@ -44,7 +44,7 @@ namespace :gitlab do
     end
 
     desc "GITLAB | Cleanup | Clean respositories"
-    task :repos => :environment  do
+    task repos: :environment  do
       warn_user_is_not_gitlab
       remove_flag = ENV['REMOVE']
 
diff --git a/lib/tasks/gitlab/import.rake b/lib/tasks/gitlab/import.rake
index bddbd7ef8559b67e21cdf0c00205f6501d45c373..acf6abedd19c5d5f89bf6276833ad781ae65bc89 100644
--- a/lib/tasks/gitlab/import.rake
+++ b/lib/tasks/gitlab/import.rake
@@ -10,7 +10,7 @@ namespace :gitlab do
     #  * existing projects will be skipped
     #
     desc "GITLAB | Import bare repositories from git_host -> base_path into GitLab project instance"
-    task :repos => :environment do
+    task repos: :environment do
 
       git_base_path = Gitlab.config.gitlab_shell.repos_path
       repos_to_import = Dir.glob(git_base_path + '/*')
@@ -40,7 +40,7 @@ namespace :gitlab do
           user = User.admins.first
 
           project_params = {
-            :name => path,
+            name: path,
           }
 
           project = Projects::CreateContext.new(user, project_params).execute
diff --git a/lib/tasks/gitlab/setup.rake b/lib/tasks/gitlab/setup.rake
index 5b74daf956ebb7b9df1115cac5b6fb443bd36b09..2b730774e0666830c4c1eec7c11dac090a7a74a4 100644
--- a/lib/tasks/gitlab/setup.rake
+++ b/lib/tasks/gitlab/setup.rake
@@ -1,6 +1,6 @@
 namespace :gitlab do
   desc "GITLAB | Setup production application"
-  task :setup => :environment do
+  task setup: :environment do
     setup_db
   end
 
diff --git a/lib/tasks/gitlab/test.rake b/lib/tasks/gitlab/test.rake
index ad1bfb2e4b3fc783b1d945207aeaa71632c6819b..03b3fc5ea20836fcb18060a21bdd19f8b3ca3503 100644
--- a/lib/tasks/gitlab/test.rake
+++ b/lib/tasks/gitlab/test.rake
@@ -1,4 +1,4 @@
 namespace :gitlab do
   desc "GITLAB | Run both spinach and rspec"
-  task :test => ['spinach', 'spec']
+  task test: ['spinach', 'spec']
 end
diff --git a/lib/tasks/travis.rake b/lib/tasks/travis.rake
index 6b4348308033565f4a2afcb6a542937c9b064119..bc1b8aadbc597757962b3b6e9779841e9d7e1ab7 100644
--- a/lib/tasks/travis.rake
+++ b/lib/tasks/travis.rake
@@ -1,5 +1,5 @@
 desc "Travis run tests"
-task :travis => [
+task travis: [
   :spinach,
   :spec
 ]
diff --git a/spec/models/merge_request_spec.rb b/spec/models/merge_request_spec.rb
index c64c053bad2af0ce164ef754c90061e190038eb5..a4660806ccab406b534b036b395d0b6841a2363e 100644
--- a/spec/models/merge_request_spec.rb
+++ b/spec/models/merge_request_spec.rb
@@ -36,7 +36,7 @@ describe MergeRequest do
     it { should respond_to(:can_be_merged?) }
     it { should respond_to(:cannot_be_merged?) }
   end
- 
+
   describe 'modules' do
     it { should include_module(Issuable) }
   end
diff --git a/spec/models/milestone_spec.rb b/spec/models/milestone_spec.rb
index f74fea01aaa026b355aeaec04b02d3de7babce0d..efab5510c5961ed463599e0ee177c39610c37ae8 100644
--- a/spec/models/milestone_spec.rb
+++ b/spec/models/milestone_spec.rb
@@ -134,7 +134,7 @@ describe Milestone do
 
     it 'should be false if milestone active and not all nestied issues closed' do
       issue.milestone = milestone
-      issue.save 
+      issue.save
 
       milestone.can_be_closed?.should be_false
     end
diff --git a/spec/observers/users_project_observer_spec.rb b/spec/observers/users_project_observer_spec.rb
index 66d5c7d91afb80873a73be4f3e129ae73f1a655c..b5f72946492f22ccb3adde1f429dde5ab735d728 100644
--- a/spec/observers/users_project_observer_spec.rb
+++ b/spec/observers/users_project_observer_spec.rb
@@ -16,7 +16,7 @@ describe UsersProjectObserver do
 
     it "should send email to user" do
       subject.should_receive(:notification)
-      Event.stub(:create => true)
+      Event.stub(create: true)
 
       create(:users_project)
     end
diff --git a/spec/requests/api/groups_spec.rb b/spec/requests/api/groups_spec.rb
index e97ceb2c9910d09cc4353c321748d0e2b929bfa5..cf284b607a54b2f156766a2c23e54b4426e401e5 100644
--- a/spec/requests/api/groups_spec.rb
+++ b/spec/requests/api/groups_spec.rb
@@ -26,7 +26,7 @@ describe Gitlab::API do
         json_response.first['name'].should == group1.name
       end
     end
-    
+
     context "when authenticated as  admin" do
       it "admin: should return an array of all groups" do
         get api("/groups", admin)
@@ -36,7 +36,7 @@ describe Gitlab::API do
       end
     end
   end
-  
+
   describe "GET /groups/:id" do
     context "when authenticated as user" do
       it "should return one of user1's groups" do
@@ -44,32 +44,32 @@ describe Gitlab::API do
         response.status.should == 200
         json_response['name'] == group1.name
       end
-      
+
       it "should not return a non existing group" do
         get api("/groups/1328", user1)
         response.status.should == 404
       end
-      
+
       it "should not return a group not attached to user1" do
         get api("/groups/#{group2.id}", user1)
         response.status.should == 404
       end
     end
-    
+
     context "when authenticated as admin" do
       it "should return any existing group" do
         get api("/groups/#{group2.id}", admin)
         response.status.should == 200
         json_response['name'] == group2.name
       end
-      
+
       it "should not return a non existing group" do
         get api("/groups/1328", admin)
         response.status.should == 404
       end
     end
   end
-  
+
   describe "POST /groups" do
     context "when authenticated as user" do
       it "should not create group" do
@@ -77,7 +77,7 @@ describe Gitlab::API do
         response.status.should == 403
       end
     end
-    
+
     context "when authenticated as admin" do
       it "should create group" do
         post api("/groups", admin), attributes_for(:group)
@@ -85,17 +85,17 @@ describe Gitlab::API do
       end
 
       it "should not create group, duplicate" do
-        post api("/groups", admin), {:name => "Duplicate Test", :path => group2.path}
+        post api("/groups", admin), {name: "Duplicate Test", path: group2.path}
         response.status.should == 404
       end
 
       it "should return 400 bad request error if name not given" do
-        post api("/groups", admin), { :path => group2.path }
+        post api("/groups", admin), { path: group2.path }
         response.status.should == 400
       end
 
       it "should return 400 bad request error if path not given" do
-        post api("/groups", admin), { :name => 'test' }
+        post api("/groups", admin), { name: 'test' }
         response.status.should == 400
       end
     end
@@ -104,8 +104,8 @@ describe Gitlab::API do
   describe "POST /groups/:id/projects/:project_id" do
     let(:project) { create(:project) }
     before(:each) do
-       project.stub!(:transfer).and_return(true) 
-       Project.stub(:find).and_return(project) 
+       project.stub!(:transfer).and_return(true)
+       Project.stub(:find).and_return(project)
     end
 
 
diff --git a/spec/requests/api/system_hooks_spec.rb b/spec/requests/api/system_hooks_spec.rb
index fe1b324c9210b173aba25f65655a33e3f7992a21..647e31ce034eb587bd022b62e795e0561a831585 100644
--- a/spec/requests/api/system_hooks_spec.rb
+++ b/spec/requests/api/system_hooks_spec.rb
@@ -1,81 +1,81 @@
-require 'spec_helper'
-
-describe Gitlab::API do
-  include ApiHelpers
-
-  let(:user) { create(:user) }
-  let(:admin) { create(:admin) }
-  let!(:hook) { create(:system_hook, url: "http://example.com") }
-
-  before { stub_request(:post, hook.url) }
-
-  describe "GET /hooks" do
-    context "when no user" do
-      it "should return authentication error" do
-        get api("/hooks")
-        response.status.should == 401
-      end
-    end
-
-    context "when not an admin" do
-      it "should return forbidden error" do
-        get api("/hooks", user)
-        response.status.should == 403
-      end
-    end
-
-    context "when authenticated as admin" do
-      it "should return an array of hooks" do
-        get api("/hooks", admin)
-        response.status.should == 200
-        json_response.should be_an Array
-        json_response.first['url'].should == hook.url
-      end
-    end
-  end
-
-  describe "POST /hooks" do
-    it "should create new hook" do
-      expect {
-        post api("/hooks", admin), url: 'http://example.com'
-      }.to change { SystemHook.count }.by(1)
-    end
-
-    it "should respond with 400 if url not given" do
-      post api("/hooks", admin)
-      response.status.should == 400
-    end
-
-    it "should not create new hook without url" do
-      expect {
-        post api("/hooks", admin)
-      }.to_not change { SystemHook.count }
-    end
-  end
-
-  describe "GET /hooks/:id" do
-    it "should return hook by id" do
-      get api("/hooks/#{hook.id}", admin)
-      response.status.should == 200
-      json_response['event_name'].should == 'project_create'
-    end
-
-    it "should return 404 on failure" do
-      get api("/hooks/404", admin)
-      response.status.should == 404
-    end
-  end
-
-  describe "DELETE /hooks/:id" do
-    it "should delete a hook" do
-      expect {
-        delete api("/hooks/#{hook.id}", admin)
-      }.to change { SystemHook.count }.by(-1)
-    end
-
-    it "should return success if hook id not found" do
-      delete api("/hooks/12345", admin)
-      response.status.should == 200
-    end
-  end
-end
\ No newline at end of file
+require 'spec_helper'
+
+describe Gitlab::API do
+  include ApiHelpers
+
+  let(:user) { create(:user) }
+  let(:admin) { create(:admin) }
+  let!(:hook) { create(:system_hook, url: "http://example.com") }
+
+  before { stub_request(:post, hook.url) }
+
+  describe "GET /hooks" do
+    context "when no user" do
+      it "should return authentication error" do
+        get api("/hooks")
+        response.status.should == 401
+      end
+    end
+
+    context "when not an admin" do
+      it "should return forbidden error" do
+        get api("/hooks", user)
+        response.status.should == 403
+      end
+    end
+
+    context "when authenticated as admin" do
+      it "should return an array of hooks" do
+        get api("/hooks", admin)
+        response.status.should == 200
+        json_response.should be_an Array
+        json_response.first['url'].should == hook.url
+      end
+    end
+  end
+
+  describe "POST /hooks" do
+    it "should create new hook" do
+      expect {
+        post api("/hooks", admin), url: 'http://example.com'
+      }.to change { SystemHook.count }.by(1)
+    end
+
+    it "should respond with 400 if url not given" do
+      post api("/hooks", admin)
+      response.status.should == 400
+    end
+
+    it "should not create new hook without url" do
+      expect {
+        post api("/hooks", admin)
+      }.to_not change { SystemHook.count }
+    end
+  end
+
+  describe "GET /hooks/:id" do
+    it "should return hook by id" do
+      get api("/hooks/#{hook.id}", admin)
+      response.status.should == 200
+      json_response['event_name'].should == 'project_create'
+    end
+
+    it "should return 404 on failure" do
+      get api("/hooks/404", admin)
+      response.status.should == 404
+    end
+  end
+
+  describe "DELETE /hooks/:id" do
+    it "should delete a hook" do
+      expect {
+        delete api("/hooks/#{hook.id}", admin)
+      }.to change { SystemHook.count }.by(-1)
+    end
+
+    it "should return success if hook id not found" do
+      delete api("/hooks/12345", admin)
+      response.status.should == 200
+    end
+  end
+end
diff --git a/spec/routing/admin_routing_spec.rb b/spec/routing/admin_routing_spec.rb
index b6509fcb8b22fbd3e6af13afef794141aafd72dd..c14fff5109b11e2c8ec72f895cda16db53b5eaf0 100644
--- a/spec/routing/admin_routing_spec.rb
+++ b/spec/routing/admin_routing_spec.rb
@@ -56,15 +56,15 @@ describe Admin::UsersController, "routing" do
   end
 end
 
-#        team_admin_project GET    /admin/projects/:id/team(.:format)        admin/projects#team {:id=>/[^\/]+/}
-# team_update_admin_project PUT    /admin/projects/:id/team_update(.:format) admin/projects#team_update {:id=>/[^\/]+/}
-#            admin_projects GET    /admin/projects(.:format)                 admin/projects#index {:id=>/[^\/]+/}
-#                           POST   /admin/projects(.:format)                 admin/projects#create {:id=>/[^\/]+/}
-#         new_admin_project GET    /admin/projects/new(.:format)             admin/projects#new {:id=>/[^\/]+/}
-#        edit_admin_project GET    /admin/projects/:id/edit(.:format)        admin/projects#edit {:id=>/[^\/]+/}
-#             admin_project GET    /admin/projects/:id(.:format)             admin/projects#show {:id=>/[^\/]+/}
-#                           PUT    /admin/projects/:id(.:format)             admin/projects#update {:id=>/[^\/]+/}
-#                           DELETE /admin/projects/:id(.:format)             admin/projects#destroy {:id=>/[^\/]+/}
+#        team_admin_project GET    /admin/projects/:id/team(.:format)        admin/projects#team {id: /[^\/]+/}
+# team_update_admin_project PUT    /admin/projects/:id/team_update(.:format) admin/projects#team_update {id: /[^\/]+/}
+#            admin_projects GET    /admin/projects(.:format)                 admin/projects#index {id: /[^\/]+/}
+#                           POST   /admin/projects(.:format)                 admin/projects#create {id: /[^\/]+/}
+#         new_admin_project GET    /admin/projects/new(.:format)             admin/projects#new {id: /[^\/]+/}
+#        edit_admin_project GET    /admin/projects/:id/edit(.:format)        admin/projects#edit {id: /[^\/]+/}
+#             admin_project GET    /admin/projects/:id(.:format)             admin/projects#show {id: /[^\/]+/}
+#                           PUT    /admin/projects/:id(.:format)             admin/projects#update {id: /[^\/]+/}
+#                           DELETE /admin/projects/:id(.:format)             admin/projects#destroy {id: /[^\/]+/}
 describe Admin::ProjectsController, "routing" do
   it "to #index" do
     get("/admin/projects").should route_to('admin/projects#index')
@@ -75,9 +75,9 @@ describe Admin::ProjectsController, "routing" do
   end
 end
 
-# edit_admin_project_member GET      /admin/projects/:project_id/members/:id/edit(.:format)    admin/projects/members#edit {:id=>/[^\/]+/, :project_id=>/[^\/]+/}
-#      admin_project_member PUT      /admin/projects/:project_id/members/:id(.:format)         admin/projects/members#update {:id=>/[^\/]+/, :project_id=>/[^\/]+/}
-#                           DELETE   /admin/projects/:project_id/members/:id(.:format)         admin/projects/members#destroy {:id=>/[^\/]+/, :project_id=>/[^\/]+/}
+# edit_admin_project_member GET      /admin/projects/:project_id/members/:id/edit(.:format)    admin/projects/members#edit {id: /[^\/]+/, project_id: /[^\/]+/}
+#      admin_project_member PUT      /admin/projects/:project_id/members/:id(.:format)         admin/projects/members#update {id: /[^\/]+/, project_id: /[^\/]+/}
+#                           DELETE   /admin/projects/:project_id/members/:id(.:format)         admin/projects/members#destroy {id: /[^\/]+/, project_id: /[^\/]+/}
 describe Admin::Projects::MembersController, "routing" do
   it "to #edit" do
     get("/admin/projects/test/members/1/edit").should route_to('admin/projects/members#edit', project_id: 'test', id: '1')
diff --git a/spec/routing/project_routing_spec.rb b/spec/routing/project_routing_spec.rb
index dd4fb54af69467fd2d39d0f210bd05f6f862215d..613c4565755cadcf7cfb26894c6e4edc37d4ab77 100644
--- a/spec/routing/project_routing_spec.rb
+++ b/spec/routing/project_routing_spec.rb
@@ -279,7 +279,7 @@ describe HooksController, "routing" do
   end
 end
 
-# project_commit GET    /:project_id/commit/:id(.:format) commit#show {:id=>/[[:alnum:]]{6,40}/, :project_id=>/[^\/]+/}
+# project_commit GET    /:project_id/commit/:id(.:format) commit#show {id: /[[:alnum:]]{6,40}/, project_id: /[^\/]+/}
 describe CommitController, "routing" do
   it "to #show" do
     get("/gitlabhq/commit/4246fb").should route_to('commit#show', project_id: 'gitlabhq', id: '4246fb')
@@ -375,7 +375,7 @@ describe NotesController, "routing" do
   end
 end
 
-# project_blame GET    /:project_id/blame/:id(.:format) blame#show {:id=>/.+/, :project_id=>/[^\/]+/}
+# project_blame GET    /:project_id/blame/:id(.:format) blame#show {id: /.+/, project_id: /[^\/]+/}
 describe BlameController, "routing" do
   it "to #show" do
     get("/gitlabhq/blame/master/app/models/project.rb").should route_to('blame#show', project_id: 'gitlabhq', id: 'master/app/models/project.rb')
@@ -383,7 +383,7 @@ describe BlameController, "routing" do
   end
 end
 
-# project_blob GET    /:project_id/blob/:id(.:format) blob#show {:id=>/.+/, :project_id=>/[^\/]+/}
+# project_blob GET    /:project_id/blob/:id(.:format) blob#show {id: /.+/, project_id: /[^\/]+/}
 describe BlobController, "routing" do
   it "to #show" do
     get("/gitlabhq/blob/master/app/models/project.rb").should route_to('blob#show', project_id: 'gitlabhq', id: 'master/app/models/project.rb')
@@ -392,7 +392,7 @@ describe BlobController, "routing" do
   end
 end
 
-# project_tree GET    /:project_id/tree/:id(.:format) tree#show {:id=>/.+/, :project_id=>/[^\/]+/}
+# project_tree GET    /:project_id/tree/:id(.:format) tree#show {id: /.+/, project_id: /[^\/]+/}
 describe TreeController, "routing" do
   it "to #show" do
     get("/gitlabhq/tree/master/app/models/project.rb").should route_to('tree#show', project_id: 'gitlabhq', id: 'master/app/models/project.rb')
@@ -400,9 +400,9 @@ describe TreeController, "routing" do
   end
 end
 
-# project_compare_index GET    /:project_id/compare(.:format)             compare#index {:id=>/[^\/]+/, :project_id=>/[^\/]+/}
-#                       POST   /:project_id/compare(.:format)             compare#create {:id=>/[^\/]+/, :project_id=>/[^\/]+/}
-#       project_compare        /:project_id/compare/:from...:to(.:format) compare#show {:from=>/.+/, :to=>/.+/, :id=>/[^\/]+/, :project_id=>/[^\/]+/}
+# project_compare_index GET    /:project_id/compare(.:format)             compare#index {id: /[^\/]+/, project_id: /[^\/]+/}
+#                       POST   /:project_id/compare(.:format)             compare#create {id: /[^\/]+/, project_id: /[^\/]+/}
+#       project_compare        /:project_id/compare/:from...:to(.:format) compare#show {from: /.+/, to: /.+/, id: /[^\/]+/, project_id: /[^\/]+/}
 describe CompareController, "routing" do
   it "to #index" do
     get("/gitlabhq/compare").should route_to('compare#index', project_id: 'gitlabhq')
diff --git a/spec/tasks/gitlab/backup_rake_spec.rb b/spec/tasks/gitlab/backup_rake_spec.rb
index babbf2916f8e2cc9e3d02fa7649daf4794edec86..4ad63114cb4eddf4a1bdbde50a67df03ee469b12 100644
--- a/spec/tasks/gitlab/backup_rake_spec.rb
+++ b/spec/tasks/gitlab/backup_rake_spec.rb
@@ -22,21 +22,21 @@ describe 'gitlab:app namespace rake task' do
 
     context 'gitlab version' do
       before do
-        Dir.stub :glob => []
+        Dir.stub glob: []
         Dir.stub :chdir
-        File.stub :exists? => true
-        Kernel.stub :system => true
+        File.stub exists?: true
+        Kernel.stub system: true
       end
 
       let(:gitlab_version) { %x{git rev-parse HEAD}.gsub(/\n/,"") }
 
       it 'should fail on mismach' do
-        YAML.stub :load_file => {:gitlab_version => gitlab_version.reverse}
+        YAML.stub load_file: {gitlab_version: gitlab_version.reverse}
         expect { run_rake_task }.to raise_error SystemExit
       end
 
       it 'should invoke restoration on mach' do
-        YAML.stub :load_file => {:gitlab_version => gitlab_version}
+        YAML.stub load_file: {gitlab_version: gitlab_version}
         Rake::Task["gitlab:backup:db:restore"].should_receive :invoke
         Rake::Task["gitlab:backup:repo:restore"].should_receive :invoke
         expect { run_rake_task }.to_not raise_error SystemExit