Class: Gonebusy::CreateScheduleBody

Inherits:
BaseModel
  • Object
show all
Defined in:
lib/gonebusy/models/create_schedule_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(service_id = nil, user_id = nil, resource_id = nil, start_date = nil, end_date = nil, start_time = nil, end_time = nil, total_minutes = nil, days = nil, recurs_by = nil, frequency = nil, occurrence = nil, date_recurs_by = nil) ⇒ CreateScheduleBody

Returns a new instance of CreateScheduleBody.



78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
# File 'lib/gonebusy/models/create_schedule_body.rb', line 78

def initialize(service_id = nil,
               user_id = nil,
               resource_id = nil,
               start_date = nil,
               end_date = nil,
               start_time = nil,
               end_time = nil,
               total_minutes = nil,
               days = nil,
               recurs_by = nil,
               frequency = nil,
               occurrence = nil,
               date_recurs_by = nil)
  @service_id = service_id
  @user_id = user_id
  @resource_id = resource_id
  @start_date = start_date
  @end_date = end_date
  @start_time = start_time
  @end_time = end_time
  @total_minutes = total_minutes
  @days = days
  @recurs_by = recurs_by
  @frequency = frequency
  @occurrence = occurrence
  @date_recurs_by = date_recurs_by
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:



55
56
57
# File 'lib/gonebusy/models/create_schedule_body.rb', line 55

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:



39
40
41
# File 'lib/gonebusy/models/create_schedule_body.rb', line 39

def days
  @days
end

#end_dateDate

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

Returns:

  • (Date)


23
24
25
# File 'lib/gonebusy/models/create_schedule_body.rb', line 23

def end_date
  @end_date
end

#end_timeString

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

Returns:



31
32
33
# File 'lib/gonebusy/models/create_schedule_body.rb', line 31

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:



47
48
49
# File 'lib/gonebusy/models/create_schedule_body.rb', line 47

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:



51
52
53
# File 'lib/gonebusy/models/create_schedule_body.rb', line 51

def occurrence
  @occurrence
end

#recurs_byRecursByEnum

One of the possible recurrence values

Returns:



43
44
45
# File 'lib/gonebusy/models/create_schedule_body.rb', line 43

def recurs_by
  @recurs_by
end

#resource_idInteger

ID of Resource being scheduled. If not provided and :user_id is not present, the default Resource of the API user is assumed to be the Resource being scheduled. If not provided and :user_id is present, the default Resource of the User is assumed to be the Resource being Scheduled.

Returns:

  • (Integer)


15
16
17
# File 'lib/gonebusy/models/create_schedule_body.rb', line 15

def resource_id
  @resource_id
end

#service_idInteger

ID of Service being scheduled.

Returns:

  • (Integer)


7
8
9
# File 'lib/gonebusy/models/create_schedule_body.rb', line 7

def service_id
  @service_id
end

#start_dateDate

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

Returns:

  • (Date)


19
20
21
# File 'lib/gonebusy/models/create_schedule_body.rb', line 19

def start_date
  @start_date
end

#start_timeString

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

Returns:



27
28
29
# File 'lib/gonebusy/models/create_schedule_body.rb', line 27

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)


35
36
37
# File 'lib/gonebusy/models/create_schedule_body.rb', line 35

def total_minutes
  @total_minutes
end

#user_idInteger

ID of User to create Schedule for. You must be authorized to manage this User Id and User must own desired Service and Resource.

Returns:

  • (Integer)


11
12
13
# File 'lib/gonebusy/models/create_schedule_body.rb', line 11

def user_id
  @user_id
end

Class Method Details

.from_hash(hash) ⇒ Object

Creates an instance of the object from a hash



107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
# File 'lib/gonebusy/models/create_schedule_body.rb', line 107

def self.from_hash(hash)
  return nil unless hash

  # Extract variables from the hash
  service_id = hash['service_id']
  user_id = hash['user_id']
  resource_id = hash['resource_id']
  start_date = hash['start_date']
  end_date = hash['end_date']
  start_time = hash['start_time']
  end_time = hash['end_time']
  total_minutes = hash['total_minutes']
  days = hash['days']
  recurs_by = hash['recurs_by']
  frequency = hash['frequency']
  occurrence = hash['occurrence']
  date_recurs_by = hash['date_recurs_by']

  # Create object from extracted values
  CreateScheduleBody.new(service_id,
                         user_id,
                         resource_id,
                         start_date,
                         end_date,
                         start_time,
                         end_time,
                         total_minutes,
                         days,
                         recurs_by,
                         frequency,
                         occurrence,
                         date_recurs_by)
end

.namesObject

A mapping from model property names to API property names



58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# File 'lib/gonebusy/models/create_schedule_body.rb', line 58

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