Skip to content

Instantly share code, notes, and snippets.

View acfatah's full-sized avatar
🏠
Working from home

Achmad F. Ibrahim acfatah

🏠
Working from home
  • Temerloh, Pahang, Malaysia
  • 04:31 (UTC +08:00)
  • X @acfatah
View GitHub Profile

PHPUnit API reference

  • version 3.6

TODO

Check those constraints:

$this->anything()
$totalCorrect = 0;
for ($i = 1; $i < 22; i++) {
if (isset ($_POST['question-' . $i . '-answers']) && is_numeric($_POST['question-' . $i . '-answers'])) {
$totalCorrect += (int) $_POST['question-' . $i . '-answers'];
}
}
@acfatah
acfatah / PassportTestCase
Last active March 17, 2019 13:28
Laravel 5.8 unit testing with laravel/passport
<?php
// origin: https://gist.github.com/archy-bold/bd696e8ec84a7657b724523e07fd7a6c
namespace Tests;
use DB;
use DateTime;
use App\User;
use Laravel\Passport\ClientRepository;
@acfatah
acfatah / parse-bash-arguments
Last active March 31, 2019 00:14
Examples how to parse bash command line arguments
#!/bin/bash
# An example script how to parse a bash arguments with command
# link: https://stackoverflow.com/questions/192249/how-do-i-parse-command-line-arguments-in-bash
# Script version
SCRIPT_VERSION=0
# Help message
function usage() {
@acfatah
acfatah / index.js
Last active May 26, 2024 10:59
Quasar Vue Router Middleware Pipeline Example
// router/index.js
import Vue from 'vue'
import VueRouter from 'vue-router'
import routes from './routes'
import middlewarePipeline from './middleware-pipeline'
Vue.use(VueRouter)
@acfatah
acfatah / parseToken.js
Created September 25, 2019 01:25
Authorization Bearer Token Parser Function For Express
export default request => {
let parts = request.headers.authorization.split(' ')
if (request.headers.authorization && parts[0] === 'Bearer') {
return parts[1]
} else if (request.query && request.query.token) {
return request.query.token
}
}
@acfatah
acfatah / rubyrails.rb
Created May 2, 2020 16:45
Gravatar link generator. Please refer: https://en.gravatar.com/site/implement
# require 'digest/md5'
def gravatar_link(email, size=80)
valid_email = /^([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5})$/
raise 'Invalid email address' unless !!email.match(valid_email)
raise 'Invalid gravatar image size' unless size.positive? && size < 2048
hash = Digest::MD5.hexdigest(email.downcase)
"https://www.gravatar.com/avatar/#{hash}?s=#{size}"
end
/**
* Checks whether two numbers are approximately equal to each other, with a small difference
* @param {number} alpha
* @param {number} beta
* @param {number} [epsilon=0.001]
* @returns {boolean}
*/
export default (alpha, beta, epsilon = 0.001) => Math.abs(alpha - beta) < epsilon
@acfatah
acfatah / github markdown syntax.md
Last active September 23, 2020 00:35 — forked from MinhasKamal/github markdown syntax.md
Markdown Syntax for GitHub.
@acfatah
acfatah / 01.md
Last active March 18, 2024 04:50
How to set up Rails 6 production on Digital Ocean One Click Ruby on Rails Droplet

How to set up Rails 6 production on Digital Ocean One Click Ruby on Rails Droplet

1. Clone The Source

Clone the source repository.

2. Generate Secret Key

Run rails secret to generate secret key and set SECRET_KEY_BASE to the value later in ~/.profile.