タグ

railsに関するwanijiのブックマーク (19)

  • rakeタスクを定義するときのおまじない :environment がやっていること - Qiita

    railsDBアクセスしたりするrakeタスクを定義するときに↑の様な感じで:environmentを指定する必要があるが、 その:environmentが何をしているのか不思議だったので調べた コードを追ってみた(要所だけ) # https://github.com/rails/rails/blob/master/railties/lib/rails/application.rb#L432-L441 def run_tasks_blocks(app) #:nodoc: railties.each { |r| r.run_tasks_blocks(app) } super require "rails/tasks" task :environment do ActiveSupport.on_load(:before_initialize) { config.eager_load = fa

    rakeタスクを定義するときのおまじない :environment がやっていること - Qiita
  • ActionMailerは何をしているのか - Qiita

    テーマ 初Adventです! 最近、メール送信時のトラブルを分析していたのですが、ActionMailerの実装についての情報がなかなか見つからず困りました。 この機会に、ActionMailerの実装を掘り下げ、「メールを送信したら内容がSlackに届く」というSlackMailerのサンプルに挑戦したいと思います。 なぞのおじさん あらためてrailsを支えるコンポーネント軍団を眺めてみると、それはそれはツヨそうなメンバーが揃っています。 ActionPackやActiveRecordといったフレームワークを動かす最重要幹部たち、ActiveSupportという有能な参謀。さらにはActionCableやActiveStorageのような期待の大型新人もいます。 よく見るとわれらがActionMailerも「地味な窓際おじさん」といった風情で鎮座しておられますね。 いまひとつ注目されな

    ActionMailerは何をしているのか - Qiita
    waniji
    waniji 2018/05/28
  • Rails 5.0で追加される主な新機能(Ruby on Rails公式ブログより) - Qiita

    はじめに Rails 5.0.0.beta1が2015年12月18日にリリースされました。 また、それにあわせてRuby on Railsの公式ブログに主な変更点がまとめられています。(投稿者はあのDHH氏のようです) Rails 5.0.0.beta1: Action Cable, API mode, Rails command beta1がリリースされたということは、Rails 5.0の正式リリースもそろそろ近いということです。 (ちなみにRails 4.0ではbeta1の4ヶ月後に正式版がリリースされました。) Railsユーザーであれば、みなさん早かれ遅かれRails 5.0を使うことになると思うので、事前に予習しておきましょう! というわけで、上記の公式ブログの内容を翻訳してみました。 これを読めばRails 5.0でどういう変化が起きるのか、だいたい理解できるはずです! 翻訳の

    Rails 5.0で追加される主な新機能(Ruby on Rails公式ブログより) - Qiita
  • Rubyコードの健康を保つためのgem 5+1選 - Money Forward Developers Blog

    こんにちは、Railsエンジニアの鈴木(信)です。 先日31歳になったんですが、やはり30歳を超えたあたりから衰えたというか、何か体に変化があったように思います。 自身の健康はもちろんですが、コードの健康(品質)のことも気になる年頃になりました。 そこで今回は弊社で利用しているコード解析ツールをご紹介します。 brakeman - セキュリティ brakemanは、簡単なXSSやインジェクション系の脆弱性を検出してくれるgemです。 もちろんこれだけで完全に安心という訳ではありませんが、弊社ではJenkinsのBrakeman Pluginを使って、継続的にモニタリング、修正しています。 使い方 $ brakeman $ brakeman --only-files=path/to/specific_file simplecov - テストカバレッジ simplecovはカバレッジ計測ツール

    Rubyコードの健康を保つためのgem 5+1選 - Money Forward Developers Blog
  • Railsパフォーマンス基本のキ

    Railsのパフォーマンスについてよくある問題とそれに対して戦いを挑むために必要なもの。

    Railsパフォーマンス基本のキ
  • Rails の自動読み込みを支える技術

    ActiveSupport::Dependencies のソースを読むので簡単に紹介しました。 文章で説明したバージョンはこちらに用意しました。 http://blog.eiel.info/blog/2013/09/07/autoload-rails/

    Rails の自動読み込みを支える技術
  • Rack applicationのプロファイリングにはrack-lineprofが便利 - k0kubun's blog

    RubyKaigi 2014行った。良い発表がいろいろ聞けたんだけど、最近ISUCONに向けてwebアプリのチューニングに興味があったので特にfinal keynoteが興味深かった。 その中で紹介されていたtmm1/rblineprofが行ごとの実行時間を表示してくれるのでとても便利そうだったんだけど、GitHubではpeek/peek-rblineprofというRails用のプラグインでrblineprofを活用しているので、ISUCONでおそらく使用されるであろうsinatraでどうやって使うか考えていた。 kainosnoema/rack-lineprofというgemがその用途に便利そうだったので紹介したい。 使い方 rack-lineprofはRack middlewareで、まず以下のようにuseする必要がある。 require 'rack-lineprof' class My

    Rack applicationのプロファイリングにはrack-lineprofが便利 - k0kubun's blog
  • すべてのRailsプロジェクトでいれておくべき7つの開発用Gem - Qiita

    元ネタはこちらになります。 いくつかは使ったことはあるのですが、使った事がないものもあったので自分で試しながらまとめてみました。 Awesome Print これはオブジェクトを見やすくしてくれるgemです。 まず、このgemを入れていない場合の出力をみてみましょう。 ちょっとわかりにくいですね。 それではgemをいれてみましょう。Gemfileに以下を追加します。 bundle installをして、rails consoleを立ち上げなおします。 だいぶ見やすくなった感じがします。 ただ、Rails4.2からは、PrettyPrintというのが標準ではいるようになっていて、標準でもだいぶみやすくなってますね。 Rails Panel このgemをいれると、ChromeのDeveloper ToolでRailsの情報を取得できるようになります。 まず、Railsアプリケーションにmeta

    すべてのRailsプロジェクトでいれておくべき7つの開発用Gem - Qiita
  • Rack Middlewareの始め方 | TECHSCORE BLOG | TECHSCORE BLOG

    こんにちは、河野です。この記事は TECHSCORE Advent Calendar 2014 の 11日目の記事になります。 最近Railsで使用するRack Middlewareを作ってみましたので、その辺りの話を書こうと思います。 そもそもrackって? rackについて説明すると長くなるので、以下の記事が参考にしてください。 Ruby - Rack解説 - Rackの構造とRack DSL - Qiita 簡単に説明すると、アプリケーションサーバとのインターフェースのことです。 あるクラスにcallメソッドを定義して、 ステータスコード レスポンスヘッダのハッシュ レスポンスボディの配列 をまとめた配列を返すようにしてね!というものです。 Rack Middlewareを作成する 今回は、大量のヘルスチェックのログでアプリのログが見にくくなることに悩んでいましたので、専用のログに出

  • Ginza.rb 21回の発表資料。rails_adminのつらみとオススメgem達。

    ginzarb_21.md rails_adminのつらみとオススメGemについて rails_adminのつらみ カスタマイズできるようで出来ない rails_adminをカスタマイズする方法まとめ - Qiita レコード件数が一定以上になると使えない機能 ダッシュボード 何も考えずに各モデルをカウントするのでレコード件数増えるとえらいことになる。 関連を付け替えするフォーム 出したり出さなかったりを一々切り替えるのがめんどい 検索機能がほぼ役に立たない じゃあどうするか プロジェクト用のscaffoldを作る方が良いのでは? 一つのモデルに対するを管理画面を作って大まかなレイアウトを決める それをテンプレート化してlayoutとscaffoldのテンプレートを上書きする コントローラーの構成もテンプレートで上書きできる それ以上の場合はlib以下にgeneratorを書く Rails

    Ginza.rb 21回の発表資料。rails_adminのつらみとオススメgem達。
  • 肥大化したActiveRecordモデルをリファクタリングする7つの方法(翻訳)

    更新情報: 2013/11/19: 初版公開 2021/01/08: 訳文見直し、追記 こんにちは、hachi8833です。今回は、自分が知りたかった、Active Recordモデルのリファクタリングに関する記事を翻訳いたしました。1年前の記事なのでRails 3が前提ですが、Rails 4以降でも基的には変わらないと思います。リンクは可能なものについては日語のものに置き換えています。 なお、ここでご紹介したオブジェクトは、app以下にそれぞれ以下のようにフォルダを追加してそこに配置します。 注記: 以下は使われそうなフォルダを列挙しただけであり、実際にはこの一部しか使いません。 Value Object Service Object Form Object Query Object View Object Policy Object Decorator ⚓ 肥大化したActive

    肥大化したActiveRecordモデルをリファクタリングする7つの方法(翻訳)
  • Decorator/Presenter

    記念すべき「Rails Tips」第1回は、Decorator と Presenter について書きます。 Rails で Decorator/Presenter というと draper や active_decorator などの実績のある有名な gem パッケージが存在していて、それらを導入すれば話は簡単なのですが、稿ではあえて Rails 標準の機能を用いて Decorator/Presenter を実現する方法を説明します。「車輪の再発明!」と言わないでください。自分で作ってみることによって RubyRails の知識が深まり、様々な応用が利くようになります。実際のところ、そんなに複雑なものではありません。 Decorator とは 「Decorator」はソフトウェアデザインパターンの1つで、継承(inheritance)に代わるクラスの拡張手段です。 具体例で説明しまし

  • リクエスト単位でグローバルな参照を持たせてAuditログをスッキリ実装したい - Qiita

    Rails等で毎日APIを納品している界隈の皆様方は、リクエスト毎にグローバルな変数を持ちたい時はたまにあるかと思います。例えば、ログを吐くためにRack::Requestオブジェクトをロガーから参照したいとか。モデルやサービス層である処理が呼ばれる毎にリクエスト者のAuditログを残したい場合などそうなりそうです。 class PostEditService def initialize(post, request) @post, @request = post, request end def call(new_body) @post.body = some_normalize(new_body) #... Rails.logger.info("[audit] ip: #{@request.ip}, ua: #{@request.user_agent}") end end サンプルのコ

    リクエスト単位でグローバルな参照を持たせてAuditログをスッキリ実装したい - Qiita
  • tumblrみたいなやつのRoutingパターン

    tumblrみたいなやつのRoutingパターンtumblrみたいなやつ (そろそろ適当な名前を決めたくなってきた) をRuby on Railsを利用して実装するにあたって、主にRoutingの周りで考えたことについてまとめておく。他の人がWebアプリ書くときの参考になれば。 機能 tumblrみたいなやつには以下のような機能がある。 ログイン・ログアウト・サインアップ 記事の一覧・詳細・投稿・編集・削除 あるタグの付いた記事一覧 あるユーザの投稿した記事一覧 記事にスターを付ける・外す 記事にタグを付ける・外す 通知一覧 画像投稿 config/routes.rb Routingのコードはコピペするとこうなってる。 Rails.application.routes.draw do root to: "posts#index" get "/@:user_id" => "users#sho

  • フレームワークとアプリケーションの境目 - @kyanny's blog

    それでもRailsを選択する3つの理由 - pblog 興味深く読んだ。 ずっと気になっていることがある。フレームワークとアプリケーションの境目について。 アプリケーションとフレームワークははっきり区別されるべきなんだろうか。 Rails は「区別するべきだ」と要請しているように感じられる。アプリケーションはフレームワークが規定する「できること」の範囲内で書くべきであり、その範囲を外れる場合は相応の覚悟をしろ、領分を守る限り難しいが一般的な問題はフレームワークが正しく解決してやるぞ、と。 一方で、フレームワークもアプリケーションの一部である、とする考え方もあると思う。足場を支えるライブラリに過ぎない、という思想。両者の境界は曖昧になり、フレームワークが規定する「できること」だけでは物足りなくなったとき、アプリケーション側を「できること」の枠内に合わせるのではなく、フレームワーク側を拡張して

    フレームワークとアプリケーションの境目 - @kyanny's blog
  • Rails あるある

    2022年9月13日 株式会社メンバーズ ポップインサイトカンパニーでのウェビナーのスライドです。「ユーザーが欲しいと言った機能をつけたのに使われない!」という経験はありませんか。プロダクトをつくるとき「ユーザーの心理を理解しよう」とよく言われます。しかし、ユーザーに言われたままやることと、ユーザーが当に望んでいることは異なります。「UXデザインUXリサーチ」は、ユーザーを理解するための専門技術です。ユーザーインタビューやユーザビリティテストを用いてファクトを集めることで、ユーザーの表面的な言葉に惑わされない、当のインサイトにたどりつくことができます。かんたんなワークも交えながら、体系的に解説いたします。

    Rails あるある
  • Rails4のconcernsなmoduleのテストをrspecで書く方法 - Qiita

    「Everyday Rails - RSpecによるRailsテスト入門」を読んでRSpecが楽しくなってきたところで、このに書かれていないけど「こんなのもテストしたい!」という場合にどうすればいいか調べてみた。 Rails4では、共通機能を定義したモジュールをconcernsに置くことができる。目的はDRYであったり、Fat Controller, Fat Modelを避けるため(だと思う)。Rails3以前はバラバラの方法で行われていたけど、オフィシャルの規約ができた(のだと思う)。 そこで、concerns下に定義したモジュールのテストをRSpecで書く方法を検討してみた。 いくつか方法があり、例えば、リア充爆発日記で紹介されていたりする。個人的にはStack Overflowで紹介されている方法が好みだったので、最小限のコードでまとめてみた。 テスト対象のコード

    Rails4のconcernsなmoduleのテストをrspecで書く方法 - Qiita
  • Ruby on Rails チュートリアル:実例を使ってRailsを学ぼう - Michael Hartl (マイケル・ハートル)

    Ruby on Rails チュートリアル プロダクト開発の0→1を学ぼう Railsチュートリアルとは?

    Ruby on Rails チュートリアル:実例を使ってRailsを学ぼう - Michael Hartl (マイケル・ハートル)
  • すこやかRails

    2014-11-01 渋谷Ruby会議01 http://regional.rubykaigi.org/shibuya01/Read less

    すこやかRails
  • 1