class Greenhouse

Constants

DEPARTMENT_ID
TITLES

Public Class Methods

careers() click to toggle source
# File lib/nexmo_developer/app/services/greenhouse.rb, line 9
def self.careers
  new.jobs
end
devrel_careers() click to toggle source
# File lib/nexmo_developer/app/services/greenhouse.rb, line 5
def self.devrel_careers
  new.devrel_positions
end
expire_cache() click to toggle source
# File lib/nexmo_developer/app/services/greenhouse.rb, line 17
def self.expire_cache
  Rails.cache.delete('careers')
  Rails.cache.delete('offices')
end
new() click to toggle source
# File lib/nexmo_developer/app/services/greenhouse.rb, line 22
def initialize
  @client = GreenhouseIo::JobBoard.new
end
offices() click to toggle source
# File lib/nexmo_developer/app/services/greenhouse.rb, line 13
def self.offices
  new.offices
end

Public Instance Methods

devrel_positions() click to toggle source
# File lib/nexmo_developer/app/services/greenhouse.rb, line 26
def devrel_positions
  @devrel_positions ||= jobs.select(&:devrel?)
end
fetch_jobs() click to toggle source
# File lib/nexmo_developer/app/services/greenhouse.rb, line 42
def fetch_jobs
  @client.jobs(content: 'true')[:jobs]
end
jobs() click to toggle source
# File lib/nexmo_developer/app/services/greenhouse.rb, line 30
def jobs
  @jobs ||= Rails.cache.fetch('careers', expires_in: 1.hour) do
    fetch_jobs.map { |j| Career.new(j) }
  end
end
offices() click to toggle source
# File lib/nexmo_developer/app/services/greenhouse.rb, line 36
def offices
  @offices ||= Rails.cache.fetch('offices', expires_in: 5.hours) do
    @client.offices[:offices]
  end
end