Sha256: ec3732264b1d306e1859d01c11af2bd6a8412e314e8ef2615a521a5a1dc0b4fc

Contents?: true

Size: 1.11 KB

Versions: 1

Compression:

Stored size: 1.11 KB

Contents

require 'json'
require 'csv'

module ClubhouseRuby
  API_URL = "https://api.clubhouse.io/api/v1/".freeze

  # Response formats the clubhouse api knows about
  FORMATS = {
    json: {
      headers: { header: 'Content-Type', content: 'application/json' },
      parser: JSON
    },
    csv: {
      headers: { header: 'Accept', content: 'text/csv' },
      parser: CSV
    }
  }.freeze

  # Action words are nice for our internal api and match the api path too
  ACTIONS = {
    get: :Get,
    update: :Put,
    delete: :Delete,
    list: :Get,
    create: :Post
  }.freeze

  # These are the resource for the clubhouse api and can form part of the path
  RESOURCES = [
    :epics,
    :files,
    :labels,
    :linked_files,
    :projects,
    :story_links,
    :stories,
    :tasks,
    :comments,
    :users,
    :workflows
  ].freeze

  # These are the annoying edge cases in the clubhouse api that are don't fit
  EXCEPTIONS = {
    search: {
      path: :search,
      action: :Post
    },
    bulk_create: {
      path: :bulk,
      action: :Post
    },
    bulk_update: {
      path: :bulk,
      action: :Put
    }
  }.freeze
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
clubhouse_ruby-0.2.0 lib/clubhouse_ruby/constants.rb