タグ

ブックマーク / pocke.hatenablog.com (8)

  • 正規表現でかんたんにCopを書けるRuboCop拡張 rubocop-grep をリリースしました - pockestrap

    こんにちは。正規表現でかんたんにCopを書けるRuboCop拡張を作ってみたので紹介します。 github.com 使い方 まず、ほかのRuboCop拡張と同様にgemをインストールし、.rubocop.ymlのrequireにこのgemを指定してください。 この拡張は設定をしないと何も動きません。次のように.rubocop.ymlに設定をします。 Grep/Grep: Rules: # シンプルな例。正規表現にマッチした場合に、このCopが警告をします。 - Pattern: '\bENV\b' Message: Do not refer ENV directly. # パターンはArrayにして複数の正規表現を含めることができます。 - Pattern: - 'binding\.irb' - 'binding\.pry' Message: 'Debug code remains' #

    正規表現でかんたんにCopを書けるRuboCop拡張 rubocop-grep をリリースしました - pockestrap
  • Rubyの外部コマンド実行入門について発表しました - pockestrap

    福岡Rubyist会議03で、「外部コマンド実行入門」というタイトルで発表をしました。 この記事では、登壇の背景や今後について書きたいと思います。 (福岡Rubyist会議に登壇しました(します) - pockestrap という記事で「この記事は登壇後に編集し、登壇報告記事になります。」と書いたのですが、この記事を直接編集してしまうとこの記事へのツイートとかが微妙な感じになってしまうなーと思ったので、新しく記事を書くことにしました。) 登壇資料 今回の発表では、スライドと「コマンドの選び方フローチャート」を使用しました。両方ともPDFで公開しています。 スライド フローチャート 補足など 発表時に話したりなかったことや、質疑応答で出てきたことなどを少し書きます。 openメソッドについて 質疑応答で、nagachikaさん1から「Kernel.#openメソッドでファイルを開こうとするこ

    Rubyの外部コマンド実行入門について発表しました - pockestrap
  • 福岡Rubyist会議に登壇しました(します) - pockestrap

    この記事は福岡Rubyist会議の登壇資料です。ひとまず資料の公開のために記事を公開します。 この記事は登壇後に編集し、登壇報告記事になります。(追記: と言っていたのですが、新しく記事を書くことにして公開しました。 Rubyの外部コマンド実行入門について発表しました - pockestrap) スライド スライド内で用いているフローチャート

    福岡Rubyist会議に登壇しました(します) - pockestrap
  • RBS基礎文法最速マスター - pockestrap

    RBSはRuby 3に組み込まれた、Rubyの型情報を記述する言語です。 この記事ではRBSの文法を駆け足で紹介します。 細かい話は飛ばしますが、この記事を読めば大体のケースでRBSを読み書きできるようになると思います。 事前準備 インストール まずは文法の前に、rbs gemをインストールしましょう。 Ruby 3を使っている場合、rbs gemRuby 3に同梱されているため何もしなくても使えます。 Ruby 3未満を使っている場合でも、gem install rbsすれば使うことができます。 この記事では、rbs gem v1.0.0を対象に構文を紹介します。 $ gem install rbs Successfully installed rbs-1.0.0 1 gem installed $ rbs --version rbs 1.0.0 動作確認 書いたRBSは、rbsコマン

    RBS基礎文法最速マスター - pockestrap
    sonota88
    sonota88 2021/01/02
  • RubyからRBSを生成する各方法の特徴 - pockestrap

    この記事はRuby 3.0 Advent Calendar 18日目の記事です。 qiita.com 昨日の記事は id:Pocke さんで「ruby/rbsに取り込まれた私のパッチ」でした。 pocke.hatenablog.com この記事ではRuby 3で導入される型定義ファイルであるRBSファイルを自動生成する方法について説明します。 既存のRubyコードに対するRBSを1から書いていくのは大変です。 そのためRBSを生成するプログラムがいくつか開発されており、Ruby 3にもTypeProf、rbs prototype rb、rbs prototype runtimeの3つが同梱されます。 ところがこれら3つの特徴を解説した情報は現時点ではあまりありません。私がrbs prototypeを主に開発していることもあり、今回それぞれの特徴を記事にまとめることにしました。 前提 前提知

    RubyからRBSを生成する各方法の特徴 - pockestrap
  • Rubyの日本語リファレンスマニュアルに、英語のページが現れるようになります - pockestrap

    こんにちは。ruremaメンバーの id:Pocke です。 Rubyの日語リファレンスマニュアルで、未翻訳の英語のドキュメントが公開されるようになりました。 この記事では、それについて簡単に解説します。 何が変わるのか 今までは、未訳のメソッドは日語リファレンスマニュアルには一切書かれていませんでした。 それが今回の変更によって、英語のリファレンスマニュアルと同じ文章が、そのまま日語リファレンスマニュアルにも書かれるようになります。 たとえば Ruby 2.7で追加されたModule#const_source_locationメソッドのドキュメントは未訳であるため、今までは日語リファレンスマニュアルにはドキュメントが存在しませんでした。 ところが今回からは次のようなドキュメントが日語リファレンスマニュアルにも存在するようになります。 https://docs.ruby-lang

    Rubyの日本語リファレンスマニュアルに、英語のページが現れるようになります - pockestrap
  • Roppongi.rb#10 で「Self-hosting Whitespace」というタイトルでLTをした - pockestrap

    タイトル通り、Roppongi.rb#10 でSelf-hosting WhitespaceというタイトルでLTをしました。ディープな話題ですが楽しんでもらえたようでよかったです。 roppongirb.connpass.com speakerdeck.com docs.google.com この記事では、発表の際に話せなかったことや、発表を見ていない方への補足を書きます。 なお、スライドを見る場合にはGoogle Slideのものをおすすめします。結構真面目に話す内容をメモ書きしています。 発表の要旨 まずは、前提知識としてセルフホスティングとWhitespaceについて解説をしました。 そして、その後にWhitespaceで書かれたWhitespaceのインタプリタの実装について解説をしました。 interp.ws · GitHub このインタプリタは、Whitespaceを手書きした

    Roppongi.rb#10 で「Self-hosting Whitespace」というタイトルでLTをした - pockestrap
  • OvtoにPureComponentを実装した - pockestrap

    github.com Ovtoとは github.com Rubyで書かれたフロントエンドのフレームワーク。 Hyperappをベースにしていて、VDOMを使っている。 https://magazine.rubyist.net/articles/0059/0059-Ovto.html とかを読むのが良いと思います。 PureComponentとは Reactとかにあるそれとだいたい同じで、コンポーネントに渡る引数が変わらない場合にrenderメソッドの呼び出しを省略できる。 たとえば次の例だと、Pure#renderはstate.fooが更新された時にだけ呼ばれるが、NotPure#renderはstate.fooが更新されてもstate.barが更新されても呼ばれる。 つまり、頻繁に更新されるstateがあるけどそれに依存していないコンポーネントがある場合、renderメソッドの呼び出し

    OvtoにPureComponentを実装した - pockestrap
  • 1