class CS::Request
Attributes
arrival[RW]
arrival_flexible[RW]
departure[RW]
departure_flexible[RW]
from[RW]
is_open_couchrequest[RW]
message[RW]
number[RW]
subject[RW]
to[RW]
Public Class Methods
new(options={})
click to toggle source
# File lib/csapi/request.rb, line 24 def initialize options={} options = @defaults.merge(options) options.each do |k,v| self.send "@#{k}=", val end end
Public Instance Methods
arrival=(date)
click to toggle source
# File lib/csapi/request.rb, line 32 def arrival= date raise ArgumentError.new("This does not seem like a Time instance") unless date.is_a? Time @arrival = date end
departure=(date)
click to toggle source
# File lib/csapi/request.rb, line 38 def departure= date raise ArgumentError.new("This does not seem like a Time instance") unless date.is_a? Time @departure = date end
send!()
click to toggle source
# File lib/csapi/request.rb, line 51 def send! raise CS::APIError('You have not authenticated with the service or did not provide a :username and :password') unless CS.instance data = self.to_h data[:arrival] = data[:arrival].strftime("%FT%TZ") data[:departure] = data[:departure].strftime("%FT%TZ") me = CS.instance.userdata['uid'] data[:from] ||= me data[:to] ||= me CS::HTTP.post('/couchrequests', body: data) end
to_h()
click to toggle source
# File lib/csapi/request.rb, line 44 def to_h params = {} @options.each {|key| params[key.to_sym] = instance_variable_get("@#{key}") } params end