Module: FizzyApiClient::Resources::Columns

Included in:
Client
Defined in:
lib/fizzy_api_client/resources/columns.rb

Instance Method Summary collapse

Instance Method Details

#column(board_id, column_id, account_slug: nil) ⇒ Object



12
13
14
15
16
# File 'lib/fizzy_api_client/resources/columns.rb', line 12

def column(board_id, column_id, account_slug: nil)
  slug = ()
  response = connection.get("/#{slug}/boards/#{board_id}/columns/#{column_id}")
  response.body
end

#columns(board_id, account_slug: nil) ⇒ Object



6
7
8
9
10
# File 'lib/fizzy_api_client/resources/columns.rb', line 6

def columns(board_id, account_slug: nil)
  slug = ()
  response = connection.get("/#{slug}/boards/#{board_id}/columns")
  response.body
end

#create_column(board_id:, name:, color: nil, account_slug: nil) ⇒ Hash

Creates a column on a board.

Examples:

Create with named color

client.create_column(board_id: 'board_1', name: 'Review', color: :lime)

Create with CSS variable (still supported)

client.create_column(board_id: 'board_1', name: 'Review', color: 'var(--color-card-4)')

Parameters:

  • the board ID

  • the column name

  • (defaults to: nil)

    the column color - accepts named colors (:blue, :gray, :tan, :yellow, :lime, :aqua, :violet, :purple, :pink) or CSS variable strings

  • (defaults to: nil)

    optional account slug override

Returns:

  • the created column



34
35
36
37
38
39
40
41
42
43
# File 'lib/fizzy_api_client/resources/columns.rb', line 34

def create_column(board_id:, name:, color: nil, account_slug: nil)
  slug = ()

  payload = { name: name }
  payload[:color] = Colors.resolve(color) unless color.nil?

  response = connection.post("/#{slug}/boards/#{board_id}/columns", body: { column: payload })
  response = connection.follow_location(response)
  response.body
end

#delete_column(board_id, column_id, account_slug: nil) ⇒ Object



71
72
73
74
75
# File 'lib/fizzy_api_client/resources/columns.rb', line 71

def delete_column(board_id, column_id, account_slug: nil)
  slug = ()
  response = connection.delete("/#{slug}/boards/#{board_id}/columns/#{column_id}")
  response.no_content? ? nil : response.body
end

#update_column(board_id, column_id, name: nil, color: nil, account_slug: nil) ⇒ Hash?

Updates a column.

Examples:

Update with named color

client.update_column('board_id', 'col_id', color: :purple)

Parameters:

  • the board ID

  • the column ID

  • (defaults to: nil)

    the new column name

  • (defaults to: nil)

    the new column color - accepts named colors (:blue, :gray, :tan, :yellow, :lime, :aqua, :violet, :purple, :pink) or CSS variable strings

  • (defaults to: nil)

    optional account slug override

Returns:

  • the updated column or nil if 204 response



59
60
61
62
63
64
65
66
67
68
69
# File 'lib/fizzy_api_client/resources/columns.rb', line 59

def update_column(board_id, column_id, name: nil, color: nil, account_slug: nil)
  slug = ()

  payload = {}
  payload[:name] = name unless name.nil?
  payload[:color] = Colors.resolve(color) unless color.nil?

  response = connection.put("/#{slug}/boards/#{board_id}/columns/#{column_id}",
                            body: { column: payload })
  response.no_content? ? nil : response.body
end