Skip to content

Instantly share code, notes, and snippets.

@furugomu
furugomu / .js
Created May 10, 2016 08:11
ミリオンライブ ひとこと送信しない
Array.from(document.links).filter((a)=>/^javascript:\s*GREE\.ui/.test(a.href)).forEach((a)=>a.href=decodeURIComponent(a.href.match(/'callback_url':'([^']+)/)[1]))
@furugomu
furugomu / test_helper.rb
Last active July 13, 2016 04:50
context for ActiveSupport::TestCase
class ActiveSupport::TestCase
# context 'foo' => class Context_foo < self
def self.context(name, &block)
class_name = "Context_#{name.gsub(/[[:^word:]]+/, '_')}".to_sym
const_set(class_name, Class.new(self, &block))
end
end
@furugomu
furugomu / local-storage-enhancer.ts
Created November 29, 2018 08:25
store の中身を localStorage に保存するやつ
import { StoreEnhancer } from "redux";
/**
* 最初に localStorage から取ってきて
* dispatch 毎に localStorage に保存する
* @usage
* createStore(reducer, localStorageEnhancer('unko'))
* createStore(reducer, compose(applyMiddleware(...), localStorageEnhancer('unko')))
*/
const enhancer = (key: string): StoreEnhancer => {
@furugomu
furugomu / useRedux.ts
Last active February 22, 2019 10:05
useRedux
import { useMemo, useState, useEffect, useDebugValue } from "react";
import { createStore, Reducer, Action, Dispatch, StoreEnhancer } from "redux";
const useRedux = <S, A extends Action<any>>(
reducer: Reducer<S, A>,
enhancer?: StoreEnhancer<S, A>
): [S, Dispatch<A>] => {
// store を一度だけ作る
const store = useMemo(() => createStore(reducer, enhancer), [reducer, enhancer]);
const [state, setState] = useState(store.getState());
@furugomu
furugomu / rbs.md
Last active February 29, 2024 08:03
rbs

RBS

インストール

bundle add rbs rbs_rails steep

こうなる