3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Rails】Rubocop実行時の「Use hash rockets syntax」を回避する方法

Posted at

「Use hash rockets syntax」が大量に出てしまう事態

Rubocopを導入し、ターミナルで「rubocop」を実行すると下記のように
**「Use hash rockets syntax」**の指摘が大量に出てきてしまいました。

ググってもあまり記事は出てきませんでしたが、
「hash rockets syntax」は下記の記事でも書いている通り、
Rubyのハッシュの記法まとめ

user = { :first_name => "Yusuke", :last_name => "Higaki" }

⇒こういった、**「key => value 」**の形式のハッシュのことです。

Rubocop実行時に出てしまった指摘

$ rubocop
Inspecting 87 files
....CCCCC.CC....CC.CC..........C.CC.CCCCCC.C...C..CC......C.....C.C.........CCCCC.CCCCC

Offenses:
app/controllers/communities_controller.rb:3:40: C: Style/HashSyntax: Use hash rockets syntax.
    before_action :validate_community, only: %i[edit update destroy]
                                       ^^^^^
app/controllers/communities_controller.rb:15:39: C: Style/HashSyntax: Use hash rockets syntax.
       @belongings = Belonging.where(community_id: @community.id)
                                      ^^^^^^^^^^^^^
app/controllers/communities_controller.rb:21:31: C: Style/HashSyntax: Use hash rockets syntax.
       @posts = @posts.where(community_id: @community.id)
                              ^^^^^^^^^^^^^
app/controllers/communities_controller.rb:24:44: C: Style/HashSyntax: Use hash rockets syntax.
       @belonging = Belonging.find_by(community_id: @community.id, user_id: current_user.id)

(以下略)

結論、下記を.rubocop.ymlに追記したら、このタイプの指摘は出なくなりました。

.rubocop.yml
HashSyntax:
  EnforcedStyle: ruby19

⇒これは、**「ハッシュの記法はロケット記法ではなくruby1.9のハッシュ記法を使いますよ」**ということを表します。

**「ruby1.9のハッシュ記法」とは、
今回のrubocop実行時に指摘があった箇所に記載されているように、
ロケット記法を使わず、
「key: value」**の形でハッシュを記載する形式のことです。

そもそもruby1.9のハッシュ記法で初めから指摘を受けてないような、もっと根本的な解決策があるかもしれません。
ご存知の方は、是非ご教示いただけますと幸いです。

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?