Class: Gonebusy::CreateScheduleTimeWindowBody

Inherits:
BaseModel
  • Object
show all
Defined in:
lib/gonebusy/models/create_schedule_time_window_body.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from BaseModel

#to_hash, #to_json

Constructor Details

#initialize(days = nil, end_time = nil, recurs_by = nil, start_date = nil, start_time = nil, date_recurs_by = nil, end_date = nil, frequency = nil, occurrence = nil, total_minutes = nil) ⇒ CreateScheduleTimeWindowBody

Returns a new instance of CreateScheduleTimeWindowBody.



64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
# File 'lib/gonebusy/models/create_schedule_time_window_body.rb', line 64

def initialize(days = nil,
               end_time = nil,
               recurs_by = nil,
               start_date = nil,
               start_time = nil,
               date_recurs_by = nil,
               end_date = nil,
               frequency = nil,
               occurrence = nil,
               total_minutes = nil)
  @days = days
  @end_time = end_time
  @recurs_by = recurs_by
  @start_date = start_date
  @start_time = start_time
  @date_recurs_by = date_recurs_by
  @end_date = end_date
  @frequency = frequency
  @occurrence = occurrence
  @total_minutes = total_minutes
end

Instance Attribute Details

#date_recurs_byDateRecursByEnum

Required only when :recurs_by is ‘monthly’ or ‘yearly’ to differentiate between exact date or ‘day in month/year’. See Schedule examples.

Returns:



28
29
30
# File 'lib/gonebusy/models/create_schedule_time_window_body.rb', line 28

def date_recurs_by
  @date_recurs_by
end

#daysString

List of comma-separated days of the week this window of time falls on. If provided, at least one must be specified.

Returns:



8
9
10
# File 'lib/gonebusy/models/create_schedule_time_window_body.rb', line 8

def days
  @days
end

#end_dateDateTime

Optional End Date of TimeWindow, leave blank for infinitely available. Several formats are supported: ‘2014-10-31’, ‘October 31, 2014’.

Returns:

  • (DateTime)


32
33
34
# File 'lib/gonebusy/models/create_schedule_time_window_body.rb', line 32

def end_date
  @end_date
end

#end_timeString

End Time of TimeWindow. Several formats are supported: ‘5pm’, ‘17:00’, ‘1700’

Returns:



12
13
14
# File 'lib/gonebusy/models/create_schedule_time_window_body.rb', line 12

def end_time
  @end_time
end

#frequencyFrequencyEnum

Optional frequency of recurrence as specified by :recurs_by. E.g, :single, :every, :every_other, etc. If not provided, assumed to be :every

Returns:



36
37
38
# File 'lib/gonebusy/models/create_schedule_time_window_body.rb', line 36

def frequency
  @frequency
end

#occurrenceOccurrenceEnum

Optional occurrence of frequency. E.g, :first, :2nd, :last, :2nd_to_last, etc. If not provided, assumed to be :every

Returns:



40
41
42
# File 'lib/gonebusy/models/create_schedule_time_window_body.rb', line 40

def occurrence
  @occurrence
end

#recurs_byRecursByEnum

One of the possible recurrence values

Returns:



16
17
18
# File 'lib/gonebusy/models/create_schedule_time_window_body.rb', line 16

def recurs_by
  @recurs_by
end

#start_dateDateTime

Start Date of TimeWindow. Several formats are supported: ‘2014-10-31’, ‘October 31, 2014’.

Returns:

  • (DateTime)


20
21
22
# File 'lib/gonebusy/models/create_schedule_time_window_body.rb', line 20

def start_date
  @start_date
end

#start_timeString

Start Time of TimeWindow. Several formats are supported: ‘9am’, ‘09:00’, ‘9:00’, ‘0900’

Returns:



24
25
26
# File 'lib/gonebusy/models/create_schedule_time_window_body.rb', line 24

def start_time
  @start_time
end

#total_minutesInteger

Optional total number of minutes in TimeWindow. Useful when duration of window is greater than 24 hours.

Returns:

  • (Integer)


44
45
46
# File 'lib/gonebusy/models/create_schedule_time_window_body.rb', line 44

def total_minutes
  @total_minutes
end

Class Method Details

.from_hash(hash) ⇒ Object

Creates an instance of the object from a hash



87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
# File 'lib/gonebusy/models/create_schedule_time_window_body.rb', line 87

def self.from_hash(hash)
  if hash == nil
    nil
  else
    # Extract variables from the hash

    days = hash["days"]
    end_time = hash["end_time"]
    recurs_by = hash["recurs_by"]
    start_date = DateTime.iso8601(hash["start_date"]) if hash["start_date"]
    start_time = hash["start_time"]
    date_recurs_by = hash["date_recurs_by"]
    end_date = DateTime.iso8601(hash["end_date"]) if hash["end_date"]
    frequency = hash["frequency"]
    occurrence = hash["occurrence"]
    total_minutes = hash["total_minutes"]

    # Create object from extracted values

    CreateScheduleTimeWindowBody.new(days,
                                     end_time,
                                     recurs_by,
                                     start_date,
                                     start_time,
                                     date_recurs_by,
                                     end_date,
                                     frequency,
                                     occurrence,
                                     total_minutes)
  end
end

.namesObject

A mapping from model property names to API property names



47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# File 'lib/gonebusy/models/create_schedule_time_window_body.rb', line 47

def self.names
  if @hash.nil?
    @hash = {}
    @hash["days"] = "days"
    @hash["end_time"] = "end_time"
    @hash["recurs_by"] = "recurs_by"
    @hash["start_date"] = "start_date"
    @hash["start_time"] = "start_time"
    @hash["date_recurs_by"] = "date_recurs_by"
    @hash["end_date"] = "end_date"
    @hash["frequency"] = "frequency"
    @hash["occurrence"] = "occurrence"
    @hash["total_minutes"] = "total_minutes"
  end
  @hash
end