diff options
-rw-r--r-- | app/controllers/committers_controller.rb | 4 | ||||
-rw-r--r-- | app/models/committership.rb (renamed from app/models/permission.rb) | 2 | ||||
-rw-r--r-- | app/models/repository.rb | 4 | ||||
-rw-r--r-- | app/models/user.rb | 6 | ||||
-rw-r--r-- | db/migrate/014_rename_permissions_to_committerships.rb | 9 | ||||
-rw-r--r-- | db/schema.rb | 8 | ||||
-rw-r--r-- | spec/controllers/committers_controller_spec.rb | 8 | ||||
-rw-r--r-- | spec/fixtures/committerships.yml (renamed from spec/fixtures/permissions.yml) | 0 | ||||
-rw-r--r-- | spec/models/committership_spec.rb (renamed from spec/models/permission_spec.rb) | 6 | ||||
-rw-r--r-- | spec/models/user_spec.rb | 2 | ||||
-rw-r--r-- | spec/spec_helper.rb | 2 |
11 files changed, 30 insertions, 21 deletions
diff --git a/app/controllers/committers_controller.rb b/app/controllers/committers_controller.rb index 2d2a007..e76c543 100644 --- a/app/controllers/committers_controller.rb +++ b/app/controllers/committers_controller.rb @@ -30,10 +30,10 @@ class CommittersController < ApplicationController end def destroy - @permission = @repository.permissions.find_by_user_id(params[:id]) + @committership = @repository.committerships.find_by_user_id(params[:id]) respond_to do |format| - if @permission.destroy + if @committership.destroy flash[:success] = "User removed from repository" format.html { redirect_to [@repository.project, @repository] } format.xml { render :nothing, :status => :ok } diff --git a/app/models/permission.rb b/app/models/committership.rb index 62a183b..5b1e01f 100644 --- a/app/models/permission.rb +++ b/app/models/committership.rb @@ -1,4 +1,4 @@ -class Permission < ActiveRecord::Base +class Committership < ActiveRecord::Base belongs_to :user belongs_to :repository diff --git a/app/models/repository.rb b/app/models/repository.rb index d1f6619..f5424b6 100644 --- a/app/models/repository.rb +++ b/app/models/repository.rb @@ -2,8 +2,8 @@ class Repository < ActiveRecord::Base belongs_to :user belongs_to :project belongs_to :parent, :class_name => "Repository" - has_many :permissions, :dependent => :destroy - has_many :committers, :through => :permissions, :source => :user + has_many :committerships, :dependent => :destroy + has_many :committers, :through => :committerships, :source => :user validates_presence_of :user_id, :project_id, :name validates_format_of :name, :with => /^[a-z0-9_\-]+$/i diff --git a/app/models/user.rb b/app/models/user.rb index 537b466..09bec3c 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -2,8 +2,8 @@ require 'digest/sha1' class User < ActiveRecord::Base has_many :projects - has_many :permissions - has_many :repositories, :through => :permissions + has_many :committerships + has_many :repositories, :through => :committerships has_many :ssh_keys # Virtual attribute for the unencrypted password @@ -88,7 +88,7 @@ class User < ActiveRecord::Base end def can_write_to?(repository) - !!permissions.find_by_repository_id(repository.id) + !!committerships.find_by_repository_id(repository.id) end def to_param diff --git a/db/migrate/014_rename_permissions_to_committerships.rb b/db/migrate/014_rename_permissions_to_committerships.rb new file mode 100644 index 0000000..476496d --- /dev/null +++ b/db/migrate/014_rename_permissions_to_committerships.rb @@ -0,0 +1,9 @@ +class RenamePermissionsToCommitterships < ActiveRecord::Migration + def self.up + rename_table :permissions, :committerships + end + + def self.down + rename_table :committerships, :permissions + end +end diff --git a/db/schema.rb b/db/schema.rb index a0e9891..d5ae0d2 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -9,9 +9,9 @@ # # It's strongly recommended to check this file into your version control system. -ActiveRecord::Schema.define(:version => 13) do +ActiveRecord::Schema.define(:version => 14) do - create_table "permissions", :force => true do |t| + create_table "committerships", :force => true do |t| t.integer "user_id" t.integer "repository_id" t.integer "kind", :default => 2 @@ -19,8 +19,8 @@ ActiveRecord::Schema.define(:version => 13) do t.datetime "updated_at" end - add_index "permissions", ["user_id"], :name => "index_permissions_on_user_id" - add_index "permissions", ["repository_id"], :name => "index_permissions_on_repository_id" + add_index "committerships", ["user_id"], :name => "index_permissions_on_user_id" + add_index "committerships", ["repository_id"], :name => "index_permissions_on_repository_id" create_table "projects", :force => true do |t| t.string "title" diff --git a/spec/controllers/committers_controller_spec.rb b/spec/controllers/committers_controller_spec.rb index b5054e8..c8d24a9 100644 --- a/spec/controllers/committers_controller_spec.rb +++ b/spec/controllers/committers_controller_spec.rb @@ -40,7 +40,7 @@ describe CommittersController, "create" do login_as :johan @project = projects(:johans) @repository = repositories(:johans) - Permission.destroy_all + Committership.destroy_all end def do_post(data) @@ -64,9 +64,9 @@ describe CommittersController, "create" do it "only creates the committership if user isn't already a committer" do @repository.committers << users(:johan) @repository.save! - perm_count = @repository.permissions.count + perm_count = @repository.committerships.count do_post(:login => "johan") - @repository.permissions.count.should == perm_count + @repository.committerships.count.should == perm_count end it "redirects when theres no user found" do @@ -84,7 +84,7 @@ describe CommittersController, "destroy" do login_as :johan @project = projects(:johans) @repository = repositories(:johans) - Permission.destroy_all + Committership.destroy_all end def do_delete(user_id) diff --git a/spec/fixtures/permissions.yml b/spec/fixtures/committerships.yml index 12b13a5..12b13a5 100644 --- a/spec/fixtures/permissions.yml +++ b/spec/fixtures/committerships.yml diff --git a/spec/models/permission_spec.rb b/spec/models/committership_spec.rb index fc255f1..c242d19 100644 --- a/spec/models/permission_spec.rb +++ b/spec/models/committership_spec.rb @@ -1,11 +1,11 @@ require File.dirname(__FILE__) + '/../spec_helper' -describe Permission do +describe Committership do before(:each) do - @permission = Permission.new + @committership = Committership.new end it "should be valid" do - @permission.should be_valid + @committership.should be_valid end end diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index e5111a1..8ee8eb9 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -103,7 +103,7 @@ describe User do u.can_write_to?(repo).should == true u.can_write_to?(repositories(:moes)).should == false - u.permissions.destroy_all + u.committerships.destroy_all u.reload u.can_write_to?(repo).should == false u.can_write_to?(repositories(:moes)).should == false diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 0617933..b8be9d3 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -26,7 +26,7 @@ Spec::Runner.configure do |config| # Alternatively, if you prefer to declare them only once, you can # do so here, like so ... # - config.global_fixtures = :users, :ssh_keys, :projects, :repositories, :permissions + config.global_fixtures = :all # # If you declare global fixtures, be aware that they will be declared # for all of your examples, even those that don't use them. |