スレッドセーフでない Dir.chdir の使用を RuboCop で禁止する

週刊Railsウォッチ(20200225前編)RubyのShellwordsライブラリは知っておくべき、VCRはやはり有能、copを自作、Hix on Rails記事ほか|TechRacho(テックラッチョ)〜エンジニアの「?」を「!」に〜|BPS株式会社 RuboCopでコードレビュー支援: Net::HTTPを使わせないcop(Hacklines より) ...

2020-02-25 (火) · masutaka

Heroku 上での bundler version の決められ方

Ruby apps will now have the BUNDLED WITH declaration in their Gemfile.lock removed after detecting Bundler version|Heroku Dev Center このアナウンスがあったので、調べてツイートした。ブログにも貼っておく。 Gemfile.lock の `BUNDLED WITH` には問題があるから、Heroku では bundler version の決定(v1 or v2)に使った後、`BUNDLED WITH` は削除してからデプロイするよとのこと。 / “Ruby apps will now have the `BUNDLED WITH` declaration in their `Gemfile.lock` removed…” https://t.co/TYWg2dSpiK ...

2019-12-17 (火) · masutaka

Ruby でライブラリがシステムに存在しているかどうかをチェックする

require 'mkmf' have_library('pq') checking for main() in -lpq... yes => true mkmf.rb を読んだところ、C++ のコードを生成してチェックしていた。 Kernel.have_library のコードはこちら。 カレントディレクトリに mkmf.log が作られるが、これを防止するには 以下で良いみたいだ。 ...

2018-07-31 (火) · masutaka

Ruby で FTPS 接続する方法

まずは情報の整理から。 種類 暗号化なし 暗号化あり HTTP HTTP HTTPS FTP FTP FTPS 混乱しやすいが、SFTP は SSH を使って暗号化・認証を行うプロトコルで FTPS とは別。 HTTP のセキュア版が HTTPS FTP のセキュア版が FTPS と覚えると良いだろう。 ...

2018-05-26 (土) · masutaka

github-nippou v3.0.0 released

v3.0.0 から出力フォーマットをカスタマイズ出来るようになりました。 @ryz310 に大感謝です! リリースノートは以下をどうぞ。 https://github.com/masutaka/github-nippou/releases/tag/v3.0.0 新しいサブコマンド init を実行すると、デフォルト設定 から新しい Gist を作り、その後はその設定が参照されます。 ...

2017-08-07 (月) · masutaka

GitHub Organization をメンテナンスするスクリプトを作った

成り行きで会社の GitHub Organization の管理者業をしています。 Organization 配下のリポジトリやユーザが増えてきて、気にかけるのが 大変になってきたので、メンテナンス用の Ruby スクリプトを作りました。 ...

2017-05-28 (日) · masutaka

任意の Ruby オブジェクトを YAML として書く

実際使うことはないだろうがメモ。 hoge: !ruby/object:ActiveSupport::Duration value: 7776000 parts: - - :months - 3 結果 hoge を取り出すと、ActiveSupport::Duration としての 3 months が 格納されている。 ...

2016-12-19 (月) · masutaka

Ruby の $ERROR_INFO などの特殊変数は require 'English' が必要だったのか

先日会社の tech channel で話題になったのでメモ。Rubiest の方々にとっ ては常識なんですかね…? $ ruby -v ruby 2.3.3p222 (2016-11-21 revision 56859) [x86_64-darwin15] $ ruby -e 'raise "aaa" rescue p $!' #<RuntimeError: aaa> $ ruby -e 'raise "aaa" rescue p $ERROR_INFO' nil $ ruby -r English -e 'raise "aaa" rescue p $ERROR_INFO' #<RuntimeError: aaa> Ruby はグローバル変数の初期値が nil なのがたちが悪い。個人的にはも う $ERROR_INFO とかは使わないと思う。 ...

2016-12-19 (月) · masutaka

bundle install で Your Gemfile.lock is corrupt. と怒られる件

個人のいくつかのリポジトリで bundle install できないことがあり、困っ ていました。 $ bundle install Fetching gem metadata from https://rubygems.org/............ Fetching version metadata from https://rubygems.org/. Resolving dependencies... Using rake 11.3.0 Using concurrent-ruby 1.0.2 Using i18n 0.7.0 Using thread_safe 0.3.5 Using net-ssh 3.2.0 Installing minitest 5.10.1 Your Gemfile.lock is corrupt. The following gem is missing from the DEPENDENCIES section: 'ffi' 出るリポジトリと出ないリポジトリがあるんだよね...。bundler を 1.10.6 まで下げると再現しなくなるが、別の問題も出たりするのである意味詰む https://t.co/EbIQ36g1HY ...

2016-12-10 (土) · masutaka

compare_linker v1.3.0 をリリースした

compare_linker | RubyGems.org | your community gem host 仕事やプライベートで、毎週自動 bundle update していますが、Gem に よっては GitHub の compare Link を作れませんでした。 人間が手動でリンクを作ってコメントするのが無駄な作業で、なんだか申 し訳なかったので修正してみました。これで GitHub に Git のタグがな い Gem 以外は救えるようになったはず。 ...

2016-10-09 (日) · masutaka