# Class Note < ActiveRecord::Base

- app/models/note.rb

Methods

C
  - commit_author,
  - create_status_change_note
D
  - downvote?
F
  - for_commit?,
  - for_diff_line?
N
  - noteable,
  - noteable_type_name,
  - notify_only_author?
U
  - upvote?

Attributes

[RW] | notify |
[RW] | notify_author |

Class Public methods
create_status_change_note(noteable, author, status) Link

Source: show

    # File app/models/note.rb, line 53
    def self.create_status_change_note(noteable, author, status)
      create({
        noteable: noteable,
        project: noteable.project,
        author: author,
        note: "_Status changed to #{status}_"
      }, without_protection: true)
    end

Instance Public methods
commit_author() Link

Source: show

    # File app/models/note.rb, line 109
    def commit_author
      @commit_author ||=
        project.users.find_by_email(noteable.author_email) ||
        project.users.find_by_name(noteable.author_name)
    rescue
      nil
    end

downvote?() Link

Returns true if this is a downvote note, otherwise false is returned

Source: show

    # File app/models/note.rb, line 125
    def downvote?
      note.start_with?('-1') || note.start_with?(':-1:')
    end

for_commit?() Link

Source: show

    # File app/models/note.rb, line 101
    def for_commit?
      noteable_type == "Commit"
    end

for_diff_line?() Link

Source: show

    # File app/models/note.rb, line 105
    def for_diff_line?
      line_code.present?
    end

noteable() Link

override to return commits, which are not active record

Source: show

    # File app/models/note.rb, line 71
    def noteable
      if for_commit?
        project.commit(commit_id)
      else
        super
      end
    # Temp fix to prevent app crash
    # if note commit id doesnt exist
    rescue
      nil
    end

noteable_type_name() Link

Source: show

    # File app/models/note.rb, line 129
    def noteable_type_name
      if noteable_type.present?
        noteable_type.downcase
      else
        "wall"
      end
    end

notify_only_author?(user) Link

Check if we can notify commit author with email about our comment

If commit author email exist in project and commit author is not passed user we can send email to him

params:

    user - current user

return:

    Boolean

Source: show

    # File app/models/note.rb, line 96
    def notify_only_author?(user)
      for_commit? && commit_author &&
        commit_author.email != user.email
    end

upvote?() Link

Returns true if this is an upvote note, otherwise false is returned

Source: show

    # File app/models/note.rb, line 119
    def upvote?
      note.start_with?('+1') || note.start_with?(':+1:')
    end