Class: Basecamp3::Comment

Inherits:
Model
  • Object
show all
Includes:
Basecamp3::Concerns::Bucketable, Basecamp3::Concerns::Creatorable, Basecamp3::Concerns::Parentable, Basecamp3::Concerns::Recordingable
Defined in:
lib/basecamp3/models/comment.rb

Overview

Constant Summary

REQUIRED_FIELDS =
%w(content)

Instance Attribute Summary collapse

Class Method Summary collapse

Methods included from Basecamp3::Concerns::Recordingable

included

Methods included from Basecamp3::Concerns::Parentable

#parent

Methods included from Basecamp3::Concerns::Bucketable

#bucket

Methods included from Basecamp3::Concerns::Creatorable

#creator

Methods inherited from Model

#initialize

Constructor Details

This class inherits a constructor from Basecamp3::Model

Instance Attribute Details

#bucket_idObject

Returns the value of attribute bucket_id



10
11
12
# File 'lib/basecamp3/models/comment.rb', line 10

def bucket_id
  @bucket_id
end

#contentObject

Returns the value of attribute content



10
11
12
# File 'lib/basecamp3/models/comment.rb', line 10

def content
  @content
end

#created_atObject

Returns the value of attribute created_at



10
11
12
# File 'lib/basecamp3/models/comment.rb', line 10

def created_at
  @created_at
end

#idObject

Returns the value of attribute id



10
11
12
# File 'lib/basecamp3/models/comment.rb', line 10

def id
  @id
end

#parent_idObject

Returns the value of attribute parent_id



10
11
12
# File 'lib/basecamp3/models/comment.rb', line 10

def parent_id
  @parent_id
end

#statusObject

Returns the value of attribute status



10
11
12
# File 'lib/basecamp3/models/comment.rb', line 10

def status
  @status
end

#updated_atObject

Returns the value of attribute updated_at



10
11
12
# File 'lib/basecamp3/models/comment.rb', line 10

def updated_at
  @updated_at
end

Class Method Details

.all(bucket_id, parent_id, params = {}) ⇒ Array<Basecamp3::Comment>

Returns a paginated list of active comments.

Parameters:

  • params (Hash) (defaults to: {})

    additional parameters

Options Hash (params):

  • :page (Integer) — default: optional

    to paginate results

Returns:



26
27
28
# File 'lib/basecamp3/models/comment.rb', line 26

def self.all(bucket_id, parent_id, params = {})
  Basecamp3.request.get("/buckets/#{bucket_id}/recordings/#{parent_id}/comments", params, Basecamp3::Comment)
end

.create(bucket_id, parent_id, data) ⇒ Basecamp3::Comment

Creates a comment.

Parameters:

  • bucket_id (Integer)

    the id of the bucket

  • parent_id (Integer)

    the id of the parent

  • data (Hash)

    the data to create a comment with

  • params (Hash)

    a customizable set of options

Returns:



48
49
50
51
# File 'lib/basecamp3/models/comment.rb', line 48

def self.create(bucket_id, parent_id, data)
  self.validate_required(data)
  Basecamp3.request.post("/buckets/#{bucket_id}/recordings/#{parent_id}/comments", data, Basecamp3::Comment)
end

.find(bucket_id, id) ⇒ Basecamp3::Comment

Returns the comment.

Parameters:

  • bucket_id (Integer)

    the id of the bucket

  • id (Integer)

    the id of the comment

Returns:



36
37
38
# File 'lib/basecamp3/models/comment.rb', line 36

def self.find(bucket_id, id)
  Basecamp3.request.get("/buckets/#{bucket_id}/comments/#{id}", {}, Basecamp3::Comment)
end

.update(bucket_id, id, data) ⇒ Basecamp3::Comment

Updates the comment.

Parameters:

  • bucket_id (Integer)

    the id of the bucket

  • id (Integer)

    the id of the comment

  • data (Hash)

    the data to update the comment with

  • params (Hash)

    a customizable set of options

Returns:



61
62
63
64
# File 'lib/basecamp3/models/comment.rb', line 61

def self.update(bucket_id, id, data)
  self.validate_required(data)
  Basecamp3.request.put("/buckets/#{bucket_id}/comments/#{id}", data, Basecamp3::Comment)
end