Ruby

【Ruby】【Clean Architecture】オープン・クローズの原則をRubyで書いてみた

はじめに 最近、クリーンアーキテクチャの話が話題に上がっており 「理解したつもりでもコードで示さないと理解したことにならない」 という気持ちがあったので簡単ではあるが、Rubyで書いてみました。 環境 macOS Mojave rbenv Ruby 2.7.1 前提条件 ruby コ…

【Ruby】RubyMineでrbenvでインストールしたRubyを指定する

はじめに RubyMine(以下、IDE) をJetBrains経由で新しくダウンロードして IDEの設定を設定していたところRubyのバージョンを指定する必要がありました。 筆者は rbenv でRubyをインストールしていたため指定方法に 手間取ったので記録として残しておきます…

【Rails】ActiveModelSerializersのログを出力しないようにする

はじめに Webサービスを開発していて、気づいたことがあったのでメモ 環境 macOS Sierra Docker(docker-compose) Ruby 2.6.3 Ruby on Rails 5.2.2 active_model_serializers 0.10.9 前提条件 active_model_serializers を使って何かしらレスポンスが返される…

【Rails】ローカル環境の開発でサブドメインがある場合「localhost」ではなく「lvh.me」を使う

はじめに Webサービスを開発していて、初めて知ったのでメモ。 環境 macOS Sierra Docker(docker-compose) Ruby 2.5.0 Ruby on Rails 5.1.4 前提条件 Rails Engineで管理画面を作成していて、以下のように記述してあること。 mount Admin::Engine => '/', co…

【Ruby】define_methodについて調べました

はじめに せっかく調べたのに忘れてしまうため、メモを残しておく。 今回は、ライブラリの挙動を確認していたところ define_methodが書かれており、復習も兼ねて調べました。 環境 max OS X Sierra Ruby 2.4.1 前提条件 irbかPryが動作すること やり方 defin…

【Ruby】文字列リテラルのダブルクォートとシングルクォートの違いについて

はじめに せっかく調べたのに忘れてしまうため、メモを残しておく。 今回は、メソッドの引数に関することで 文字列リテラルのダブルクォートとシングルクォートの違いを調べました。 環境 max OS X Sierra Ruby 2.4.1 前提条件 irbかPryが動作すること やり…

【Ruby】キーワード引数

はじめに せっかく調べたのに忘れてしまうため、メモを残しておく。 今回は、メソッドの引数に関することで キーワード引数を調べました。 環境 max OS X Sierra Ruby 2.3.0 前提条件 irbかPryが動作すること やり方 キーワード引数(デフォルト値あり) キ…

【Ruby】可変長引数と配列の展開

はじめに せっかく調べたのに忘れてしまうため、メモを残しておく。 今回は、メソッドの引数に関することで 可変長引数と配列の展開を調べました。 環境 max OS X Sierra Ruby 2.3.0 前提条件 irbかPryが動作すること やり方 可変長引数 可変長引数のサンプ…

【Rails】Hash(key)をシンボル形式にする

はじめに せっかく調べたのに忘れてしまうため、メモを残しておく。 今回は、APIなどで取得したHash値をRails側で処理しやすいようにするため deep_symbolize_keysを調べました。 環境 max OS X El Capitan Ruby 2.3.1 Ruby on Rails 4.2.6 前提条件 Railsア…

【Ruby】【6回目】Kawasaki.rb #042 に参加しました

まさかの1年3ヶ月の参加です。 Rubyから離れっぱなしなので、ちょっと気持ちを切り替える意味で参加してきました。 概要 kawasakirb.connpass.com 内容 以下のページで素晴らしくまとまっているので一読必須です。 Togetter togetter.com まとめ medium.com …

【振り返り】業務で0からシステム構築をしてWebサービスをリリースした話

はじめに つい最近の話になりますが、小さいWebサービスをリリースしました。 ほんとに小さなもので「これ、作ったんだぜ!」と大きな声で言えないため 細々と嬉しさを噛み締めつつ、1人振り返りしてツラツラ書きます。 これから何かしらリリースする人、リ…

【Rails】【Capistrano】Staging環境で「bundle exec rails console」しても動作しない

はじめに Webサービスを開発していて、ハマったところなのでメモ。 環境 OS X El capitan Ruby 2.3.0 carrierwave 0.11.2 fog 1.38.0 Ruby on Rails 4.2.4 Capistrano 3.4.0 capistrano-bundler 1.1.4 詳細 CapistranoでVPSサーバなどにデプロイした後 サー…

【Rails】【Capistrano】Carrierwave (fog)を含んだ形でデプロイするとエラーになってしまう

はじめに Webサービスを開発していて、ハマったところなのでメモ。 環境 OS X El capitan Ruby 2.3.0 carrierwave 0.11.2 fog 1.38.0 Ruby on Rails 4.2.4 Capistrano 3.4.0 詳細 Carrierwaveの動作確認がローカルでできたのですが Capistranoを使ってデプロ…

【Ruby】ruby-filemagicのインストールでエラーになる

はじめに 画像チェックの処理を実装したいと思い ruby-filemagicというライブラリが良さそうだったので インストールしようとしたところ、エラーになったのでメモ。 結論 GitHubのREADMEを読みましょう。 github.com 解決策 Mac brew install libmagic CentO…

【Gem】【Rails】RubyGemsにあるcarrierwaveをインストールすると最新バージョンなのに古い内容になってしまう

はじめに Webサービスを開発していて、ハマったところなのでメモ。 環境 OS X El capitan Ruby 2.3.0 carrierwave 0.11.2 fog 1.38.0 Ruby on Rails 4.2.4 詳細 Amazon S3に対して、画像アップロード機能を作成したかったため 「carrierwave」を追加しました…

【Rails】Capistranoでデプロイするとき「Devise.secret_key was not set. Please add the following to your Devise initializer:」が発生する

はじめに Webサービスを開発していて、ハマったところなのでメモ。 環境 OS X El capitan Ruby 2.3.0 Devise 3.4.1 Ruby on Rails 4.2.4 Capistrano 3.4.0 前提条件 エラーが出るところ以外、デプロイできる状態とします。 原因(なぜ、今までできていたか?…

【Rails】【Bower】Staging(Production)環境でAsset PipelineでFont,Imageパスが取得できず404なってしまう場合

はじめに AdminLTEはGemとしてもあったのですが、勉強も兼ねてbower-railsを使って 個人プロジェクトでbower-railsを使いつつ、AdminLTEを使って 管理画面を作成した際にハマったことをメモします。 なお、bower-railsとAdminLTEの初期インストールなどは割…

【Rails】【Capistrano】Capistranoでmasterブランチ以外のブランチでデプロイしたい場合

はじめに デプロイの成功例と失敗例を試したいときに 「失敗したところのブランチでデプロイしたい」 ということが自分の中であったのでメモ。 ※大体、勢いで直してしまうので「よし記事にしよう!」と思ったときに その状態が残っておらず、失敗したところ…

【Rails】URLでlocaleがある場合、Deviseのリダイレクトでlocaleが外れてしまう

Railsで管理画面を作っている際に発見した現象をメモ 現象 以下の様なルーティングを設定した場合 ※ディレクトリは自分でわかりやすいようにカスタマイズしています。 Rails.application.routes.draw do scope "(:locale)" do namespace :admin do devise_fo…

【Rails】El Capitanで rails s (DB:MySQL) を実行したらmysql2絡みで起動しない

久しぶりにRailsで何かやろうかな?と思って $ rails s を実行したところ、以下の様なエラーが発生。 $ /Users/your_name/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/mysql2-0.3.20/lib/mysql2.rb:31:in `require': dlopen(/Users/your_name/.rbenv/ve…

【Ruby】【5回目】Kawasaki.rb #027 に参加しました

Kawasaki.rb #27の参加エントリーです。

【まとめ】夏季休暇中にやったこと

はじめに 土日を除く、2015/08/11 〜 2015/08/15まで夏季休暇だったので 今までやろうやろうと思っていたことをやってました。 その成果をブログに残します。 予定 Itamaeの勉強 AWSの復習(過去に1度勉強していたので) Webサービス構築の全般的な知識の復…

【Ruby】【4回目】Kawasaki.rb #026 に参加しました

今月も参加できました。 先に予定を考えておいて、それに合わせて仕事するって大事です。 概要 Kawasaki.rb #026 「ほぼ2周年記念LT大会」kawasakirb.doorkeeper.jp 内容 以下のページで素晴らしくまとまっているので一読必須です。 kawasaki.rb 025 まとめ …

【Ruby】【3回目】Kawasaki.rb #025 に参加しました

今月はかろうじて参加できました。 先に予定を考えておいて、それに合わせて仕事するって大事です。 概要 Kawasaki.rb #025kawasakirb.doorkeeper.jp 内容 以下のページで素晴らしくまとまっているので一読必須です。 kawasaki.rb 025 まとめ #kwskrbtogette…

【Ruby】【Rails】手間な実行コマンドはRakeタスクに書いて行くようにした。

あるプロジェクトで、Railsを使っているのですが Rails標準のmigrateを使っていたのですが、Cookpad社の以下の記事が 公開された後、ridgepoleを使い始めました。 クックパッドにおける最近のActiveRecord運用事情 - クックパッド開発者ブログtechlife.cookp…

【Ruby】【2回目】Kawasaki.rbに参加しました

3, 4月は忙しく+予定と被ってしまい参加できませんでしたが 先月は参加することができました。 内容 以下のページで素晴らしくまとまっているので一読必須です。 kawasaki.rb #024を開催しました #kwskrb kawasaki.rb #024 まとめ #kwskrb - Togetterまとめ…

【Ruby】Ruby社内勉強会 第1回を開催しました。

日時 2015/04/22(水) 18:00 〜 19:00 参加者 ふじやす(本人) 新卒1年目の1人 書籍 パーフェクトRuby 章 Part1 1-1 〜 1-5 覚えたこと Rubyは、すべてオブジェクト Rubyのバージョンと歴史 putsで標準出力できる Rubyの文字コードはファイルの先頭に「# enc…

【Vagrant】boxがすでにあるとき、違うboxを新しく作る方法

今日、1時間弱ハマってしまったので備忘録。 勉強がてら、Ansibleを使ったboxをすでに作成してある状態で 「別のboxで作りたいから、流用しよう!」と思いつき Ansibleの構成を丸々コピーして、Vagrantfileの「config.vm.box」を 変更。 そして、実行してみ…

【Ruby】Kawasaki.rbに初参加してみた

ということで、初参加しました。 ブログ書くまでが勉強会ということで、書きます。 せっかくなので経緯から書きましょうかね。 経緯 もともとYokohama.rbの第50回目に参加したのですが その1回キリでなかなか休日の夜に参加することができませんでした。 そ…

【Ruby】【Rails】link_toで遷移した後、JavaScriptが動かない場合

Railsで自作のプロトタイプを作成している時に発生した現象です。 以下の環境で作成していました。 Ruby 2.2.0 Ruby on Rails 4.2.0 コードは以下のように書いていました。 <%= link_to "サンプル", root_path %> 少し悩んだところで思い出したのが、以下の…