Class: Integrity::Project

Inherits:
Object show all
Includes:
DataMapper::Resource, Helpers::Notifiers, Helpers::Push
Defined in:
lib/integrity/project.rb,
lib/integrity/project/push.rb,
lib/integrity/project/notifiers.rb

Defined Under Namespace

Modules: Helpers

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.only_public_unless(condition) ⇒ Object



30
31
32
33
34
35
36
# File 'lib/integrity/project.rb', line 30

def self.only_public_unless(condition)
  if condition
    all
  else
    all(:public => true)
  end
end

Instance Method Details

#build(commit_identifier = "HEAD") ⇒ Object



38
39
40
41
42
# File 'lib/integrity/project.rb', line 38

def build(commit_identifier="HEAD")
  commit_identifier = head_of_remote_repo if commit_identifier == "HEAD"
  commit = find_or_create_commit_with_identifier(commit_identifier)
  Build.queue(commit)
end

#human_readable_statusObject



56
57
58
# File 'lib/integrity/project.rb', line 56

def human_readable_status
  last_commit && last_commit.human_readable_status
end

#last_commitObject



44
45
46
# File 'lib/integrity/project.rb', line 44

def last_commit
  commits.first(:project_id => id, :order => [:committed_at.desc])
end

#previous_commitsObject



48
49
50
# File 'lib/integrity/project.rb', line 48

def previous_commits
  commits.all(:project_id => id, :order => [:committed_at.desc]).tap {|commits| commits.shift }
end

#public=(flag) ⇒ Object



60
61
62
63
64
65
# File 'lib/integrity/project.rb', line 60

def public=(flag)
  attribute_set(:public, case flag
    when "1", "0" then flag == "1"
    else !!flag
  end)
end

#statusObject



52
53
54
# File 'lib/integrity/project.rb', line 52

def status
  last_commit && last_commit.status
end