Skip to content

Instantly share code, notes, and snippets.

View ruan65's full-sized avatar
🎯
Focusing

Andrew ruan65

🎯
Focusing
View GitHub Profile
ta test async
test(
'should $ACT$ when $END$',
() async {
// arrange
// act
// assert
@ruan65
ruan65 / user.xml
Last active March 1, 2019 14:10
Android Studio Live Templates code snippets /home/a/.AndroidStudio3.3/config/templates/user.xml on Ubuntu /Users/a/Library/Preferences/AndroidStudio3.3/templates/user.xml on Mac
<templateSet group="user">
<template name="imf" value="import 'package:flutter/material.dart';" description="Import flutter material" toReformat="false" toShortenFQNames="true">
<context>
<option name="DART" value="true" />
</context>
</template>
<template name="fblo" value="import 'dart:async';&#10;import 'package:bloc/bloc.dart';&#10;&#10;class $name$Bloc extends Bloc&lt;$event$, $state$&gt; {&#10;&#10;&#10; @override&#10; $name$State get initialState =&gt; null;&#10;&#10; @override&#10; Stream&lt;$name$State&gt; mapEventToState($state$ currentState, $event$ event) {&#10; $cursor$&#10; return null;&#10; }&#10;&#10;}" description="flutter bloc class template" toReformat="false" toShortenFQNames="true">
<variable name="name" expression="" defaultValue="" alwaysStopAt="true" />
<variable name="event" expression="" defaultValue="" alwaysStopAt="true" />
<variable name="state" expression="" defaultValue="" alwaysStopAt="true" />
@ruan65
ruan65 / .bash_profile
Last active February 21, 2020 22:38
my mac bash profile
export PS1='$ '
export PS1='$ '
export PS1='\W $ '
export EDITOR=nano
export VISUAL='$EDITOR'
export PATH=$PATH:~/Library/Android/sdk/platform-tools:~/soft/flutter/bin/cache/dart-sdk/bin:~/soft/flutter/bin:/usr/local/opt/openssl/bin
alias hs='history'
alias ll='ls -lah'
alias ga='git add .'
@ruan65
ruan65 / bloc_example.dart
Created February 12, 2019 16:37
Bloc Flutter Example
class CounterState {
final int counter;
CounterState._(this.counter);
factory CounterState.nextState(int times) => CounterState._(times);
}
class CounterBloc extends Bloc<CounterEvent, CounterState> {
@override
CounterState get initialState => CounterState.nextState(0);
@ruan65
ruan65 / wiki.sh
Created February 15, 2019 10:05
linux ubuntu useful commands
# add path example
echo 'export PATH="$PATH:/usr/lib/dart/bin"' >> ~/.bashrc
source .bashrc
# install dart https://www.dartlang.org/tools/sdk#install
@ruan65
ruan65 / dart_helpers.dart
Created February 27, 2019 15:10
Dart helpers
Iterable<int> range({int from = 0, int to}) sync* {
for (int i = from; i < to; ++i) {
yield i;
}
}
import 'package:bloc/bloc.dart';
import 'package:tps_mobile_combined_maximo_app/data/model/user_state/member_user_state.dart';
import 'package:tps_mobile_combined_maximo_app/data/repositories/local_storage.dart';
import 'package:tps_mobile_combined_maximo_app/global/bloc/export.dart';
class GlobalBloc extends Bloc<GlobalEvent, GlobalState> {
@override
GlobalState get initialState => GlobalStateUnauthenticated();
@override
import 'package:meta/meta.dart';
import 'package:tps_mobile_combined_maximo_app/global/bloc/export.dart';
@immutable
abstract class GlobalState {}
class GlobalMessageState extends GlobalState{
final GlobalMessage message;
GlobalMessageState(this.message);
import 'package:bloc/bloc.dart';
import 'package:tps_mobile_combined_maximo_app/claims/create_clame/bloc/export.dart';
import 'package:tps_mobile_combined_maximo_app/data/model/claims/claim_co.dart';
import 'package:tps_mobile_combined_maximo_app/data/repositories/local_storage.dart';
import 'package:tps_mobile_combined_maximo_app/global/bloc/export.dart';
class CreateClaimBloc extends Bloc<CreateClaimEvent, CreateClaimState> {
final GlobalBloc globalBloc;
CreateClaimBloc(this.globalBloc);
@ruan65
ruan65 / app.dart
Created April 17, 2019 22:54
Find circle road in list of roads if exists (there may be 1 or 0 occurrence of circle road)
import 'package:simple_playground/algo/find_circle_road.dart';
void main() {
print(findCircularRoad(input1));
print(findCircularRoad(input2));
print(findCircularRoad(input3));
print(findCircularRoad(input4));
}