Skip to content

Instantly share code, notes, and snippets.

@nidate
nidate / gitmemo.md
Last active August 29, 2015 14:07
gitattributes

Gitの属性

gruntやgulpなどで結合やminifyしたJavaScriptファイルがレポジトリに入っていると、git diffを見るとき邪魔になる。

.gitattributesで-diffを指定して、そのファイルをバイナリ扱いにしてしまうとすっきりする。

app/assets/javascripts/compiled_files.min.js -diff
@nidate
nidate / carousel.css.scss
Last active August 29, 2015 14:05
Move bootstrap carousel controll arrow outside the contents.
@nidate
nidate / domattributes.js
Last active August 29, 2015 14:04
DOMの属性値をJavaScriptのオブジェクトにする
// DOM element's attributes to Object
// DOMの属性値は単なる配列ではない。
var attr = Array.prototype.slice.call(elem.attributes).reduce(function(obj,v) {
obj[v.name] = v.value;
return obj;
}, {});
// https://developer.mozilla.org/en-US/docs/Web/API/Node.attributes
// http://davidwalsh.name/javascript-attributes
// http://stackoverflow.com/questions/4215737/convert-array-to-object
@nidate
nidate / admin_controller_spec.rb
Created July 22, 2014 07:01
RailsのControllerの応答内容をテストする
require 'spec_helper'
describe AdminController do
describe "accessed by admin" do
# response.body で返る内容をテストするには render_views が必要
# https://www.relishapp.com/rspec/rspec-rails/docs/controller-specs/render-views
render_views
it "should show orders element" do
sign_in admin
get 'index'
@nidate
nidate / dateFormatFilter.js
Created July 21, 2014 09:47
Vue.jsに日付をフォーマットするフィルターを追加する。
var Vue = require('vue');
var moment = require('moment');
var momentja = require('moment/lang/ja'); // browserifyでライブラリを読み込ませるのに必要
Vue.filter('dateFormat', function(value, format) {
moment.lang('ja');
return moment(value).format(format);
});
@nidate
nidate / jqmap.js
Last active August 29, 2015 14:03
ES5時代を迎え、そろそろjQueryにお別れする時
// ES5のArrayのmapメソッッド
// val()メソッドを持つオブジェクトの配列arrに対し、それぞれval()メソッドを実行して配列に入れる。
var result = arr.map(function(v) {
return v.val();
});
// この感覚でjQueryを使ってはいけない。
// http://api.jquery.com/map/
// まず引数が違う
@nidate
nidate / gulpfile.js
Last active August 29, 2015 14:02
gulp with browserify template
var gulp = require('gulp');
var browserify = require('browserify');
var stringify = require('stringify');
var source = require('vinyl-source-stream')
var mocha = require('gulp-mocha');
var gutil = require('gulp-util');
var clean = require('gulp-clean');
var path = require('path');
var connect = require('gulp-connect');
var exposify = require('exposify');
@nidate
nidate / hyphen-minus-dash
Last active August 29, 2015 13:57
全角ハイフン、マイナス、ダッシュ Unicodeの闇
0x30fc ー KATAKANA-HIRAGANA PROLONGED SOUND MARK 長母音
0x2212 − MINUS SIGN 全角マイナス
0xff0d - FULLWIDTH HYPHEN-MINUS Windowsの全角マイナス
0x2010 ‐ HYPHEN
0x2011 ‑ NON-BREAKING HYPHEN
0x0212 ‒ FIGURE DASH
0x2013 – EN DASH
0x2014 — EM DASH
0x2015 ― HORIZONTAL BAR
@nidate
nidate / moment_add.js
Created March 7, 2014 06:52
moment.jsのインスタンスに対するメソッド呼び出しは破壊的なのに注意。
var moment = require('moment'); //http://momentjs.com/
var day1 = moment();
day1.format();
//'2014-03-07T15:41:11+09:00'
// momentのインスタンスに対するメソッド呼び出しは破壊的なのに注意。
// http://momentjs.com/docs/#/manipulating/
var day2 = day1.add('days', 1);
day2.format();
@nidate
nidate / mock_example_spec.rb
Created January 8, 2014 08:09
Mockオブジェクトへのメソッド呼び出しに、適切な引数が与えられているかのテストコード。 hash_including() を使う。ぐぐっても全然出て来ない。 READMEでは、引数が完全一致する条件しか書かれていないのだけれど、いろいろなメソッドが用意されている。 https://github.com/rspec/rspec-mocks/blob/master/lib/rspec/mocks/argument_matchers.rb
describe "orders" do
it "should pass security_code argument to payment api on saving" do
payment.should_receive(:exec_tran).with(hash_including(:security_code))
order.save
end
end