Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

weather_API_Assignment

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

weather_API_Assignment

  • 1.0
  • Rubygems
  • Socket score

Version published
Maintainers
1
Created
Source

Getting started

This API will provide latest information of current weather

How to Build

This client library is a Ruby gem which can be compiled and used in your Ruby and Ruby on Rails project. This library requires a few gems from the RubyGems repository.

  1. Open the command line interface or the terminal and navigate to the folder containing the source code.
  2. Run gem build weather_api_assignment.gemspec to build the gem.
  3. Once built, the gem can be installed on the current work environment using gem install weather_api_assignment-1.0.gem

Building Gem

How to Use

The following section explains how to use the WeatherApiAssignment Ruby Gem in a new Rails project using RubyMine™. The basic workflow presented here is also applicable if you prefer using a different editor or IDE.

1. Starting a new project

Close any existing projects in RubyMine™ by selecting File -> Close Project. Next, click on Create New Project to create a new project from scratch.

Create a new project in RubyMine

Next, provide TestApp as the project name, choose Rails Application as the project type, and click OK.

Create a new Rails Application in RubyMine - step 1

In the next dialog make sure that correct Ruby SDK is being used (minimum 2.0.0) and click OK.

Create a new Rails Application in RubyMine - step 2

This will create a new Rails Application project with an existing set of files and folder.

2. Add reference of the gem

In order to use the WeatherApiAssignment gem in the new project we must add a gem reference. Locate the Gemfile in the Project Explorer window under the TestApp project node. The file contains references to all gems being used in the project. Here, add the reference to the library gem by adding the following line: gem 'weather_api_assignment', '~> 1.0'

Add references of the Gemfile

3. Adding a new Rails Controller

Once the TestApp project is created, a folder named controllers will be visible in the Project Explorer under the following path: TestApp > app > controllers. Right click on this folder and select New -> Run Rails Generator....

Run Rails Generator on Controllers Folder

Selecting the said option will popup a small window where the generator names are displayed. Here, select the controller template.

Create a new Controller

Next, a popup window will ask you for a Controller name and included Actions. For controller name provide Hello and include an action named Index and click OK.

Add a new Controller

A new controller class anmed HelloController will be created in a file named hello_controller.rb containing a method named Index. In this method, add code for initialization and a sample for its usage.

Initialize the library

How to Test

You can test the generated SDK and the server with automatically generated test cases as follows:

  1. From terminal/cmd navigate to the root directory of the SDK.
  2. Invoke: bundle exec rake

Initialization

Authentication

In order to setup authentication and initialization of the API client, you need the following information.

ParameterDescription
appidApp key for authentication

API client can be initialized as following.

# Configuration parameters and credentials
appid = '178db63aed00f6e4daaa06009b04438b' # App key for authentication

client = WeatherApiAssignment::WeatherApiAssignmentClient.new(
  appid: appid
)

The added initlization code can be debugged by putting a breakpoint in the Index method and running the project in debug mode by selecting Run -> Debug 'Development: TestApp'.

Debug the TestApp

Class Reference

List of Controllers

Class: WeatherAPIsController

Get singleton instance

The singleton instance of the WeatherAPIsController class can be accessed from the API Client.

weatherAPIs_controller = client.weather_ap_is

Method: get_weather_by_city_name

This is a weather API endpoint which returns the current weather of a location by city name.

def get_weather_by_city_name(q,
                                 mode = nil,
                                 units = nil,
                                 lang = nil); end
Parameters
ParameterTagsDescription
qRequired DefaultValueCity name, state code and country code divided by comma, use ISO 3166 country codes.
modeOptionalResponse format. Possible values are xml and html. If you don't use the mode parameter format is JSON by default.
unitsOptionalUnits of measurement. standard, metric and imperial units are available. If you do not use the units parameter, standard units will be applied by default.
langOptionalYou can use this parameter to get the output in your language.
Example Usage
q = 'London,uk'
mode = WeatherApiAssignment::MODEEnum::XML
units = WeatherApiAssignment::UNITSEnum::STANDARD
lang = WeatherApiAssignment::LANGEnum::AF

result = weatherAPIs_controller.get_weather_by_city_name(q, mode, units, lang)

Method: get_weather_by_latitude_and_longitude

This is a weather API endpoint which returns the current weather of a location by latitude and longitude.

def get_weather_by_latitude_and_longitude(lat,
                                              lon,
                                              mode = nil,
                                              units = nil,
                                              lang = nil); end
Parameters
ParameterTagsDescription
latRequiredThis field will contain the latitude of city
lonRequiredThis field will contain the longitude of city
modeOptionalResponse format. Possible values are xml and html. If you don't use the mode parameter format is JSON by default.
unitsOptionalUnits of measurement. standard, metric and imperial units are available. If you do not use the units parameter, standard units will be applied by default.
langOptionalYou can use this parameter to get the output in your language.
Example Usage
lat = 29.0834359890239
lon = 29.0834359890239
mode = WeatherApiAssignment::MODEEnum::XML
units = WeatherApiAssignment::UNITSEnum::STANDARD
lang = 'lang'

result = weatherAPIs_controller.get_weather_by_latitude_and_longitude(lat, lon, mode, units, lang)

Back to List of Controllers

FAQs

Package last updated on 16 Dec 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc