タグ

2019年5月14日のブックマーク (10件)

  • RubyのModuleの使い方とはいったい - Qiita

    Rubyにはオブジェクト指向で一般的なクラス以外にも、モジュールという概念が存在します。モジュールではクラスと同じように定数やメソッドをまとめたり、クラスに組み込んで多重継承を実現したり、クラスなどをまとめることで名前空間を提供するなど、いろいろな使い方ができます。 この記事では以下の内容について解説します。 定数やメソッドをまとめる クラスに組み込んで多重継承を実現する 名前空間を提供する リファレンスマニュアル(2.3.0) http://docs.ruby-lang.org/ja/2.3.0/class/Module.html:title 定数やメソッドをまとめる モジュールではクラスと同様に、定数やメソッドをまとめる機能があります。 定数 モジュール内で定義した定数は、モジュール名を経由して呼び出すことが可能です。

    RubyのModuleの使い方とはいったい - Qiita
  • 【Ruby入門】モジュールで名前空間とミックスインを覚える!【#10】 | エンジニアライブログ

    こんにちは。Tomoyuki(@tomoyuki65)です。 Rubyには、クラスに似た概念としてモジュールというのがありますが、使ったことはありますか? モジュールは、クラスと同様にメソッドや定数をまとめることができますが、クラスと違いインスタンス化や継承ができません。 ただし、モジュールはクラスやメソッド名の重複を避けたり、他のプログラミング言語のように多重継承の実現、そしてクラスの肥大化を抑えれるんです! この記事では、モジュールの使い方について解説します。 モジュールの定義 モジュール定義する方法について見てみましょう。 モジュールを定義する場合、モジュール名の一文字目は必ず英大文字である必要があります。 module モジュール名 定数やメソッド end モジュールから直接メソッドを呼び出したい場合は、2種類の記載方法があります。 例として以下のプログラムを実行してみて下さい。

    【Ruby入門】モジュールで名前空間とミックスインを覚える!【#10】 | エンジニアライブログ
    himejimasandesu
    himejimasandesu 2019/05/14
    Ruby
  • Railsチュートリアル中にNameError: uninitialized constant Micropost::PictureUploaderが出た時の対処法 - Qiita

    Railsチュートリアル中にNameError: uninitialized constant Micropost::PictureUploaderが出た時の対処法RubyRailsRailsチュートリアル 発生した章 13.4.1 基的な画像アップロードにて、CarrierWaveをインストールして、リスト 13.59: Micropostモデルに画像を追加するの通り修正したら、テストでエラーが出るようになった。 やったこと CarrierWaveに画像と関連付けたモデルを伝えるために、mount_uploaderメソッドを使用する。引数に、属性名(今回はpicture)と、クラス名(PictureUploader)を指定する。 class Micropost < ApplicationRecord belongs_to :user default_scope -> { order(c

    Railsチュートリアル中にNameError: uninitialized constant Micropost::PictureUploaderが出た時の対処法 - Qiita
  • rbenv | global と local と .ruby-version の微妙な関係 - Qiita

    なので他の方法で ~/.rbenv/version を作ったり、削除したりしても。ruby バージョンが変わる。 $ rbenv local x.x.x プロジェクトごとに使う ruby のバージョンを指定する。 だが実は、カレントディレクトリに .ruby-version ファイルを書き出すだけのコマンド。 なので他の方法で .ruby-version を作ったり、削除したりしても。ruby バージョンが変わる。 rbenv の挙動 先に述べたとおり、rbenv global / rbenv local はファイルを作るだけだ。 実際には rbenv の挙動が ruby のバージョンを決めている。 順序 rbenv は、まずカレントディレクトリの .ruby-version を見る。あればそれを使う。 もし無ければ、ひとつ上のディレクトリの .ruby-version を見る。あればそれ

    rbenv | global と local と .ruby-version の微妙な関係 - Qiita
  • rails c 時の Library not loaded: /usr/local/opt/readline/lib/libreadline.7.dylib (LoadError) 解決方法 - Qiita

    rails c 時の Library not loaded: /usr/local/opt/readline/lib/libreadline.7.dylib (LoadError) 解決方法RubyRails5 環境 Ruby 2.6.0 Rails 5.2.2 MacOS 症状 rails c でコンソール起動時に dlopen(/{ユーザーのパス}/.rbenv/versions/2.6.0/lib/ruby/2.6.0/x86_64-darwin17/readline.bundle, 9): Library not loaded: /usr/local/opt/readline/lib/libreadline.7.dylib (LoadError) Referenced from: /{ユーザーのパス}/.rbenv/versions/2.6.0/lib/ruby/2.6.0/x86

    rails c 時の Library not loaded: /usr/local/opt/readline/lib/libreadline.7.dylib (LoadError) 解決方法 - Qiita
    himejimasandesu
    himejimasandesu 2019/05/14
    rails
  • Awesome Ruby : 素晴しい Ruby のライブラリ・ツール・フレームワーク・ソフトウェアの数々 - Qiita

    元記事: Awesome Ruby Ruby 以外の言語, ソフトウェアについては を参照してください. Awesome List in Qiita Awesome Java Awesome JavaScript Awesome Node.js Awesome Python Awesome Go Awesome Selenium Awesome Appium 抽象化 ActiveInteraction - アプリケーション固有のビジネスロジックを管理します. Cells - Rails のコンポーネントを表示します. Decent Exposure - コントローラに宣言的インタフェースを提供するヘルパー. dry-rb - 共通のタスクをカプセル化するための, 次世代 Ruby ライブラリコレクションです. Interactor - 1回のリクエストで複雑なインタラクションを実行するため

    Awesome Ruby : 素晴しい Ruby のライブラリ・ツール・フレームワーク・ソフトウェアの数々 - Qiita
  • 早く知っておけば良かったrailsの技 | dev.wan.co

    rails 自分が rails をさわり始めたときはバージョン1からバージョン2に変わるあたりだったのですが、バージョン2が出た年を振り返るとなんと2007年でした。 月日の流れが速い事に驚く中、早く知ってたら良かったのになぁって事をつらつらとまとめてみました。 最近 rails さわり始めてみたよ!って方の参考になれば良いなと思います。 今回は便利な gem とかではなく、素のrailsで出来ることを挙げています。 ちなみにバージョンは以下の環境です。 About your application's environment Ruby version 2.1.3-p242 (x86_64-darwin14.0) RubyGems version 2.2.2 Rack version 1.5 Rails version 4.1.8 rails new したときの app 以下のディレクトリ

  • rspecのstubとmockについて - Qiita

    モックとスタブの使い分け モック 「オブジェクトのメソッドがどう呼ばれて何を返すか」というインタフェースも含めたテストのために使う スタブ テストをスムーズに行うために「あるオブジェクトのメソッドが呼ばれたら、ある戻り値を返す」ために使う # object.stub(:is_dummy?).and_return(true) User.stub(:is_dummy?).and_return(true)

    rspecのstubとmockについて - Qiita
  • RSpec で安全に Timecop する - Qiita

    タイトルは釣りで、実はTimecopは不要という話をします。てへぺろ Rails 4.1 以降、 ActiveSupport に travel/travel_to メソッドが実装されたのでこれを使おう。 https://api.rubyonrails.org/classes/ActiveSupport/Testing/TimeHelpers.html travel には相対時間(1日前、とか)、 travel_to には時刻(2000年1月1日とか) を指定して使う。 いずれも Timecop の freeze 相当で時間の流れは止まる。 使用するには include が必要。 rails_helper.rb に1行追加する RSpec.configure do |config| #... config.include ActiveSupport::Testing::TimeHelpers

    RSpec で安全に Timecop する - Qiita
  • 使えるRSpec入門・その3「ゼロからわかるモック(mock)を使ったテストの書き方」 - Qiita

    はじめに みなさんこんにちは! この記事は「必要最小限の努力で最大限実戦で使える知識を提供するRSpec入門記事」、略して「使えるRSpec入門」の第3回です。 今回はRSpecのモックを使ったテストについて説明します。 これまでモックを全く使ったことがない人でもわかるように丁寧に説明していくつもりです。 また、これまでの回と同様、個人的に使用頻度が低いと思っている内容についてはバッサリ説明を省きます。 ただし、第1回や第2回に比べるとテストコードが少し複雑になって、仕組みや動きを想像するのがちょっと難しいかもしれません。 ぱっと頭に入ってこない場合はじっくり文を読んだり、実際に自分で写経しながらコードを動かしたりするなどして、少し時間をかけながら理解するようにしてください。 今回は以下のような内容を説明します。 モックの基的な使い方 モックを使った検証 モックでわざとエラーを発生させ

    使えるRSpec入門・その3「ゼロからわかるモック(mock)を使ったテストの書き方」 - Qiita