class Troo::API::Endpoints

Attributes

endpoint[R]
value[R]

Public Class Methods

interpolate(endpoint, value = {}) click to toggle source

@param [Symbol] @param [Hash] @return [String, EndpointNotFound]

# File lib/troo/api/endpoints.rb, line 8
def interpolate(endpoint, value = {})
  new(endpoint, value).interpolate
end
new(endpoint, value = {}) click to toggle source

@param [Symbol] @param [Hash] @return [Troo::API::Endpoints]

# File lib/troo/api/endpoints.rb, line 16
def initialize(endpoint, value = {})
  @endpoint, @value = endpoint, value
end

Public Instance Methods

interpolate() click to toggle source

@param [Symbol] @param [Hash] @return [String, EndpointNotFound]

# File lib/troo/api/endpoints.rb, line 23
def interpolate
  endpoints.fetch(endpoint) % value
rescue KeyError
  fail EndpointNotFound
end

Private Instance Methods

endpoints() click to toggle source
# File lib/troo/api/endpoints.rb, line 33
def endpoints
  {
    boards_all:           '/members/me/boards',
    board_by_id:          '/boards/%{external_id}',
    card_by_id:           '/cards/%{external_id}',
    list_by_id:           '/lists/%{external_id}',
    member_by_id:         '/members/%{external_id}',
    cards_by_board_id:    '/boards/%{external_id}/cards',
    cards_by_list_id:     '/lists/%{external_id}/cards',
    comments_by_board_id: '/boards/%{external_id}/actions',
    comments_by_card_id:  '/cards/%{external_id}/actions',
    comments_by_list_id:  '/lists/%{external_id}/actions',
    lists_by_board_id:    '/boards/%{external_id}/lists',
    members_by_board_id:  '/boards/%{external_id}/members',
    create_board:         '/boards',
    create_card:          '/cards',
    create_comment:       '/cards/%{external_id}/actions/comments',
    create_list:          '/lists',
    move_card_list:       '/cards/%{external_id}/idList',
    move_card_board:      '/cards/%{external_id}/idBoard',
  }
end