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, date_recurs_by = nil, days = nil, end_date = nil, end_time = nil, frequency = nil, occurrence = nil, recurs_by = nil, resource_id = nil, start_date = nil, start_time = nil, total_minutes = nil, user_id = nil) ⇒ CreateScheduleBody

Returns a new instance of CreateScheduleBody.



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
105
# File 'lib/gonebusy/models/create_schedule_body.rb', line 79

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



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

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:



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

def days
  @days
end

#end_dateDateTime

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

Returns:

  • (DateTime)


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

def end_date
  @end_date
end

#end_timeString

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

Returns:



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

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:



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

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:



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

def occurrence
  @occurrence
end

#recurs_byRecursByEnum

One of the possible recurrence values

Returns:



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

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)


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

def resource_id
  @resource_id
end

#service_idInteger

ID of Service being scheduled.

Returns:

  • (Integer)


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

def service_id
  @service_id
end

#start_dateDateTime

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

Returns:

  • (DateTime)


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

def start_date
  @start_date
end

#start_timeString

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

Returns:



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

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)


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

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)


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

def user_id
  @user_id
end

Class Method Details

.from_hash(hash) ⇒ Object

Creates an instance of the object from a hash



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
140
141
142
# File 'lib/gonebusy/models/create_schedule_body.rb', line 108

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

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

    # Create object from extracted values

    CreateScheduleBody.new(service_id,
                           date_recurs_by,
                           days,
                           end_date,
                           end_time,
                           frequency,
                           occurrence,
                           recurs_by,
                           resource_id,
                           start_date,
                           start_time,
                           total_minutes,
                           user_id)
  end
end

.namesObject

A mapping from model property names to API property names



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

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