タグ

ブックマーク / qiita.com/ainame (2)

  • AWS SDKのラッパーを作るとき用の便利concern - Qiita

    追記:EC2上でSDKを利用する場合は、IAMロールを利用しましょう。 RubyAWS SDK(aws/aws-sdk-ruby)を使うときに、 そのままアプリケーションのコードに組み込んで使う人はそんなにいないと思う。 SDKのコードを直接組み込むと、ユニットテストしづらくなるし設定用のコードが各所に散らばることになる。 なので、簡単なラッパー&クライアントのファクトリクラスを書くと良い感じに手軽にコードも書けるし テストも書けるという望ましい状態になるかと思います。 今回は、SDK使う際に自分が書いた簡単なコードを紹介します。 注:AWS SDKはもうすぐv2がリリースされそうな感じですがここではv1のコードを元に記事を書いています。 まず、便利concern。これをファクトリクラスにincludeして使う。 そうすると、config/initializers/aws.rbで使う用の

    AWS SDKのラッパーを作るとき用の便利concern - Qiita
  • リクエスト単位でグローバルな参照を持たせて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
    takaesu
    takaesu 2016/03/15
    リクエストごとのグローバル変数
  • 1