Class: Square::Team::Client
- Inherits:
-
Object
- Object
- Square::Team::Client
- Defined in:
- lib/square/team/client.rb
Instance Method Summary collapse
-
#create_job(request_options: {}, **params) ⇒ Square::Types::CreateJobResponse
Creates a job in a seller account.
- #initialize(client:) ⇒ void constructor
-
#list_jobs(request_options: {}, **params) ⇒ Square::Types::ListJobsResponse
Lists jobs in a seller account.
-
#retrieve_job(request_options: {}, **params) ⇒ Square::Types::RetrieveJobResponse
Retrieves a specified job.
-
#update_job(request_options: {}, **params) ⇒ Square::Types::UpdateJobResponse
Updates the title or tip eligibility of a job.
Constructor Details
#initialize(client:) ⇒ void
9 10 11 |
# File 'lib/square/team/client.rb', line 9 def initialize(client:) @client = client end |
Instance Method Details
#create_job(request_options: {}, **params) ⇒ Square::Types::CreateJobResponse
Creates a job in a seller account. A job defines a title and tip eligibility. Note that compensation is defined in a [job assignment](entity:JobAssignment) in a team member’s wage setting.
65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 |
# File 'lib/square/team/client.rb', line 65 def create_job(request_options: {}, **params) params = Square::Internal::Types::Utils.normalize_keys(params) request = Square::Internal::JSON::Request.new( base_url: [:base_url], method: "POST", path: "v2/team-members/jobs", body: Square::Team::Types::CreateJobRequest.new(params).to_h, request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Square::Errors::TimeoutError end code = response.code.to_i if code.between?(200, 299) Square::Types::CreateJobResponse.load(response.body) else error_class = Square::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |
#list_jobs(request_options: {}, **params) ⇒ Square::Types::ListJobsResponse
Lists jobs in a seller account. Results are sorted by title in ascending order.
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/square/team/client.rb', line 25 def list_jobs(request_options: {}, **params) params = Square::Internal::Types::Utils.normalize_keys(params) query_param_names = %i[cursor] query_params = {} query_params["cursor"] = params[:cursor] if params.key?(:cursor) params.except(*query_param_names) request = Square::Internal::JSON::Request.new( base_url: [:base_url], method: "GET", path: "v2/team-members/jobs", query: query_params, request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Square::Errors::TimeoutError end code = response.code.to_i if code.between?(200, 299) Square::Types::ListJobsResponse.load(response.body) else error_class = Square::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |
#retrieve_job(request_options: {}, **params) ⇒ Square::Types::RetrieveJobResponse
Retrieves a specified job.
100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 |
# File 'lib/square/team/client.rb', line 100 def retrieve_job(request_options: {}, **params) params = Square::Internal::Types::Utils.normalize_keys(params) request = Square::Internal::JSON::Request.new( base_url: [:base_url], method: "GET", path: "v2/team-members/jobs/#{params[:job_id]}", request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Square::Errors::TimeoutError end code = response.code.to_i if code.between?(200, 299) Square::Types::RetrieveJobResponse.load(response.body) else error_class = Square::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |
#update_job(request_options: {}, **params) ⇒ Square::Types::UpdateJobResponse
Updates the title or tip eligibility of a job. Changes to the title propagate to all ‘JobAssignment`, `Shift`, and `TeamMemberWage` objects that reference the job ID. Changes to tip eligibility propagate to all `TeamMemberWage` objects that reference the job ID.
136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 |
# File 'lib/square/team/client.rb', line 136 def update_job(request_options: {}, **params) params = Square::Internal::Types::Utils.normalize_keys(params) request_data = Square::Team::Types::UpdateJobRequest.new(params).to_h non_body_param_names = ["job_id"] body = request_data.except(*non_body_param_names) request = Square::Internal::JSON::Request.new( base_url: [:base_url], method: "PUT", path: "v2/team-members/jobs/#{params[:job_id]}", body: body, request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Square::Errors::TimeoutError end code = response.code.to_i if code.between?(200, 299) Square::Types::UpdateJobResponse.load(response.body) else error_class = Square::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |