Class: ApimaticCalculator::SimpleCalculatorController
- Inherits:
-
BaseController
- Object
- BaseController
- ApimaticCalculator::SimpleCalculatorController
- Defined in:
- lib/apimatic_calculator/controllers/simple_calculator_controller.rb
Overview
SimpleCalculatorController
Instance Attribute Summary
Attributes inherited from BaseController
Instance Method Summary collapse
-
#calculate(operation, x, y) ⇒ Float
Calculates the expression using the specified operation.
-
#initialize(config, http_call_back: nil) ⇒ SimpleCalculatorController
constructor
A new instance of SimpleCalculatorController.
Methods inherited from BaseController
#execute_request, #validate_parameters, #validate_response
Constructor Details
#initialize(config, http_call_back: nil) ⇒ SimpleCalculatorController
Returns a new instance of SimpleCalculatorController.
9 10 11 |
# File 'lib/apimatic_calculator/controllers/simple_calculator_controller.rb', line 9 def initialize(config, http_call_back: nil) super(config, http_call_back: http_call_back) end |
Instance Method Details
#calculate(operation, x, y) ⇒ Float
Calculates the expression using the specified operation.
| Table Column 1 | Table Column 2 | Table Column 3 | | ————– | ————– | ————– | | Row 1x1 | Row 1x2 | Row 1x3 | | Row 2x1 | Row 2x2 | Row 2x3 | apply on the variables
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/apimatic_calculator/controllers/simple_calculator_controller.rb', line 25 def calculate(operation, x, y) # Prepare query url. _query_builder = config.get_base_uri _query_builder << '/{operation}' _query_builder = APIHelper.append_url_with_template_parameters( _query_builder, 'operation' => { 'value' => operation, 'encode' => true } ) _query_builder = APIHelper.append_url_with_query_parameters( _query_builder, 'x' => x, 'y' => y ) _query_url = APIHelper.clean_url _query_builder # Prepare and execute HttpRequest. _request = config.http_client.get( _query_url ) _response = execute_request(_request) validate_response(_response) # Return appropriate response type. _response.raw_body.to_f end |