Skip to content

Instantly share code, notes, and snippets.

View joseh-henrique's full-sized avatar

Joseh-Henrique joseh-henrique

View GitHub Profile
@haseebeqx
haseebeqx / pluck_in_batches.rb
Created July 14, 2024 05:44
Pluck in batches - combines the efficiency of pluck with the memory-friendly approach of find_in_batches
module ActiveRecord
class Relation
def pluck_in_batches(*columns, batch_size: 1000, start: nil)
relation = self
relation = relation.where(table[primary_key].gteq(start)) if start
batch_order = "#{table.name}.#{primary_key} ASC"
relation = relation.reorder(batch_order)
loop do
batch = relation.limit(batch_size).pluck(*columns, primary_key)
@eduardoflorence
eduardoflorence / main.dart
Created October 27, 2020 18:09
GetX - Sample StateMixin
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:dio/dio.dart';
void main() {
runApp(GetMaterialApp(
initialRoute: '/home',
getPages: [
GetPage(
name: '/home',
@manojeeva
manojeeva / overlay_dialog.dart
Last active May 27, 2023 23:01
GetX Manage Multiple Dialog
import 'package:get/get.dart';
import 'package:flutter/material.dart';
class OverLayLoader {
OverLayLoader._privateConstructor();
static final OverLayLoader find = OverLayLoader._privateConstructor();
Route _dialogRoute;
@roipeker
roipeker / bmi.dart
Last active November 9, 2021 16:50
BMI Calculator clone with GetX (+ Theme modes)
import 'dart:async';
import 'dart:math' as math;
import 'dart:ui';
import 'package:flutter/cupertino.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_icons/flutter_icons.dart';
import 'package:get/get.dart';
@roipeker
roipeker / form_utils.dart
Last active October 27, 2023 12:51
TextField concept for GetX (WIP) ...
/// copyright 2020, roipeker
class FormValidations {
static String email(String val) {
val = val.trim();
if (val.isEmpty) return 'Email cant be empty';
if (val.length <= 4) return 'Email is too short';
if (!val.isEmail) return 'Invalid email';
return null;
}
@Jojoooo1
Jojoooo1 / input-validation.dart
Last active September 17, 2020 21:30
Input validation flutter
// Simplified version with focusOut validation
Obx(
() => Focus(
onFocusChange: (hasFocus) {
if (!hasFocus) {
controller.stateTaxIdController.refresh();
GetUtils.isCnpj(stateTaxIdMask.getUnmaskedText());
}
},
child: TextFormFieldOnPrimary(
@roipeker
roipeker / main.dart
Created September 3, 2020 00:27
Getx Subnavigators Colors
/// roipeker - 2020
/// Based on
/// https://medium.com/coding-with-flutter/flutter-case-study-multiple-navigators-with-bottomnavigationbar-90eb6caa6dbf
import 'package:flutter/material.dart';
import 'package:get/get.dart';
class SampleMultiNavColors extends StatelessWidget {
@override
@roipeker
roipeker / main.dart
Created August 30, 2020 15:10
Embarques TabView GetX sample
import 'package:flutter/material.dart';
import 'package:get/get.dart';
class EmbarqueModel {
final String name;
final String id;
EmbarqueModel({this.name, this.id});
String get endpoint => '/$id';
}
@roipeker
roipeker / get_utils.dart
Created August 27, 2020 13:09
Base UI utils for GetX (wip)
class AppGetUtils {
static bool isPreloading = false;
static Future<void> hidePreloader() async {
if (!isPreloading) return;
isPreloading = false;
if (!Get.isSnackbarOpen) {
Get.close(1);
}
}
@roipeker
roipeker / getx_todo_list.dart
Created August 27, 2020 02:56
Sample GetX todo list.
import 'package:flutter/material.dart';
import 'package:get/get.dart';
class SampleTodoDemo extends StatelessWidget {
@override
Widget build(BuildContext context) {
return GetMaterialApp(
home: TodoPage(),
);
}