Tbpgr Blog

Employee Experience Engineer tbpgr(てぃーびー) のブログ

Ruby

Rubyのコードの臭い検出ツールReekをAtomで利用する

Rubyの静的解析ツールReekのAtom Packageについてまとめます

Ruby プロジェクト の Circle CI テスト+バッジ+rubocopの設定例

このメモは自分が参照するための個人メモです。 新規性は全くないので、特に参照する価値はありません。

好きな言葉を引用スター

概要 以下のRubyのプログラムで生成したランダムな文字列から好きな言葉を引用してみてください。 print (('あ'..'ん').to_a * 50).shuffle.each_slice(40).map(&:join).join("\n") 引用スターについては下記の公式Helpを参照 はてなスターのヘルプ - お問い…

rebuild.fm で話題になったBitBarでanyenvでインストールしたRubyを利用する

BitBarでanyenvでインストールしたRubyを利用してみます。

anyenvでrbenvとcrenvをインストールして、RubyとCrystalの二刀流環境を構築する

プログラム言語の複数バージョンを管理するツールとして xxenv 系のツールがあります。 例えば、 Ruby 向けの rbenv など。 この env 系のツールを一括管理してくれるのが anyenv です。 github.com

Sublime TextのSnippetをDashの自作ツール向けのSnippet設定ファイルに変換する

あらすじ DashのSnippetをCLIで管理するツールを作りました。 tbpgr.hatenablog.com tbpgr.hatenablog.com tbpgr.hatenablog.com 次のステップとして、既存のSnippetをDash向けに移行しようと思います。 今回は一例としてSublime TextのSnippetをDashのSnipp…

DashのSnippetをTOMLファイルで管理してrakeのコマンドで一括更新できるツールにdump機能を追加した

あらすじ DashのSnippetですが、Dash Guideやネットにある情報を見る限り DashのGUIから登録する方法しか提供されていないようです。 DashはSnippetのデータをSQLiteで管理しています。 そこで、このデータ構造を把握し中身を直接操作することで Snippetの情…

DashのSnippetをTOMLファイルで管理してrakeのコマンドで一括更新できるツールを作った

あらすじ DashのSnippetですが、Dash Guideやネットにある情報を見る限り DashのGUIから登録する方法しか提供されていないようです。 DashはSnippetのデータをSQLiteで管理しています。 そこで、このデータ構造を把握し中身を直接操作することで Snippetの情…

GitHubのIssueテンプレートを生成する isstempl gem を作った

GitHubのIssueテンプレートを生成する isstempl gem を作りました。

Fix typoでRubyのChangeLogに名前が残った

Fix typoでRubyのChangeLogに名前が残った。地味な成果だけど嬉しい。

てぃーびーの Ruby 練習帳 | 特定の月の特定の曜日の日付配列を取得し、特定のフォーマットで出力する

特定の月の特定の曜日の日付配列を取得します

Ruby + Web APIに関わる情報のリンク集

Ruby + Web APIに関わる情報をまとめます。 Microservicesの需要が高まる昨今、Web APIの導入に対する需要も当然高まっていると思います。 導入企業の情報を見るとRubyを活用しているところが多いように感じます。 そこで、Ruby+Web APIに関わる情報を調べて…

てぃーびーの Ruby 練習帳 | 文字列の連結(不変、破壊的)

概要 文字列の連結

Visual Studio Code で Ruby を書いてみた #ruby

概要 Visual Studio Code で Ruby を書いてみました

てぃーびーの Ruby 練習帳 | テンプレートを元にテキストを生成する

概要 テンプレートを元にテキストを生成する

てぃーびーの Ruby 練習帳

概要 てぃーびーの Ruby 練習帳

てぃーびーの Ruby 練習帳 | 連番を含む文字列を生成する

概要 連番を含む文字列を生成する

CUI ツールにも人間への配慮を。人間にとって読みやすい出力フォーマットのオプションを用意する

概要 CUI ツールは 手軽さ、自動化との相性 などのコンテキストで語られる事が多いですが、 人間が利用する際の可読性が必要となるケースもあります。 今回は、 レコードと列からなる大量のデータを扱う場合 を想定し、 表形式のフォーマット出力について扱…

Happy 22th Birthday, Ruby! #rubybirthday

概要 Ruby の 22 歳の誕生日を祝います

Ruby | String | chomp!

概要 String#chomp!(rs = $/) -> self | nil 詳細 String#chomp の破壊的メソッド。破壊的であること以外は、 chomp と同じ http://docs.ruby-lang.org/ja/2.1.0/method/String/i/chomp.html サンプルコード hoge1 = "hoge\n" hoge2 = "hoge\r\n" hoge3 = "h…

Ruby | String | chomp

概要 String#chomp(rs = $/) -> String 詳細 self の末尾から rs で指定する改行コードを取り除いた文字列を生成して返す。 ただし、rs が "\n" ($/ のデフォルト値) のときは、 実行環境によらず "\r", "\r\n", "\n" のすべてを改行コードとみなして取り除…

Ruby | String | chars

概要 String#chars -> [String] String#chars {|cstr| block } -> self 詳細 文字列の各文字を文字列の配列で返す。 サンプルコード require 'tbpgr_utils' bulk_puts_eval binding, <<-EOS 'hoge'.chars 'hoge'.each_char.to_a EOS __END__ 下記はTbpgrUtil…

Ruby | String | center

概要 String#center(width, padding = ' ') -> String 詳細 長さ width の文字列に self を中央寄せした文字列を返す。 サンプルコード require 'tbpgr_utils' bulk_puts_eval binding, <<-EOS 'hoge'.center(8) 'hoge'.center(8, '!') 'hoge'.center(8, '+-…

Ruby | String | casecmp

概要 String#casecmp(other) -> Integer | nil 詳細 String# と同様の比較をするが, 大文字小文字を無視する。 サンプルコード require 'tbpgr_utils' bulk_puts_eval binding, <<-EOS 'b'<=>'A' 'b'<=>'a' 'b'<=>'B' 'b'<=>'b' 'b'<=>'C' 'b'<=>'c' 'b'.cas…

Ruby | String | capitalize!

概要 String#capitalize! -> self | nil 詳細 文字列先頭の文字を大文字に、残りを小文字に変更。 アルファベット以外の文字はそのまま サンプルコード require 'tbpgr_utils' bulk_puts_eval binding, <<-EOS hoge = 'hoge' hoge.capitalize hoge hoge = 'h…

Ruby | String | capitalize

概要 String#capitalize -> String 詳細 文字列先頭の文字を大文字に、残りを小文字に変更した文字列を返却 アルファベット以外はそのまま。 サンプルコード require 'tbpgr_utils' bulk_puts_eval binding, <<-EOS 'hoge'.capitalize 'hoge_hige'.capitaliz…

Ruby | String | byteslice

概要 String#byteslice(nth) -> String | nil String#byteslice(nth, len) -> String | nil String#byteslice(range) -> String | nil 詳細 byte 単位での文字列切り出しを行う。byteslice(nth) で任意の 1 byte byteslice(nth, len) で任意の nth byte 目か…

Ruby | String | bytesize

概要 String#bytesize -> Integer 詳細 文字列のバイト長を整数で返却 サンプルコード require 'tbpgr_utils' bulk_puts_eval binding, <<-EOS "hoge".bytesize "ほげ".bytesize "hoげ".bytesize "hoげ".encoding "hoげ".encode("Shift_JIS").bytesize EOS _…

Ruby | String | bytes

概要 String#bytes -> [Integer] String#bytes {|byte| ... } -> self 詳細 文字列の各バイトを数値の配列で返却。(self.each_byte.to_a と同じです) ブロック版のインターフェースは obsolete (廃止) のため String#each_block を利用すること サンプルコ…

Ruby | String | each_byte

概要 String#each_byte {|byte| ... } -> self String#each_byte -> Enumerator 詳細 文字列の各バイトに対して繰り返す。 ブロックを省略すると、 Enumerator を返却 サンプルコード 'hoge'.each_byte { |e|print e, ',' } puts 'hoge'.each_byte { |e|prin…