Skip to content

Instantly share code, notes, and snippets.

View TsubasaKawajiri's full-sized avatar
:atom:
🚀

Tsubasa Kawajiri TsubasaKawajiri

:atom:
🚀
View GitHub Profile
@TsubasaKawajiri
TsubasaKawajiri / branch_protection.rb
Last active February 14, 2023 13:31
generate pattern for multiple branch branch protection
['master','develop','preview'].map{|v| v.split('') }.map {|v| [v, v.length]}.sort_by {|v| v.last }.tap {|v| v.each {|y| y[y.length] = v.first.last; }}.map {|v| Array.new(v.last){|idx| v.first[idx] }}.transpose.to_s.split('').drop(1).reverse.drop(1).join.gsub('"', '').gsub(',', '').gsub(' ', '').prepend('*').reverse
# => "[mdp][aer][sve][tev][eli][roe]*"
# ===== Usage =====
# def hoge
# "called"
# "hoge"
# end
#
# hash = Hash.new
# hash[:hoge] = hoge()
# called
# => "hoge"
# frozen_string_literal: true
require "active_record"
require "active_model"
class Shrine
module Plugins
module FormObject
def self.load_dependencies(uploader, **)
uploader.plugin :model
uploader.plugin :activerecord
FROM ruby:[RUBY_VERSION]-alpine[ALPINE_VERSION] AS builder
RUN apk update && \
apk add --no-cache tzdata curl-dev g++ make git nodejs yarn mariadb-dev[if MYSQL]
WORKDIR /builder
COPY . /builder
COPY ./Gemfile ./Gemfile.lock ./package.json ./yarn.lock ./
@TsubasaKawajiri
TsubasaKawajiri / AbstractValidator.js
Last active August 12, 2020 11:45
JavaScript versatile Form Validator. inspired ActiveModelValidations
export default class AbstractValidator {
bind(){}
_validate(){}
backgroundValidate(){
this._resetError()
this._validate()
}
@TsubasaKawajiri
TsubasaKawajiri / twitter_userstyle
Last active June 2, 2020 01:14
twitterのめんどいやつをけすやつ
@-moz-document domain("twitter.com") {
.css-1dbjc4n.r-1uaug3w.r-1uhd6vh.r-t23y2h.r-1phboty.r-rs99b7.r-ku1wi2.r-1udh08x,
.css-1dbjc4n.r-aqfbo4.r-yfoy6g.r-1ila09b.r-rull8r.r-qklmqi.r-gtdqiz.r-ipm5af.r-1g40b8q + .css-1dbjc4n.r-yfoy6g.r-184en5c,
.css-1dbjc4n.r-aaos50.r-1or9b2r,
nav.css-1dbjc4n.r-1habvwh.r-eqz5dr > a[aria-label="Search and explore"],
nav.css-1dbjc4n.r-1habvwh.r-eqz5dr > a[aria-label="Bookmarks"],
nav.css-1dbjc4n.r-1habvwh.r-eqz5dr > a[aria-label="Lists"],
.css-1dbjc4n.r-jw8lkh.r-e7q0ms > a[aria-label="Tweet"],
.css-1dbjc4n > h2[role="heading"],
.css-1dbjc4n.r-1habvwh.r-18u37iz.r-1wtj0ep.r-1ny4l3l.r-1j3t67a.r-1w50u8q,
@TsubasaKawajiri
TsubasaKawajiri / tweets_without_rts.user.js
Last active January 9, 2020 15:38
add 'Tweets without RTs' link to anybodies profile.
// ==UserScript==
// @name Tweets without RT's
// @namespace http://tampermonkey.net/
// @version 0.1
// @description add 'Tweets without RTs' link to anybodies profile.
// @author Tsubasa Kawajiri
// @match https://twitter.com/*
// @grant none
// ==/UserScript==
@TsubasaKawajiri
TsubasaKawajiri / csv_creator.rb
Last active March 24, 2020 08:42
手軽な要件のcsvを手軽に生成する
class CSVCreator
class_attribute :directory
class_attribute :file_name
class_attribute :items
class_attribute :headers
class_attribute :options
class << self
def directory(directory)
self.directory = directory
@TsubasaKawajiri
TsubasaKawajiri / base_csv_loader.rb
Last active June 25, 2020 11:29
csvから読んだり呼んだりdbに書いたりする
class BaseCsvLoader
class_attribute :file_path
class << self
def file_path(path)
self.file_path = path
end
def load
CSV.read(file_path, headers: false, row_sep: "\n")