Skip to content

Instantly share code, notes, and snippets.

View twada's full-sized avatar
💭
🦁

Takuto Wada twada

💭
🦁
View GitHub Profile
# -*- coding: utf-8 -*-
# Find japanese entry for each en.wikipedia.org link in TARGET_URL (quick & dirty hack)
# USAGE: ruby wikipedia_ja.rb TARGET_URL
require 'rubygems'
require 'nokogiri'
require 'open-uri'
def ja_url_for(url)
link_ja = Nokogiri::HTML(open(url)).css('li.interlanguage-link.interwiki-ja a').first
@twada
twada / empower.js
Created March 30, 2014 11:11
empower.js that throws new AssertionError, not throwing (coping with browserify-ed code under PhantomJS)
/**
* empower.js - Power Assert feature enhancer for assert function/object.
*
* https://github.com/twada/empower
*
* Copyright (c) 2013-2014 Takuto Wada
* Licensed under the MIT license.
* https://raw.github.com/twada/empower/master/MIT-LICENSE.txt
*
* A part of extend function is:
@twada
twada / empowerZombieBrowser.js
Last active August 29, 2015 14:03
zombie.js の browser.assert を power-assert 化する試み(試してはいない)
var empower = require('empower');
var formatter = require('power-assert-formatter');
module.exports = function empowerZombie (browser) {
empower(browser.assert, formatter(), {
destructive: true,
modifyMessageOnRethrow: true,
saveContextOnRethrow: true,
patterns: [
'browser.assert.redirected([message])',
@twada
twada / multi-stage-sourcemaps-strategy.md
Last active August 29, 2015 14:05
power-assert 多段 SourceMap 対応の方針

power-assert 多段 SourceMap 対応の方針

試験は twada/battlefield-sourcemaps で行っている

power-assert 出力行の補正

  • SourceMap 対応が入った espower 0.9.0 を使う
  • espower(ast, options) の第二引数 options に sourceMap というキーで上流の SourceMap オブジェクトを入れる
#
# usage: ruby this_script.rb | git am --3way
#
require 'net/imap'
require 'rubygems'
require 'activesupport'
id = 'your.gmail.id'
pass = 'your.gmail.pass'
;;;;;;;;;; functions
(defun funcall-replace-region (start end func)
"replace region with funcall result. region content(between start/end) is passed to func as string"
(let ((orig (buffer-substring start end)))
(save-excursion
(save-restriction
(narrow-to-region start end)
(delete-region start end)
(insert-string (funcall func orig))))))
require 'rubygems'
require 'nokogiri'
require 'open-uri'
require 'amazon/aws/search'
require 'erb'
hatena_template = <<-EOT
*** <%= book.item_attributes.title %>
ASIN:<%= book.asin %>:detail
# -*- coding: utf-8 -*-
require 'net/telnet'
module Filetter
class MozRepl
def self.run
begin
telnet = Net::Telnet.new("Port" => 4242) {|c| print c}
telnet.cmd("content.location.reload(true)")
require 'yaml'
require 'active_record'
class ActiveRecord::Migrator
class << self
TARGET_METHODS = %w[up down]
TARGET_METHODS.each do |name|
define_method("#{name}_with_database_dump") do |*args|
dump_current_database
/*
* (c) 2009 Takuto Wada; MIT License
* JavaScript 1.8 compliant Array#reduce that also works with old prototype.js
* usage: load this AFTER prototype.js
*/
(function () {
// prototype.js's Array#reduce is removed since 1.6.1_rc2
// see: http://github.com/sstephenson/prototype/commit/b34355653e1a663764fd8f69b4915f966c58cf55
if (typeof Prototype !== 'undefined' && /^1\.(?:[0-5]\.\S+|6\.(?:0(?:\.\d)?|1_rc1))$/.test(Prototype.Version)) {