Module: ShortcutRuby

Defined in:
lib/shortcut_ruby.rb,
lib/shortcut_ruby/request.rb,
lib/shortcut_ruby/version.rb,
lib/shortcut_ruby/constants.rb,
lib/shortcut_ruby/path_builder.rb

Defined Under Namespace

Modules: PathBuilder Classes: Request, Shortcut

Constant Summary collapse

VERSION =
"0.11.0"
API_URL =
"https://api.app.shortcut.com/api/v3/".freeze
FORMATS =

Response formats the shortcut api knows about

{
  json: {
    headers: { header: 'Content-Type', content: 'application/json' },
    parser: JSON
  },
  csv: {
    headers: { header: 'Accept', content: 'text/csv' },
    parser: CSV
  }
}.freeze
ACTIONS =

Action words are nice for our internal api and match the api path too

{
  get: :Get,
  update: :Put,
  delete: :Delete,
  list: :Get,
  create: :Post
}.freeze
RESOURCES =

These are the resource for the shortcut api and can form part of the path

[
  :categories,
  :entity_templates,
  :epics,
  :files,
  :iterations,
  :labels,
  :linked_files,
  :member,
  :members,
  :milestones,
  :projects,
  :repositories,
  :stories,
  :story_links,
  :teams,
  :workflows,
  :tasks,
  :comments,
  :groups
].freeze
EXCEPTIONS =

These are the annoying edge cases in the shortcut api that are don’t fit

{
  bulk_create: {
    path: :bulk,
    action: :Post
  },
  bulk_update: {
    path: :bulk,
    action: :Put
  },
  search_stories: {
    path: 'search/stories',
    action: :Get
  }
}.freeze