Este projeto consiste na criação do encapsulador para a API REST do Mural do Redu.
Encapsularoes (para APIs REST), também conhecidos como wrappers, são bibliotecas que abstraem detalhes de rede na comunicação com serviços terceiros.
<!doctype html> | |
<html> | |
<head> | |
<title>Webpack CSS example</title> | |
</head> | |
<body> | |
<div id="main"></div> | |
<script src="js/output.js"></script> | |
</body> | |
</html> |
-module(fibonacci). | |
-export([fib/1]). | |
fib(0) -> 0; | |
fib(1) -> 1; | |
fib(N) -> fib(N-1) + fib(N-2). |
Este projeto consiste na criação do encapsulador para a API REST do Mural do Redu.
Encapsularoes (para APIs REST), também conhecidos como wrappers, são bibliotecas que abstraem detalhes de rede na comunicação com serviços terceiros.
require 'koala' | |
app_id = "xxx" | |
app_secret = "xxx" | |
callback_url = "http://0.0.0.0:3000/callback/" | |
oauth = Koala::Facebook::OAuth.new(app_id, app_secret, callback_url) | |
url = oauth.url_for_oauth_code(permissions: ["email", "user_likes"]) | |
puts "Redirecione o usuário para o Facebook: #{url}" |
{ | |
"type": "Regular", | |
"price": "6.66", | |
"date": "1 day ago", | |
"via": "myGasFeed Dev" | |
} |
# sessions_controller.rb | |
class SessionsController < ApplicationController | |
def create | |
@login_form = LoginForm.new(params) | |
if @user = @login_form.submit | |
sign_in @user | |
redirect_to @user, notice: "Welcome!" | |
else | |
render action: :new |
# login_form.rb | |
class LoginForm < BaseForm | |
attr_accessor :email, :password, :incognia_installation_id | |
validates :email, :password, presence: true | |
validate :device_risk | |
# Other validations... | |
def submit | |
return nil if invalid? |
require 'faraday' | |
require 'json' | |
module Incognia | |
class Api | |
include Singleton | |
API_HOST = 'https://api.us.incognia.com/api/'.freeze | |
def register_login(installation_id:, account_id:) |
{ | |
"evidence": { | |
"account_integrity": {...}, | |
"addresses": [...], | |
"device_behavior_reputation": "allowed", | |
"device_fraud_reputation": "allowed", | |
"device_integrity": { | |
"emulator": false, | |
"from_official_store": true, | |
"gps_spoofing": false, |