Skip to content

Instantly share code, notes, and snippets.

View julianalucena's full-sized avatar

Juliana Lucena julianalucena

  • Incognia
  • Recife, Pernambuco, Brazil
View GitHub Profile
<!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).

Descrição de Projeto: encapsuladores

Projeto 1

Este projeto consiste na criação do encapsulador para a API REST do Mural do Redu.

O que é um encapsulador?

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"
}
@julianalucena
julianalucena / sessions_controller.rb
Last active June 26, 2021 02:53 — forked from nataliaconde/sessions_controller.rb
Ruby controller/handler
# 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
@julianalucena
julianalucena / login_form.rb
Last active June 26, 2021 02:54 — forked from nataliaconde/login_form.rb
authentication logic
# 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,