Check out Moesif's Ruby developer documentation to learn more
(Documentation access requires an active account)
The generated code might need to be configured with your API credentials. To do that, open the file "configuration.rb" and edit it's contents.
Alternatively, you can modify the Configuration parameters at run-time through the following:
MoesifApi::Configuration.your_paramater = YOUR_VALUE
gem install moesif_api
The generated code depends on a few Ruby gems. The references to these gems are added in the gemspec file. The easiest way to resolve the dependencies, build the gem and install it is through Rake:
- Install Rake if not already installed:
gem install rake
- Install Bundler if not already installed:
gem install bundler
- From terminal/cmd navigate to the root directory of the SDK.
- Invoke:
rake install
Alternatively, you can build and install the gem manually:
- From terminal/cmd navigate to the root directory of the SDK.
- Run the build command:
gem build moesif_api.gemspec
- Run the install command:
gem install ./moesif_api-1.0.0.gem
Note: You will need to have internet access for this step.
You can test the generated SDK and the server with automatically generated test cases as follows:
- From terminal/cmd navigate to the root directory of the SDK.
- Invoke:
bundle exec rake
After having installed the gem, you can easily use the SDK following these steps.
- Create a "moesif_api_test.rb" file in the root directory.
- Use any controller as follows:
require 'moesif_api'
api_client = MoesifApi::MoesifAPIClient.new(my_application_id)
api_controller = api_client.api_controller
req_headers = JSON.parse('{'\
'"Host": "api.acmeinc.com",'\
'"Accept": "*/*",'\
'"Connection": "Keep-Alive",'\
'"User-Agent": "Dalvik/2.1.0 (Linux; U; Android 5.0.2; C6906 Build/14.5.A.0.242)",'\
'"Content-Type": "application/json",'\
'"Content-Length": "126",'\
'"Accept-Encoding": "gzip"'\
'}')
req_body = JSON.parse( '{'\
'"items": ['\
'{'\
'"type": 1,'\
'"id": "fwfrf"'\
'},'\
'{'\
'"type": 2,'\
'"id": "d43d3f"'\
'}'\
']'\
'}')
rsp_headers = JSON.parse('{'\
'"Date": "Tue, 23 Aug 2016 23:46:49 GMT",'\
'"Vary": "Accept-Encoding",'\
'"Pragma": "no-cache",'\
'"Expires": "-1",'\
'"Content-Type": "application/json; charset=utf-8",'\
'"Cache-Control": "no-cache"'\
'}')
rsp_body = JSON.parse('{'\
'"Error": "InvalidArgumentException",'\
'"Message": "Missing field field_a"'\
'}')
event_req = EventRequestModel.new()
event_req.time = "2016-09-09T04:45:42.914"
event_req.uri = "https://api.acmeinc.com/items/reviews/"
event_req.verb = "PATCH"
event_req.api_version = "1.1.0"
event_req.ip_address = "61.48.220.123"
event_req.headers = req_headers
event_req.body = req_body
event_rsp = EventResponseModel.new()
event_rsp.time = "2016-09-09T04:45:42.914"
event_rsp.status = 500
event_rsp.headers = rsp_headers
event_rsp.body = rsp_body
event_model = EventModel.new()
event_model.request = event_req
event_model.response = event_rsp
event_model.user_id ="my_user_id"
event_model.session_token = "23jdf0owekfmcn4u3qypxg09w4d8ayrcdx8nu2ng]s98y18cx98q3yhwmnhcfx43f"
# Perform the API call through the SDK function
response = api_controller.create_event(event_model)