Skip to main content

Open source: Simplifying the Ramp API

Why I Started This Project

While working at Hire Dragons, I encountered a big challenge. There was a task that needed to be automated completely. Every day, someone would log into Ramp.com to handle routine tasks like checking upcoming shifts on our website and pre-filling a card using the Ramp service. This was their whole job because we have over 1,000 Dragons (users) possibly working shifts each day.

How I Solved the Problem

Initially, I looked into integrating a solution directly into our existing codebase. However, it seemed too complex and I thought, "Why not make this an open-source project?" Since the Ramp API is accessible to anyone with an account, I decided to share the fun with everyone!

I created a project called "ramp-api" on GitHub to make using the Ramp API as easy as possible for developers.

Getting Started with the Ramp API Package

To use this package, first, you need to set up your configuration file. You can do this by running the following command in your terminal:

php artisan vendor:publish --tag=rampapi-config

Next, include the package in your project:

use R0aringthunder\RampApi\Ramp;

Using the Code

Here are some simple examples from the GitHub page showing how to use the package:

// List all Ramp users
public function rampUsers()
{
    $ramp = new Ramp();
    $users = $ramp->users->listUsers();
    return response()->json($users);
}

// List all cards
public function fetchCards()
{
    $ramp = new Ramp();
    $cards = $ramp->cards->listCards();
    return response()->json($cards['data']);
}

// List a single user's cards
public function fetchUserCards(Request $request)
{
    $ramp = new Ramp();
    $cards = $ramp->cards->listCards('user_id', $request->uid);
    return response()->json($cards['data']);
}

For a longer list of functionalities, please check the README.md on the project’s GitHub page.

Comments

Popular posts from this blog

Guide: Unraveling GitHub Actions - Detecting Changes Between Commits

While working at  Hire Dragons , I was assigned the task of creating a GitHub Action workflow. This workflow was designed to use Laravel Pint to check for any changes in the codebase. On our local and off-site development machines, this task would take just a few moments. However, on GitHub, it would take 5-6 minutes to complete. Although you get many free Action minutes, we didn’t want to waste these credits on every commit. Therefore, I began exploring ways to speed up this process. During my research and development, I considered making a list of changes between commit hashes. This turned out to be the quickest method. Let's start off with the code used name: Lint on: push jobs: lint: name: Lint runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v2 - name: Setup PHP uses: shivammathur/setup-php@v2 with: php-version: '8.2' tools: phplint, laravel/pint - name: Get list of cha...

Guide: Unraveling GitHub Actions - Spend Less, Do More

How Can We Save Money & Increase Efficiency? To achieve this, we must find answers to specific questions. One challenge I faced was improving our test and lint workflows even further: "Although I have already enhanced the speed of our test and lint workflows, can I accelerate them more or reduce the costs associated with running them?" The answer came from a project I discovered during my R&D phase— nektos/act . This tool aims to perfectly mimic GitHub Actions, allowing you to make frequent updates and commits without needing to push each change to check if your tests or lints pass. Installing act I regularly use Ubuntu 22.04 on WSL2, and your setup might be different. Thus, this guide might not perfectly fit everyone's needs. For more detailed support, please visit the act homepage . First, install nektos/act using this command: curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/nektos/act/master/...