class Fancyhands::V1::Request::Custom

Attributes

bid[RW]
custom_fields[RW]
description[RW]
expiration_date[RW]
title[RW]

Public Class Methods

new(title, desc, bid, expiration_date, custom_fields = {}) click to toggle source
# File lib/fancyhands/v1/request/custom.rb, line 7
def initialize(title, desc, bid, expiration_date, custom_fields = {})
  @title           = title
  @description     = desc
  @bid             = bid
  @expiration_date = expiration_date
  @custom_fields   = custom_fields

  validate_required_fields
end

Public Instance Methods

create() click to toggle source
# File lib/fancyhands/v1/request/custom.rb, line 17
def create
  requester.post('/request/custom',
                 { title: title,
                   description: description,
                   bid: bid,
                   expiration_date: expiration_date,
                   custom_fields: custom_fields })
end

Private Instance Methods

requester() click to toggle source
# File lib/fancyhands/v1/request/custom.rb, line 27
def requester
  Requester
end
validate_required_fields() click to toggle source
# File lib/fancyhands/v1/request/custom.rb, line 31
def validate_required_fields
  raise TitleRequiredError          if title.strip.empty?
  raise DescriptionRequiredError    if description.strip.empty?
  raise BidRequiredError            if bid.nil?
  raise ExpirationDateRequiredError if expiration_date.strip.empty?
end