Class: Repository

Inherits:
Object
  • Object
show all
Defined in:
lib/codespicuous/repositories.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, url) ⇒ Repository

Returns a new instance of Repository.



12
13
14
15
16
# File 'lib/codespicuous/repositories.rb', line 12

def initialize(name, url)
  @name = name
  @url = url
  @commits = Commits.new
end

Instance Attribute Details

#commitsObject (readonly)

Returns the value of attribute commits.



9
10
11
# File 'lib/codespicuous/repositories.rb', line 9

def commits
  @commits
end

#nameObject

Returns the value of attribute name.



10
11
12
# File 'lib/codespicuous/repositories.rb', line 10

def name
  @name
end

#urlObject

Returns the value of attribute url.



10
11
12
# File 'lib/codespicuous/repositories.rb', line 10

def url
  @url
end

Instance Method Details

#==(repository) ⇒ Object



26
27
28
29
30
31
# File 'lib/codespicuous/repositories.rb', line 26

def ==(repository)
  is_equal = @name == repository.name && @url == repository.url

  raise SameRepositoriesWithDifferentCommitsError.new if is_equal && @commits != repository.commits
  is_equal
end

#add_commit(commit) ⇒ Object



18
19
20
# File 'lib/codespicuous/repositories.rb', line 18

def add_commit commit
  @commits.add(commit)
end

#amount_of_commits_in_week(week_start) ⇒ Object



22
23
24
# File 'lib/codespicuous/repositories.rb', line 22

def amount_of_commits_in_week(week_start)
  @commits.amount_of_commits_to_repository_in_week(name, week_start)
end