タグ

ブックマーク / koic.hatenablog.com (7)

  • GemfileでのRubyバージョン指定を.ruby-versionから読む - koicの日記

    Gemfile での Ruby バージョンの指定を、値の直書きではなく .ruby-version からの読み込みに変更する設定です。 https://github.com/rubygems/rubygems/pull/6876 例えば、Rails アプリケーションなんかで Gemfile に .ruby-version と同じ 3.3.0 を指定しているようであれば、以下のように記述できます。 -ruby '3.3.0' +ruby file: '.ruby-version' asdf に類するものを使っているようであれば、ruby file: '.tool-versions' と記します。 https://github.com/rubygems/rubygems/pull/6898 この設定によって Ruby のアップデート時のバージョンの更新ポイントを減らすことができます。 なお、古

    GemfileでのRubyバージョン指定を.ruby-versionから読む - koicの日記
    hachi
    hachi 2024/01/11
  • RuboCopにLSPを標準搭載した - koicの日記

    タイトルのとおり。RuboCop 1.53 で LSP (言語サーバー) を標準搭載しました。 最初に3行まとめを書いておきます。 RuboCop を使っているけれど LSP を使っていない場合は、高速なリアルタイム性で開発体験が変わると思います。速い! VS Code ユーザーを使っている方は、後述する vscode-rubocop という VS Code 拡張をインストールすれば OK です。 Emacs や Vi などのユーザーは、LSP クライアントの設定で rubocop --lsp を起動するように LSP 設定してください (VS Code では不要) 。 公式の使い方としては以下のドキュメントを更新していくことになるものの、実装者が自分なのでこちらに軽く書き記します。 docs.rubocop.org rubocop --lsp コマンドは直接ユーザーが手動実行するものでは

    RuboCopにLSPを標準搭載した - koicの日記
    hachi
    hachi 2023/06/26
  • Lint Night #1 に登壇します - koicの日記

    Lint Night #1 に登壇します。 lintnight.connpass.com Lint というテーマに絞っているイベントであることに加えて、そもそも Lint とは何かなどといった話は Kuniwak さん が話されるということで、今回の話はマニア指向で作るつもりです。なので、エンドユーザーが聞いて明日からのお仕事の役に立つかどうかはあまり気にしない方向の話になると思います (が、RuboCop がどういった世界観のプロダクトなのか、より理解が深まると思います) 。 内容としては DeNA Tech さんでアナウンスしていただいている、以下のような方向で進めています (スライドは鋭意作成中) 。 Rubyプロジェクトでよく使われているRuboCop。 どういう仕組みで動いているか気になったことはありませんか? さて、このRuboCopについてcore teamメンバーの @k

    Lint Night #1 に登壇します - koicの日記
    hachi
    hachi 2022/11/09
  • RubyKaigi 2022 に登壇します - koicの日記

    RubyKaigi 2022 に『Make RuboCop super fast』というタイトルで登壇します。 私の登壇は2日目である 2022年9月9日(金) の 11:30-12:00 です (昨年と同じ日時だった) 。 rubykaigi.org 最近 RuboCop に追加した server mode の話です。server mode 導入のはじまりの PR は以下。 github.com server mode の導入に至った課題点とその解決の仕組み。現状での弱点や今後の展望といった利用者として知っておくと良さそうな話なんかも含めて話す予定です。server mode は絶賛開発途上でもあるので、割りと鮮度高めの話になるのではと思っています。 また、今年の RubyKaigi には勤務先の永和システムマネジメントから同僚の @ima1zumi と @fugakkbn も登壇します

    RubyKaigi 2022 に登壇します - koicの日記
    hachi
    hachi 2022/08/03
  • Ruby 3.1の構文アップデート - koicの日記

    この記事は「ESM Advent Calendar 2021」の1日目の記事です。 adventar.org RuboCop のバックエンドでは、Ruby を解析して AST (抽象構文木) の Ruby オブジェクトとして扱えるようにする Parser gem を使っています。Parser gem のメンテナンスは、Ruby の parse.y に入った構文のアップデートを元に行っています。エントリでは parse.y の観察を元にして、クリスマスのリリース予定までカウントダウンとなっている Ruby 3.1 構文のアップデート (2021年12月1日時点) をまとめてみます。 新構文 Hash リテラルの値省略の構文が追加される 匿名ブロック移譲の構文が追加される パターンマッチに pin オペレーターが追加される 既存構文の拡張 endless メソッド定義の体メソッド呼び出しの

    Ruby 3.1の構文アップデート - koicの日記
    hachi
    hachi 2021/12/01
  • 銀座Rails#39に登壇した - koicの日記

    銀座Rails#39に登壇した。 主催者の morimorihoge さんからは、3年目あたりを経ったエンジニアに響くような話を題材にというオファーで頂いていた。 11/19の銀座Rails#39 @koic さん登壇テーマは僕が聞きたくてお願いしました。銀座Railsが始まったころに新人エンジニアだった人が、働き始めて3年経った今刺さるような内容になってくれればと思います #ginzarails :銀座Rails#39に登壇します https://t.co/sJUwAgj4Ec— Masato Mori (@morimorihoge) 2021年10月29日 "3年経った" がひとつのキーワードになるものの、参加者にはベテランもいるわけで「3年目をひとつの節目に、3年目以降いつなんどき遭遇するかもしれないポイント」みたいな形で話を構成してみた。当日のスライドは以下。 静的サイトジェネレー

    銀座Rails#39に登壇した - koicの日記
    hachi
    hachi 2021/11/25
  • `Layout/LineLength` のデフォルトを 120 にした - koicの日記

    RuboCopLineLength のデフォルトが 80 ではつらいという声はずっと聞いていて、そもそも RuboCop にパッチを送り始めた頃は、いつかこの変更をするのが目標のひとつだった。 今回 3年半越しに実現することができた。現在の最新版の RuboCop 0.84.0 に適用済み。 github.com OSS で年月をかけた粘り強い振る舞いは kamipo さんから学んだことで、RangeError にまつわる rails/rails#30000 もそこに到るまでを含めてコントリビュータ時代から何年か掛けていると聞いている。 RuboCop リポジトリ自体の方では、その後にコアメンバーからエディタを縦分割した際に 120 だと厳しいという声があり、RuboCop リポジトリ自体の設定は 100 になったというエピソードがある (デフォルトの設定は 120 で維持されていま

    `Layout/LineLength` のデフォルトを 120 にした - koicの日記
    hachi
    hachi 2020/06/01
  • 1