[RUBY] Présentation de # 2 git et rubocop pour créer une API de tableau d'affichage avec autorisation d'authentification dans Rails

Création d'une API de tableau d'affichage avec certification et autorisation dans Rails 6 # 1 Construction de l'environnement

Élever vers Github

De la suite de la dernière fois. J'ai atteint le point où cela fonctionne pour le moment, alors poussons-le vers Github.

Sélectionnez Nouveau référentiel.

Ensuite, créez-le avec un nom approprié. Si vous ne voulez pas que les autres voient le code source, accédez à Privé. S'il n'y a pas de problème, accédez à Public.

rep.png

Cloud9 inclut git par défaut, vous pouvez donc utiliser la commande git telle quelle.

$ git add -A
$ git commit -m 'initial commit'
$ git remote add origin https://github.com/{YOUR_ACCOUNT}/{YOUR_REPOSITORY}.git
$ git branch -M master
$ git push -u origin master

La partie YOUR_ de la commande ci-dessus est écrite dans le référentiel que vous venez de créer, veuillez donc vous y référer.

Créez une paire de clés et enregistrez la clé publique sur Github

Avec le support ci-dessus, il vous sera demandé votre ID utilisateur et votre mot de passe Github chaque fois que vous poussez.

$ ssh-keygen -t rsa

Créez une paire de clés en appuyant plusieurs fois sur la touche Entrée.

$ cat ~/.ssh/id_rsa.pub 

La chaîne de caractères affichée dans est la clé publique, donc copiez-la.

Allez sur Github et passez de votre icône en haut à droite à "Paramètres" -> "Clés SSH et GPG" -> "Nouvelle clé SSH". Donnez au titre un titre facile à comprendre, collez la clé publique dans la clé et enregistrez-la.

Cependant, vous devriez toujours être invité à indiquer votre chemin d'identification lorsque vous appuyez sur.

$ git remote set-url origin [email protected]:{YOUR_ACCOUNT}/{YOUR_REPOSITORY}.git

Si c'est le cas, c'est OK. Cela vous évitera d'être invité à indiquer votre chemin d'identification chaque fois que vous poussez ou tirez.

Référence: Procédure de connexion ssh avec GitHub ~ À partir de la génération de clé publique / clé privée ~

Supprimer le répertoire de test

Cette fois, nous implémenterons le test en utilisant RSpec, supprimez donc le répertoire de test pour minitest.

$ git rm -r test/

Insérer du rubocop

Tout d'abord, insérons rubocop qui effectuera une analyse statique. C'est parce que c'est une gemme qui vérifie la norme de codage, mais si vous la mettez plus tard, beaucoup de points qui enfreignent la norme de codage sortiront et vous ne pourrez pas le gérer.

Gemfile


...

+ gem 'rubocop-rails'

...

Installation


$ bundle

Créer un fichier de configuration rubocop

yml:.rubocop.yml


AllCops:
  Exclude:
    - bin/*
    - db/schema.rb

#Commentaire japonais autorisé
AsciiComments:
  Enabled: false
  
#Unifié à double devis
StringLiterals:
  EnforcedStyle: double_quotes

Placez-le dans le répertoire racine de votre application (/ home / ec2-user / environment / bbs). N'oubliez pas de mettre un point au début du nom du fichier.

rubocop Corriger la partie indiquée

$ rubocop -a

Une fois exécuté, il crache environ 40 erreurs, mais presque toutes devraient être les erreurs suivantes.

C: Style/FrozenStringLiteralComment: Missing frozen string literal comment.

c'est

Ajouter à la première ligne de chaque fichier Ruby


+ # frozen_string_literal: true
+

C'est acceptable. Cela signifie que dans Ruby, la chaîne de caractères est modifiable par défaut, mais cela peut causer des problèmes inattendus, c'est donc une bonne idée de la figer pour la rendre immuable. Dans Ruby3, il est décidé d'être immuable par défaut, donc si vous incluez cette description en préparation pour cela, la chaîne de caractères dans le fichier sera immuable.

C'est comme ça.

Si vous ne souhaitez pas ouvrir des dizaines de fichiers, modifiez et enregistrez ...

#Au début du Gemfile# frozen_string_literal:Ajouter vrai
$ sed -i '1s/^/# frozen_string_literal: true\n\n/' Gemfile

Vous pouvez ajouter au début du fichier en faisant comme. Si vous spécifiez comme db / *, vous pouvez également créer des lots de répertoires (un peu dangereux).

Si vous n'avez pas d'enfants, vous pouvez désactiver cette vérification avec rubocop dans le cadre du tutoriel. Dans ce cas

diff:.rubocop.yml


...

+ Style/FrozenStringLiteralComment:
+   Enabled: false

S'il-vous-plait ajoutez. Cependant, comme mentionné ci-dessus, il sera immuable par défaut à partir de Ruby3, donc si vous commencez à créer de nouvelles applications à l'avenir, vous devriez l'inclure.

Le reste est juste pour éliminer l'erreur suivante.

C: Style/Documentation: Missing top-level class documentation comment.

app/mailers/application_mailer.rb app/models/application_record.rb config/application.rb Cela aurait dû se produire dans les 3 fichiers de, mais c'est une erreur qui apparaît lorsqu'il n'y a pas de document de la classe.

config/application.rb



 module Bbs
+  #
+  #fichier de configuration
+  #
   class Application < Rails::Application

Ajoutons un commentaire avant la définition de classe comme.

Tout réparer,

Inspecting 26 files
..........................

26 files inspected, no offenses detected

C'est OK si l'erreur disparaît comme.

A continué

Construisez une API de tableau d'affichage avec certification et autorisation avec Rails 6 # 3 RSpec, FactoryBot est introduit et un modèle de publication est créé [Vers la table de sérialisation]

Recommended Posts

Présentation de # 2 git et rubocop pour créer une API de tableau d'affichage avec autorisation d'authentification dans Rails
Créez une API de tableau d'affichage avec certification et autorisation avec Rails 6 # 1 Construction de l'environnement
Introduction de l'expert n ° 15 pour créer une API de tableau d'affichage avec certification et autorisation dans Rails 6
Créer une API de tableau d'affichage avec autorisation de certification dans Rails 6 # 13 Accorder l'en-tête d'authentification
Construire une API de tableau d'affichage avec certification et autorisation avec Rails 6 # 18 ・ Implémentation du contrôleur de l'utilisateur final
Créez une API de tableau d'affichage avec certification et autorisation avec Rails 6 # 3 RSpec, FactoryBot introduit et post-modèle
Créer une API de tableau d'affichage avec autorisation dans Rails 6 # 12 Association d'utilisateur et de publication
Construire une API de tableau d'affichage avec certification et autorisation dans le contrôleur Rails 6 # 5, implémentation des routes
Introduction de # 10 devise_token_auth pour créer une API de tableau d'affichage avec autorisation d'authentification dans Rails 6
Créez une API de tableau d'affichage avec certification et autorisation dans Rails 6 # 17 Ajoutez des privilèges d'administrateur
Construire une API de tableau d'affichage avec certification et autorisation dans Rails 6 # 14 Seed Affichage du temps d'exécution
# 4 post-validation et mise en œuvre de test pour créer une API de tableau d'affichage avec certification et autorisation dans Rails 6
# 16 paramètre de stratégie pour créer une API de tableau d'affichage avec autorisation de certification dans Rails 6
Implémentation n ° 8 pour créer une API de tableau d'affichage avec autorisation de certification dans Rails 6
Présentation du sérialiseur n ° 9 pour créer une API de tableau d'affichage avec certification et autorisation dans Rails 6
Créez une API de tableau d'affichage avec certification et autorisation dans Rails 6 # 6 show, créez une implémentation
Créer une API de tableau d'affichage avec autorisation de certification dans la mise à jour Rails 6 # 7, détruire l'implémentation
Comment créer une API avec GraphQL et Rails
J'ai essayé de créer une fonction de groupe (babillard) avec Rails
Créez un tableau d'affichage simple avec Java + MySQL
[Rails] [Docker] Le copier-coller est OK! Comment créer un environnement de développement Rails avec Docker
Environnement Build Rails (API) x MySQL x Nuxt.js avec Docker
Créez un environnement de développement local pour les didacticiels Rails avec Docker-Introduisez Bootstrap et Font Awesome avec Webpack-