読者です 読者をやめる 読者になる 読者になる

basyura's blog

あしたになったらほんきだす。

MacVim + Ruby 2.3

rbenv に乗り換えて ruby 2.3 を入れたまでは良かったけど vim から見える ruby がシステムデフォルトの 2.0 になってた。rvm を使っていたときは DYNAMIC_RUBY_DLL か rubydll で libruby.*.dylib を指定していたように思うけど設定ファイルを消失してしま…

redmine の wiki が更新された時に diff も飛ばしたい

メールのテンプレートをいじればいいはずなんだけど。 redmine/app/views/wiki/diff.html.erb <%= l(:mail_body_wiki_content_updated, :id => h(@wiki_content.page.pretty_title), :author => h(@wiki_content.author)) %> <%= @wiki_content.comments %> …

Ripper → S 式 → XML

Rubykaigi で何回か登場した Ruby プログラムのパーサである Ripper。 web を徘徊してみたけど使い方がよくわからないのでゴニョゴニョしてみた。 基本的なクラスをパース クラス定義 contents =<<-EOF class Hoge def say end end EOF Ripper で s 式に変え…

Bitnami の Redmine で thin のインスタンスを増やす

redmineThin3 を追加する場合の手順メモ サービスを登録 C:/Bitnami/redmine-2.5.0-0/apps/redmine/scripts/serviceinstall.bat redmineThin1 を参考にして管理者権限で実行 "C:\Bitnami\redmine-2.5.0-0/apps/redmine\scripts\winserv.exe" install "redmin…

redmine_wiki_index_tree_view に keyword filter を追加

Redmine の wiki index ページを tree view で表示する - redmine_wiki_index_tree_view - basyura's blog https://github.com/basyura/redmine_wiki_index_tree_view keyword に入力した内容でツリーを維持しながらフィルタできる機能を追加。 単純に onkey…

Redmine の wiki index ページを tree view で表示する - redmine_wiki_index_tree_view

書いてみた https://github.com/basyura/redmine_wiki_index_tree_view redmine デフォルトの表示。tree view 化して第一階層だけ開く (デフォルト)tree view 化して第二階層まで開く (js のコメントアウトをはずす)wiki page が増えてくるとどこに何がある…

redmine の期日にデフォルトを設定する - redmine_default_due_date

https://github.com/basyura/redmine_default_due_date期日にデフォルトで一週間後をセットするプラグインを作ったみた。view_issues_new_top の hook を使って実装。

redmine の hook が登録される流れ

チケットの誤爆登録 @basyura Redmine の設定で「フィールドに対する権限」を使って「説明」フィールドを入力必須にしておくと幸せになれますよ〜— SAKAGUCHI Takashi (@hamajyotan) April 14, 2014 @basyura 残念ながらそうなんですよね・・(´・ω・`)— SAKA…

redmine で親プロジェクトのリビジョンにリンクをはる

親プロジェクトでリポジトリの設定をしている場合に、子プロジェクトで r100 と書いてもリビジョンへのリンクが貼られない。残念。その場合、parent_project_id:r100 とものすごく冗長な記法が必要になる。つらい。次プロジェクトにリポジトリが無い場合は親…

Redmine のチケット一覧のヘッダに class を追加する

プラグインを作ってみた。 https://github.com/basyura/redmine_add_class_to_column チケットの一覧で名前の間に空白があると、空白で改行されて 2 行になっちゃって無駄に高さ取るよ ウワァァァァァァヽ(`Д´)ノァァァァァァン! となることしばしば。ソースを直接いじってた…

apache + rails をサブディレクトリで動かしたい

http://localhost:3000 じゃなくて、http://localhost/sample で動かしたい。httpd.conf <VirtualHost *:80> ProxyPass /sample http://localhost:3000/sample ProxyPassReverse /sample http://localhost:3000/sample </VirtualHost>config/environments/development.rb config.relative_url…

git-scouter

コミットの変更度を出してみる を gem 化してみた (rubygems.org にはあげてない)。 https://github.com/basyura/git-scouter 使い方今日の変更度を出力 $ git-scouter全てのコミットを出力 $ git-scouter -aユーザ指定で出力 (user を正規表現でマッチング…

git のログをパースしてゴニョゴニョしたいとき

Ruby で。 ENV['GIT_PAGER'] = '' IO.popen('git log') do |io| while line = io.gets puts line end end

HatebuRate - 自分でタイトルに重みを付けてはてブのタイトルを一覧表示する

はてブのタイトル一覧から自分が読みたい記事をリストアップする web サービスを作ってみた。ただし、利用者は自分だけ (ログイン機能とかなんもない)。Gnosy を使ってみてたのだけど自分にあった記事が見つかるかって言うと・・・? 開くと興味なくても興味…

Instapaper の simple API を叩く

Ruby から GitHub の API (v3) を叩くサンプルコード (Basic 認証) - ひだまりソケットは壊れない を パク 参考に。 require 'net/https' print 'username > ' USERNAME = STDIN.gets.chomp print 'password > ' PASSWORD = STDIN.gets.chomp print 'url > '…

Ruby on Rails 4入門

代表的なWebアプリケーションフレームワークであるRuby on Railsについて、その概念と使い方を説明していきます。 Ruby on Rails 4入門 (全28回) - プログラミングならドットインストール 入門して全28回やってきた。テンポよく進む。どんなものかとりあえず…

Bootstrap を試してみる

Sleek, intuitive, and powerful front-end framework for faster and easier web development. Bootstrap なんとなーく、カッコイイデザインができたらいいなぁと思いたって Bootstrap を調べてみる。 ついでになんとなく rails でやりたいなと思って http:…

tottoruby.org

tottoruby.org になりました。mediawikiですが。 #tottoruby— すずむら☆彡さん (@suzumura_ss) 2013年4月6日眠ったままになっていた tottoruby.org がようやく活動を始めました!ありがとうございます > suzumura_ss さん

vim の plugin を並列アップデート

某 neobundle にできて Ruby にできないわけ無いじゃない ヽ(`Д´)ノ てことで。僕は自作の Rakefile を叩いて最新化してます。 gitplugins フォルダに github にあるプラグインが沢山置いてあるとしてこんな感じ。 task :update_github do puts "" puts ">>>…

鳥取Ruby会【とっとるびー】 第11回

http://tweetvite.com/event/tottoruby_11 Ruby2.0 Enumerable#lazy @hamajyotanさん 退社 → オフィス ウーム 設立 → 法人化(予定) アグレッシブや。lazy を試そうと Ruby 2.0.0-rc1 を入れようとしたら長らく rvm を使っていなかったので使い方を忘れていた…

たのしい開発 スタートアップ Ruby

たのしい開発 スタートアップRuby作者: 大場寧子,大場光一郎,五十嵐邦明,櫻井達生出版社/メーカー: 技術評論社発売日: 2012/07/31メディア: 単行本(ソフトカバー)購入: 3人 クリック: 137回この商品を含むブログ (12件) を見る"ターゲットが難しい" という…

kindlizer-backend's generator for ruby-trunk-changes

日々更新される ruby-trunk-changes を kindle に配信して勉強するための kindlizer-backend 用ジェネレータ。僕は雰囲気しか読めませんけど・・・。 https://github.com/basyura/kindlizer-backend-generator-ruby-trunk-changes ruby-trunk-changes を RSS…

鳥取Ruby会【とっとるびー】第9回 に行ってきた

〜ソフトウエア技術者同士で雑談をしよう会〜 Rubyの名前を冠していますがRuby以外も扱います。 Ruby関連のふりをしてCとかHaskellだったりもします。 施設利用料金を徴収させて頂きます。200円くらいだと思います。 鳥取Ruby会【とっとるびー】第9回 前回…

るりまを引く wwwrefe.vim を書いてみた

https://github.com/basyura/wwwrefe.vim "るりま" こと、オブジェクト指向スクリプト言語 Ruby リファレンスマニュアル を vim から引いて表示するプラグインを書いてみた。車輪の再発明しまくりなのは認識済み。 理由 ri : 英語だし良く分からんし refe : …

Redmine のチケットの歴にコメントだけ表示するプラグインを作ってみた

Redmine がもうすぐ Ruby 1.9.3 に対応しますね。次のステップは Rails 3 系への対応ということで楽しみだ。ただ、動かなくなるプラグインがゴロゴロ出てくるんじゃないのかなぁという印象。ということで?チケットの歴にコメントだけ表示するプラグインを作…

def に対応する end に移動する(またその逆)の試作

:help searchpairpos searchpairpos({start}, {middle}, {end} [, {flags} [, {skip} [, {stopline} [, {timeout}]]]]) |searchpair()|と同様だが、マッチの行番号と桁番号からなるリスト |List|を返す。このリストの最初の要素は行番号で、次の要素はマッ …

textile も quickrun を使ってブラウザ確認

Textile is a lightweight markup language originally developed by Dean Allen and billed as a "humane Web text generator". Textile_ markup language としては markdown の方が有名かつ圧倒的な人気であると感じますが、textile もなかなかです。 redm…

Yokohama.rb 第15回 に行ってきた

Yokohama.rbは、横浜周辺のRuby技術者たちが集まってRubyに関する何かをする地域Rubyistコミュニティです。 Yokohama.rb 第15回 風邪と用事が重なって、気がつけば 3 ヶ月ぶり。 Ruby レシピブック読書会 private と protected を間違って覚えてた・・・。 p…

クラス名からメソッド一覧を取得する

Vimテクニックバイブル ?作業効率をカイゼンする150の技作者: Vimサポーターズ出版社/メーカー: 技術評論社発売日: 2011/09/23メディア: 単行本(ソフトカバー)購入: 19人 クリック: 661回この商品を含むブログ (37件) を見るneocomplcache のプラグインの…

rubytter で cursor を指定する

cursor=-1 または cursor=カーソル位置 (オプション) 指定した(データベースの)カーソル位置以降の friend の一覧を100人分取得する -1 を指定した場合、先頭からの100人分を取得する。 応答本体に next_cursor がある場合は、「次のページ」(のカーソル位置…

vim → ruby

let s:hash = {"key" : "value"} let s:array = ["a","b","c"] ruby << EOF v = VIM.evaluate('s:hash') a = VIM.evaluate('s:array') puts v["key"] //=> value puts a[0] //=> a EOF そのまま Hash と Array で扱えるのか。

rubytter.rb があまりにも便利なので rubytter.rb をラップした rubytter.vim を書いてみた

https://github.com/basyura/rubytter.vim タイムラインを取得したい場合 let tweets = rubytter#friends_timeline() for t in tweets echo t.user.screen_name . " : " . t.text endfor ↓のようにツイートを取得できる。 mono0x : ブログ書いた。 CTF問題解…

Cygwin で Ruby 1.9.2-p290 が入らないときー

win32ole あたりでエラーがでるときー LIBRARY_PATH を追加してみるー export LIBRARY_PATH=/usr/lib/w32api:$LD_LIBRARY_PATH libyaml がねーって怒られるときー yaml-0.1.4.tar.gz をダウンロードしてインストールしてみるーhttp://pyyaml.org/wiki/LibYAM…

最後の RubyKaigi

一日目 - ちょっとだけ貢献 闇RubyKaigi のタイマーを tkbjs で作りました。 RubyKaigi 前々日の 22 時にあった tkbjs で話が上がり、23 時頃から案を出し始める。ホントに大丈夫かよ、、、と心配になって前日の午前中にベースを作成して提示(昼から出張だっ…

unable to remap

windows7 + cygwin + rvm の組み合わせにしてから出始めた unable to remap 446892 [main] ruby 9992 fork: child 8044 - died waiting for dll loading, errno 11 4511203 [main] ruby 10036 C:\cygwin\home\Administrator\.rvm\rubies\ruby-1.9.2-p180\bin…

日付・時刻の計算

ある時刻に加減を行う際の計算方法と、2つの時間の差を分で表したい時の計算方法がパッと出なかった・・・。ホントは VisualuRuby でササッと計算アプリを作りたかったのに。 結局 javascript で Date オブジェクトを作って Date#getTime の差を計算したう…

コードポイントなにがし

Unicode のコードポイントを指定して文字を得たり、逆にある文字のコードポイントを調べたり、ということをする機会は結構多いと思います。 が、Ruby でそれをやる方法をぐぐってもあまり上位に情報が出てこないなー、と思ったので簡単にまとめておきます。 …

鳥取Ruby会【とっとるびー】第5回

〜ソフトウエア技術者同士で雑談をしよう会〜 Rubyの名前を冠していますがRuby以外も扱います。 Ruby関連のふりをしてCとかLispだったりもします。 鳥取Ruby会【とっとるびー】第5回 前回は地震の影響で行けなかったので半年ぶり。緑が多くて空気ものんびり…

Yokohama.rb 第9回に参加してきました

Yokohama.rbは、横浜周辺のRuby技術者たちが集まってRubyに関する何かをする地域Rubyistコミュニティです。 Yokohama.rb 第9回 チーズホンデュの第6回以来だから3ヶ月ぶりの参加、といっても3回目。今回は(も?)新しい方が沢山参加されてた。TokyoBoulde…

unite-rails.vim

https://github.com/basyura/unite-rails (unite-history をパク参考にしました) 前々から作りたいと思いつつ、いい案が浮かばないまま放置していたけど作り始めてみる。 動作は至って普通の unite で、カレントディレクトリが rails プロジェクト内であれば…

Ruby Gold に合格した!!!

Ruby Association Certified Ruby Programmer Gold: Silverで求められる範囲(文法、オブジェクト指向、組み込みライブラリ、実行環境など)を更に掘り下げた知識に標準添付ライブラリ知識やアプリケーション設計に必要となるクラスやオブジェクトに関する…

Module#remove_const

スーパークラスが異なるクラスを定義すると TypeError になる。 class A < Hash ; end class A < Array ; end #=> superclass mismatch for class A (TypeError) そこで Module#remove_const remove_const(name) -> object name で指定した定数を取り除き、…

動的に module を定義

new(superclass = Object) -> Class new(superclass = Object) {|klass| ... } -> Class 新しく名前の付いていない superclass のサブクラスを生成します。 名前のないクラスは、最初に名前を求める際に代入されている定数名を検索し、見つかった定数名をク…

public_send

1.9 から追加された Kernel#public_send send と違って private メソッドを呼び出せない。 class A def say hello end private def hello puts 'hello' end end A.new.send :say #=> hello A.new.send :hello #=> hello A.new.public_send :say #=> hello A.…

Object、オブジェクト、Class、クラス、スーパークラス、インスタンス

メタプログラミングRuby作者: Paolo Perrotta,角征典出版社/メーカー: アスキー・メディアワークス発売日: 2010/08/28メディア: 大型本購入: 14人 クリック: 488回この商品を含むブログ (111件) を見る読み直し三回目なんだけど、 Object、オブジェクト、Cla…

Yokohama.rb 第5回 に参加してきました

会場が割と近いこともあり、初参加。 一番後ろに座ったつもりが前だったという #yokohamarb2011-02-12 17:22:20 via TwitVimペーペーは一番後ろからだろと思ったのにハプニング。Yokohama.rb の内容は http://togetter.com/li/100087 で雰囲気は伝わると思う…

Ruby7不思議 - 特異クラス・特異メソッド・クラスメソッド

整理中。 「特異」って言葉に慣れてないので想像しにくいのだけど、 1 特別に他とちがっていること。また、そのさま。「彼はこの会社では―な存在だ」 2 特にすぐれていること。また、そのさま。「―な才能の持ち主」 特異 マニュアルにある言葉をひっぱって…

タグを削除

自分で書かなくても rails の helper を使えば良かった。 require 'action_view' include ActionView::Helpers::SanitizeHelper puts strip_tags('<span>hello world</span>')

REST をキメるときもちイイ

url と method (GET , POST , PUT , DELETE) で action (index , create , new ,edit , show , update , destroy) がキマる。 非常に綺麗で気持ちがいい。 config/routes Project モデルを定義済みだとして、呼び出し可能なルートを定義する。 resources :pr…

a unite.vim plugin for hiki

hiki 用の unite.vim plugin https://github.com/basyura/unite-hiki Hiki は Ruby で書かれた高機能・高速 Wiki クローンです。 Hiki rails3 の勉強を始める → hiki に tips をまとめる → ブラウザから編集するのがめんどくさくなる → vim でできないかな?…