Class: Milestoner::Views::Parts::Tag

Inherits:
Hanami::View::Part
  • Object
show all
Defined in:
lib/milestoner/views/parts/tag.rb

Overview

The tag presentation logic.

Instance Method Summary collapse

Instance Method Details

#avatar_url(user) ⇒ Object



18
19
20
21
22
23
# File 'lib/milestoner/views/parts/tag.rb', line 18

def avatar_url user
  warn "`#{self.class}##{__method__}` is deprecated, use user scope instead.",
       category: :deprecated

  format settings.avatar_uri, id: user.external_id
end

#committed_at(fallback: Time.now.utc) ⇒ Object



25
26
27
# File 'lib/milestoner/views/parts/tag.rb', line 25

def committed_at fallback: Time.now.utc
  value.committed_at.then { |at| at ? Time.at(at) : fallback }
end

#committed_dateObject



29
# File 'lib/milestoner/views/parts/tag.rb', line 29

def committed_date = committed_at.strftime "%Y-%m-%d"

#committed_datetimeObject



31
# File 'lib/milestoner/views/parts/tag.rb', line 31

def committed_datetime = committed_at.strftime "%Y-%m-%dT%H:%M:%S%z"

#empty?Boolean

Returns:

  • (Boolean)


33
# File 'lib/milestoner/views/parts/tag.rb', line 33

def empty? = value.commits.empty?

#profile_url(user) ⇒ Object



35
36
37
38
39
40
# File 'lib/milestoner/views/parts/tag.rb', line 35

def profile_url user
  warn "`#{self.class}##{__method__}` is deprecated, use user scope instead.",
       category: :deprecated

  format settings.profile_uri, id: user.handle
end

#securityObject



42
# File 'lib/milestoner/views/parts/tag.rb', line 42

def security = value.signature ? "🔒 Tag (secure)" : "🔓 Tag (insecure)"

#total_commitsObject



44
45
46
# File 'lib/milestoner/views/parts/tag.rb', line 44

def total_commits
  value.commits.size.then { |total| "#{total} commit".pluralize "s", total }
end

#total_deletionsObject



52
53
54
# File 'lib/milestoner/views/parts/tag.rb', line 52

def total_deletions
  value.commits.sum(&:deletions).then { |total| "#{total} deletion".pluralize "s", total }
end

#total_filesObject



48
49
50
# File 'lib/milestoner/views/parts/tag.rb', line 48

def total_files
  value.commits.sum(&:files_changed).then { |total| "#{total} file".pluralize "s", total }
end

#total_insertionsObject



56
57
58
# File 'lib/milestoner/views/parts/tag.rb', line 56

def total_insertions
  value.commits.sum(&:insertions).then { |total| "#{total} insertion".pluralize "s", total }
end