gonebusy-ruby-client 0.0.9 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +29 -68
  3. data/lib/gonebusy/api_helper.rb +181 -149
  4. data/lib/gonebusy/configuration.rb +51 -16
  5. data/lib/gonebusy/controllers/base_controller.rb +46 -45
  6. data/lib/gonebusy/controllers/bookings_controller.rb +257 -293
  7. data/lib/gonebusy/controllers/categories_controller.rb +151 -180
  8. data/lib/gonebusy/controllers/pricing_models_controller.rb +202 -241
  9. data/lib/gonebusy/controllers/resources_controller.rb +295 -355
  10. data/lib/gonebusy/controllers/schedules_controller.rb +361 -428
  11. data/lib/gonebusy/controllers/search_controller.rb +52 -63
  12. data/lib/gonebusy/controllers/services_controller.rb +310 -367
  13. data/lib/gonebusy/controllers/users_controller.rb +199 -239
  14. data/lib/gonebusy/exceptions/api_exception.rb +16 -16
  15. data/lib/gonebusy/exceptions/entities_error_error_exception.rb +27 -0
  16. data/lib/gonebusy/exceptions/entities_error_exception.rb +26 -26
  17. data/lib/gonebusy/gonebusy_client.rb +58 -58
  18. data/lib/gonebusy/http/auth/custom_auth.rb +15 -15
  19. data/lib/gonebusy/http/faraday_client.rb +43 -41
  20. data/lib/gonebusy/http/http_call_back.rb +17 -17
  21. data/lib/gonebusy/http/http_client.rb +84 -82
  22. data/lib/gonebusy/http/http_context.rb +15 -15
  23. data/lib/gonebusy/http/http_method_enum.rb +7 -7
  24. data/lib/gonebusy/http/http_request.rb +44 -44
  25. data/lib/gonebusy/http/http_response.rb +19 -19
  26. data/lib/gonebusy/models/base_model.rb +31 -31
  27. data/lib/gonebusy/models/cancel_booking_by_id_response.rb +35 -35
  28. data/lib/gonebusy/models/create_booking_body.rb +134 -80
  29. data/lib/gonebusy/models/create_booking_response.rb +35 -35
  30. data/lib/gonebusy/models/create_category_body.rb +71 -71
  31. data/lib/gonebusy/models/create_category_response.rb +35 -35
  32. data/lib/gonebusy/models/create_pricing_model_body.rb +80 -80
  33. data/lib/gonebusy/models/create_pricing_model_response.rb +35 -35
  34. data/lib/gonebusy/models/create_resource_body.rb +89 -89
  35. data/lib/gonebusy/models/create_resource_response.rb +35 -35
  36. data/lib/gonebusy/models/create_schedule_body.rb +143 -144
  37. data/lib/gonebusy/models/create_schedule_response.rb +35 -35
  38. data/lib/gonebusy/models/create_schedule_time_window_body.rb +116 -117
  39. data/lib/gonebusy/models/create_schedule_time_window_response.rb +35 -35
  40. data/lib/gonebusy/models/create_service_body.rb +107 -107
  41. data/lib/gonebusy/models/create_service_response.rb +35 -35
  42. data/lib/gonebusy/models/create_user_body.rb +89 -89
  43. data/lib/gonebusy/models/create_user_response.rb +35 -35
  44. data/lib/gonebusy/models/date_recurs_by_enum.rb +12 -12
  45. data/lib/gonebusy/models/delete_resource_by_id_response.rb +35 -35
  46. data/lib/gonebusy/models/delete_schedule_by_id_response.rb +35 -35
  47. data/lib/gonebusy/models/delete_schedule_time_window_by_id_response.rb +35 -35
  48. data/lib/gonebusy/models/delete_service_by_id_response.rb +35 -35
  49. data/lib/gonebusy/models/entities_address_entity.rb +116 -116
  50. data/lib/gonebusy/models/entities_availability_response.rb +58 -58
  51. data/lib/gonebusy/models/entities_booking_response.rb +71 -71
  52. data/lib/gonebusy/models/entities_category_response.rb +98 -98
  53. data/lib/gonebusy/models/entities_pricing_model_response.rb +89 -89
  54. data/lib/gonebusy/models/entities_resource_availabilities.rb +49 -49
  55. data/lib/gonebusy/models/entities_resource_response.rb +107 -107
  56. data/lib/gonebusy/models/entities_schedule_response.rb +76 -76
  57. data/lib/gonebusy/models/entities_search_response.rb +54 -54
  58. data/lib/gonebusy/models/entities_service_response.rb +134 -130
  59. data/lib/gonebusy/models/entities_slots.rb +44 -45
  60. data/lib/gonebusy/models/entities_thing_type_response.rb +44 -44
  61. data/lib/gonebusy/models/entities_time_window_response.rb +134 -135
  62. data/lib/gonebusy/models/entities_user_response.rb +152 -152
  63. data/lib/gonebusy/models/frequency_enum.rb +17 -17
  64. data/lib/gonebusy/models/gender_enum.rb +9 -9
  65. data/lib/gonebusy/models/get_booking_by_id_response.rb +35 -35
  66. data/lib/gonebusy/models/get_bookings_response.rb +40 -40
  67. data/lib/gonebusy/models/get_categories_response.rb +40 -40
  68. data/lib/gonebusy/models/get_category_by_id_response.rb +35 -35
  69. data/lib/gonebusy/models/get_pricing_model_by_id_response.rb +35 -35
  70. data/lib/gonebusy/models/get_pricing_models_response.rb +40 -40
  71. data/lib/gonebusy/models/get_resource_by_id_response.rb +35 -35
  72. data/lib/gonebusy/models/get_resource_things_response.rb +40 -40
  73. data/lib/gonebusy/models/get_resources_response.rb +40 -40
  74. data/lib/gonebusy/models/get_schedule_by_id_response.rb +35 -35
  75. data/lib/gonebusy/models/get_schedules_response.rb +40 -40
  76. data/lib/gonebusy/models/get_service_available_slots_by_id_response.rb +35 -35
  77. data/lib/gonebusy/models/get_service_by_id_response.rb +35 -35
  78. data/lib/gonebusy/models/get_services_response.rb +40 -40
  79. data/lib/gonebusy/models/get_user_by_id_response.rb +35 -35
  80. data/lib/gonebusy/models/get_users_response.rb +40 -40
  81. data/lib/gonebusy/models/occurrence_enum.rb +21 -21
  82. data/lib/gonebusy/models/recurs_by_enum.rb +15 -15
  83. data/lib/gonebusy/models/search_query_response.rb +35 -35
  84. data/lib/gonebusy/models/update_booking_by_id_body.rb +116 -0
  85. data/lib/gonebusy/models/update_booking_by_id_response.rb +35 -35
  86. data/lib/gonebusy/models/update_pricing_model_by_id_body.rb +62 -62
  87. data/lib/gonebusy/models/update_pricing_model_by_id_response.rb +35 -35
  88. data/lib/gonebusy/models/update_resource_by_id_body.rb +71 -71
  89. data/lib/gonebusy/models/update_resource_by_id_response.rb +35 -35
  90. data/lib/gonebusy/models/update_schedule_time_window_by_id_body.rb +116 -117
  91. data/lib/gonebusy/models/update_schedule_time_window_by_id_response.rb +35 -35
  92. data/lib/gonebusy/models/update_service_by_id_body.rb +98 -98
  93. data/lib/gonebusy/models/update_service_by_id_response.rb +35 -35
  94. data/lib/gonebusy/models/update_user_by_id_body.rb +89 -89
  95. data/lib/gonebusy/models/update_user_by_id_response.rb +35 -35
  96. data/lib/gonebusy.rb +108 -104
  97. metadata +53 -17
@@ -0,0 +1,116 @@
1
+ # This file was automatically generated by APIMATIC v2.0 ( https://apimatic.io ).
2
+
3
+ module Gonebusy
4
+ class UpdateBookingByIdBody < BaseModel
5
+ # New date of booking. If a recurring booking, must be a date of an instance. Several formats are supported: '2014-10-31', 'October 31, 2014'
6
+ # @return [Date]
7
+ attr_accessor :date
8
+
9
+ # Required only when :recurs_by is 'monthly' or 'yearly' to differentiate between exact date or 'day in month/year'. See Recurring Booking examples.
10
+ # @return [DateRecursByEnum]
11
+ attr_accessor :date_recurs_by
12
+
13
+ # List of comma-separated days of the week this Booking falls on. Useful for recurring Bookings. If provided, at least one must be specified.
14
+ # @return [String]
15
+ attr_accessor :days
16
+
17
+ # New length of time, in minutes, for the desired booking - if Service allows requesting a variable amount of time
18
+ # @return [Integer]
19
+ attr_accessor :duration
20
+
21
+ # New end date of a recurring booking. If recurring, leave blank for infinite booking. Several formats are supported: '2014-10-31', 'October 31, 2014'.
22
+ # @return [Date]
23
+ attr_accessor :end_date
24
+
25
+ # Optional frequency of recurrence as specified by :recurs_by. E.g, :single, :every, :every_other, etc.
26
+ # @return [FrequencyEnum]
27
+ attr_accessor :frequency
28
+
29
+ # Optional occurrence of frequency. E.g, :first, :2nd, :last, :2nd_to_last, etc.
30
+ # @return [OccurrenceEnum]
31
+ attr_accessor :occurrence
32
+
33
+ # One of the possible recurrence values.
34
+ # @return [RecursByEnum]
35
+ attr_accessor :recurs_by
36
+
37
+ # New time of booking. Several formats are supported: '9am', '09:00', '9:00', '0900'
38
+ # @return [String]
39
+ attr_accessor :time
40
+
41
+ # When a recurring booking, one of: ['instance', 'all', 'infinite']
42
+ # @return [String]
43
+ attr_accessor :update_recurring
44
+
45
+ # A mapping from model property names to API property names
46
+ def self.names
47
+ if @hash.nil?
48
+ @hash = {}
49
+ @hash["date"] = "date"
50
+ @hash["date_recurs_by"] = "date_recurs_by"
51
+ @hash["days"] = "days"
52
+ @hash["duration"] = "duration"
53
+ @hash["end_date"] = "end_date"
54
+ @hash["frequency"] = "frequency"
55
+ @hash["occurrence"] = "occurrence"
56
+ @hash["recurs_by"] = "recurs_by"
57
+ @hash["time"] = "time"
58
+ @hash["update_recurring"] = "update_recurring"
59
+ end
60
+ @hash
61
+ end
62
+
63
+ def initialize(date = nil,
64
+ date_recurs_by = nil,
65
+ days = nil,
66
+ duration = nil,
67
+ end_date = nil,
68
+ frequency = nil,
69
+ occurrence = nil,
70
+ recurs_by = nil,
71
+ time = nil,
72
+ update_recurring = nil)
73
+ @date = date
74
+ @date_recurs_by = date_recurs_by
75
+ @days = days
76
+ @duration = duration
77
+ @end_date = end_date
78
+ @frequency = frequency
79
+ @occurrence = occurrence
80
+ @recurs_by = recurs_by
81
+ @time = time
82
+ @update_recurring = update_recurring
83
+ end
84
+
85
+ # Creates an instance of the object from a hash
86
+ def self.from_hash(hash)
87
+ if hash == nil
88
+ nil
89
+ else
90
+ # Extract variables from the hash
91
+ date = hash['date']
92
+ date_recurs_by = hash['date_recurs_by']
93
+ days = hash['days']
94
+ duration = hash['duration']
95
+ end_date = hash['end_date']
96
+ frequency = hash['frequency']
97
+ occurrence = hash['occurrence']
98
+ recurs_by = hash['recurs_by']
99
+ time = hash['time']
100
+ update_recurring = hash['update_recurring']
101
+
102
+ # Create object from extracted values
103
+ UpdateBookingByIdBody.new(date,
104
+ date_recurs_by,
105
+ days,
106
+ duration,
107
+ end_date,
108
+ frequency,
109
+ occurrence,
110
+ recurs_by,
111
+ time,
112
+ update_recurring)
113
+ end
114
+ end
115
+ end
116
+ end
@@ -1,35 +1,35 @@
1
- # This file was automatically generated for GoneBusy Inc. by APIMATIC v2.0 ( https://apimatic.io ).
2
-
3
- module Gonebusy
4
- class UpdateBookingByIdResponse < BaseModel
5
- # TODO: Write general description for this method
6
- # @return [EntitiesBookingResponse]
7
- attr_accessor :booking
8
-
9
- # A mapping from model property names to API property names
10
- def self.names
11
- if @hash.nil?
12
- @hash = {}
13
- @hash["booking"] = "booking"
14
- end
15
- @hash
16
- end
17
-
18
- def initialize(booking = nil)
19
- @booking = booking
20
- end
21
-
22
- # Creates an instance of the object from a hash
23
- def self.from_hash(hash)
24
- if hash == nil
25
- nil
26
- else
27
- # Extract variables from the hash
28
- booking = EntitiesBookingResponse.from_hash(hash["booking"]) if hash["booking"]
29
-
30
- # Create object from extracted values
31
- UpdateBookingByIdResponse.new(booking)
32
- end
33
- end
34
- end
35
- end
1
+ # This file was automatically generated by APIMATIC v2.0 ( https://apimatic.io ).
2
+
3
+ module Gonebusy
4
+ class UpdateBookingByIdResponse < BaseModel
5
+ # TODO: Write general description for this method
6
+ # @return [EntitiesBookingResponse]
7
+ attr_accessor :booking
8
+
9
+ # A mapping from model property names to API property names
10
+ def self.names
11
+ if @hash.nil?
12
+ @hash = {}
13
+ @hash["booking"] = "booking"
14
+ end
15
+ @hash
16
+ end
17
+
18
+ def initialize(booking = nil)
19
+ @booking = booking
20
+ end
21
+
22
+ # Creates an instance of the object from a hash
23
+ def self.from_hash(hash)
24
+ if hash == nil
25
+ nil
26
+ else
27
+ # Extract variables from the hash
28
+ booking = EntitiesBookingResponse.from_hash(hash['booking']) if hash['booking']
29
+
30
+ # Create object from extracted values
31
+ UpdateBookingByIdResponse.new(booking)
32
+ end
33
+ end
34
+ end
35
+ end
@@ -1,62 +1,62 @@
1
- # This file was automatically generated for GoneBusy Inc. by APIMATIC v2.0 ( https://apimatic.io ).
2
-
3
- module Gonebusy
4
- class UpdatePricingModelByIdBody < BaseModel
5
- # 3 Letter ISO Currency Code
6
- # @return [String]
7
- attr_accessor :currency
8
-
9
- # PricingModel Name
10
- # @return [String]
11
- attr_accessor :name
12
-
13
- # Optional Notes Field
14
- # @return [String]
15
- attr_accessor :notes
16
-
17
- # Price
18
- # @return [Float]
19
- attr_accessor :price
20
-
21
- # A mapping from model property names to API property names
22
- def self.names
23
- if @hash.nil?
24
- @hash = {}
25
- @hash["currency"] = "currency"
26
- @hash["name"] = "name"
27
- @hash["notes"] = "notes"
28
- @hash["price"] = "price"
29
- end
30
- @hash
31
- end
32
-
33
- def initialize(currency = nil,
34
- name = nil,
35
- notes = nil,
36
- price = nil)
37
- @currency = currency
38
- @name = name
39
- @notes = notes
40
- @price = price
41
- end
42
-
43
- # Creates an instance of the object from a hash
44
- def self.from_hash(hash)
45
- if hash == nil
46
- nil
47
- else
48
- # Extract variables from the hash
49
- currency = hash["currency"]
50
- name = hash["name"]
51
- notes = hash["notes"]
52
- price = hash["price"]
53
-
54
- # Create object from extracted values
55
- UpdatePricingModelByIdBody.new(currency,
56
- name,
57
- notes,
58
- price)
59
- end
60
- end
61
- end
62
- end
1
+ # This file was automatically generated by APIMATIC v2.0 ( https://apimatic.io ).
2
+
3
+ module Gonebusy
4
+ class UpdatePricingModelByIdBody < BaseModel
5
+ # 3 Letter ISO Currency Code
6
+ # @return [String]
7
+ attr_accessor :currency
8
+
9
+ # PricingModel Name
10
+ # @return [String]
11
+ attr_accessor :name
12
+
13
+ # Optional Notes Field
14
+ # @return [String]
15
+ attr_accessor :notes
16
+
17
+ # Price
18
+ # @return [Float]
19
+ attr_accessor :price
20
+
21
+ # A mapping from model property names to API property names
22
+ def self.names
23
+ if @hash.nil?
24
+ @hash = {}
25
+ @hash["currency"] = "currency"
26
+ @hash["name"] = "name"
27
+ @hash["notes"] = "notes"
28
+ @hash["price"] = "price"
29
+ end
30
+ @hash
31
+ end
32
+
33
+ def initialize(currency = nil,
34
+ name = nil,
35
+ notes = nil,
36
+ price = nil)
37
+ @currency = currency
38
+ @name = name
39
+ @notes = notes
40
+ @price = price
41
+ end
42
+
43
+ # Creates an instance of the object from a hash
44
+ def self.from_hash(hash)
45
+ if hash == nil
46
+ nil
47
+ else
48
+ # Extract variables from the hash
49
+ currency = hash['currency']
50
+ name = hash['name']
51
+ notes = hash['notes']
52
+ price = hash['price']
53
+
54
+ # Create object from extracted values
55
+ UpdatePricingModelByIdBody.new(currency,
56
+ name,
57
+ notes,
58
+ price)
59
+ end
60
+ end
61
+ end
62
+ end
@@ -1,35 +1,35 @@
1
- # This file was automatically generated for GoneBusy Inc. by APIMATIC v2.0 ( https://apimatic.io ).
2
-
3
- module Gonebusy
4
- class UpdatePricingModelByIdResponse < BaseModel
5
- # TODO: Write general description for this method
6
- # @return [EntitiesPricingModelResponse]
7
- attr_accessor :pricing_model
8
-
9
- # A mapping from model property names to API property names
10
- def self.names
11
- if @hash.nil?
12
- @hash = {}
13
- @hash["pricing_model"] = "pricing_model"
14
- end
15
- @hash
16
- end
17
-
18
- def initialize(pricing_model = nil)
19
- @pricing_model = pricing_model
20
- end
21
-
22
- # Creates an instance of the object from a hash
23
- def self.from_hash(hash)
24
- if hash == nil
25
- nil
26
- else
27
- # Extract variables from the hash
28
- pricing_model = EntitiesPricingModelResponse.from_hash(hash["pricing_model"]) if hash["pricing_model"]
29
-
30
- # Create object from extracted values
31
- UpdatePricingModelByIdResponse.new(pricing_model)
32
- end
33
- end
34
- end
35
- end
1
+ # This file was automatically generated by APIMATIC v2.0 ( https://apimatic.io ).
2
+
3
+ module Gonebusy
4
+ class UpdatePricingModelByIdResponse < BaseModel
5
+ # TODO: Write general description for this method
6
+ # @return [EntitiesPricingModelResponse]
7
+ attr_accessor :pricing_model
8
+
9
+ # A mapping from model property names to API property names
10
+ def self.names
11
+ if @hash.nil?
12
+ @hash = {}
13
+ @hash["pricing_model"] = "pricing_model"
14
+ end
15
+ @hash
16
+ end
17
+
18
+ def initialize(pricing_model = nil)
19
+ @pricing_model = pricing_model
20
+ end
21
+
22
+ # Creates an instance of the object from a hash
23
+ def self.from_hash(hash)
24
+ if hash == nil
25
+ nil
26
+ else
27
+ # Extract variables from the hash
28
+ pricing_model = EntitiesPricingModelResponse.from_hash(hash['pricing_model']) if hash['pricing_model']
29
+
30
+ # Create object from extracted values
31
+ UpdatePricingModelByIdResponse.new(pricing_model)
32
+ end
33
+ end
34
+ end
35
+ end
@@ -1,71 +1,71 @@
1
- # This file was automatically generated for GoneBusy Inc. by APIMATIC v2.0 ( https://apimatic.io ).
2
-
3
- module Gonebusy
4
- class UpdateResourceByIdBody < BaseModel
5
- # Optional Capacity
6
- # @return [Integer]
7
- attr_accessor :capacity
8
-
9
- # Optional Description
10
- # @return [String]
11
- attr_accessor :description
12
-
13
- # Optional Gender
14
- # @return [GenderEnum]
15
- attr_accessor :gender
16
-
17
- # Resource Name
18
- # @return [String]
19
- attr_accessor :name
20
-
21
- # When Resource is a Thing, the type Id
22
- # @return [Integer]
23
- attr_accessor :thing_type_id
24
-
25
- # A mapping from model property names to API property names
26
- def self.names
27
- if @hash.nil?
28
- @hash = {}
29
- @hash["capacity"] = "capacity"
30
- @hash["description"] = "description"
31
- @hash["gender"] = "gender"
32
- @hash["name"] = "name"
33
- @hash["thing_type_id"] = "thing_type_id"
34
- end
35
- @hash
36
- end
37
-
38
- def initialize(capacity = nil,
39
- description = nil,
40
- gender = nil,
41
- name = nil,
42
- thing_type_id = nil)
43
- @capacity = capacity
44
- @description = description
45
- @gender = gender
46
- @name = name
47
- @thing_type_id = thing_type_id
48
- end
49
-
50
- # Creates an instance of the object from a hash
51
- def self.from_hash(hash)
52
- if hash == nil
53
- nil
54
- else
55
- # Extract variables from the hash
56
- capacity = hash["capacity"]
57
- description = hash["description"]
58
- gender = hash["gender"]
59
- name = hash["name"]
60
- thing_type_id = hash["thing_type_id"]
61
-
62
- # Create object from extracted values
63
- UpdateResourceByIdBody.new(capacity,
64
- description,
65
- gender,
66
- name,
67
- thing_type_id)
68
- end
69
- end
70
- end
71
- end
1
+ # This file was automatically generated by APIMATIC v2.0 ( https://apimatic.io ).
2
+
3
+ module Gonebusy
4
+ class UpdateResourceByIdBody < BaseModel
5
+ # Optional Capacity
6
+ # @return [Integer]
7
+ attr_accessor :capacity
8
+
9
+ # Optional Description
10
+ # @return [String]
11
+ attr_accessor :description
12
+
13
+ # Optional Gender
14
+ # @return [GenderEnum]
15
+ attr_accessor :gender
16
+
17
+ # Resource Name
18
+ # @return [String]
19
+ attr_accessor :name
20
+
21
+ # When Resource is a Thing, the type Id
22
+ # @return [Integer]
23
+ attr_accessor :thing_type_id
24
+
25
+ # A mapping from model property names to API property names
26
+ def self.names
27
+ if @hash.nil?
28
+ @hash = {}
29
+ @hash["capacity"] = "capacity"
30
+ @hash["description"] = "description"
31
+ @hash["gender"] = "gender"
32
+ @hash["name"] = "name"
33
+ @hash["thing_type_id"] = "thing_type_id"
34
+ end
35
+ @hash
36
+ end
37
+
38
+ def initialize(capacity = nil,
39
+ description = nil,
40
+ gender = nil,
41
+ name = nil,
42
+ thing_type_id = nil)
43
+ @capacity = capacity
44
+ @description = description
45
+ @gender = gender
46
+ @name = name
47
+ @thing_type_id = thing_type_id
48
+ end
49
+
50
+ # Creates an instance of the object from a hash
51
+ def self.from_hash(hash)
52
+ if hash == nil
53
+ nil
54
+ else
55
+ # Extract variables from the hash
56
+ capacity = hash['capacity']
57
+ description = hash['description']
58
+ gender = hash['gender']
59
+ name = hash['name']
60
+ thing_type_id = hash['thing_type_id']
61
+
62
+ # Create object from extracted values
63
+ UpdateResourceByIdBody.new(capacity,
64
+ description,
65
+ gender,
66
+ name,
67
+ thing_type_id)
68
+ end
69
+ end
70
+ end
71
+ end