2014-08-01から1ヶ月間の記事一覧

facebook graph apiのgem koalaを使って友達一覧を取得する件

友達が全件取れないのでおかしいと思ったら、Ver2.0からそのアプリでfacebookログインしている友達の数に仕様が変わったらしい。 なので、本当の意味で友達の数を取得したいのであればv1.0を使うようにしないと駄目。でコードで以下のようにkoalaが使うapiの…

仕事でfacebook graph apiをいじるgemを使ってみた

facebookログインはomniauth_facebookとかよく使いますが、facebook内の情報を扱う時に何を使うか、今まであまりちゃんと見てませんでした。 で、先日業務でkoalaを使ったのですが、これは簡単で良いですね。1.インストールはGemfileに追加してbundle instal…

Railsでテーブルに関係ないmodelを作って検索処理を作ってみる(elasticsearchを使って2)

前回の記事で検索出来るようになったが、ヒットして欲しい物がヒットしない。 例えば「abcdef」というタイトルがあるものを検索するときに「abc」でヒットして欲しいが ヒットしない。何がまずいのか、、、調査中ー。追記:2014/08/27 取りあえずHerokuのadd…

Railsでテーブルに関係ないmodelを作って検索処理を作ってみる(elasticsearchを使って)

今回検索用DBは考えた末にelasticsearchを使う事にしました。会社でも使われだしていて、何よりもHerokuでelasticsearchのAddOnが複数あったからです。mroongaをやるには結構大変そうだったので、これは別の機会に・・・。で使うライブラリですが、昔やった…

Railsでテーブルに関連しないmodelを作って検索処理を作ってみる(まだ道半ば)

まずRailsもActiveModelを使います。コードは以下のような感じです class SearchMovie include ActiveModel::Model attr_accessor :keyword validates :keyword, length: { within: 3..20, too_long: '検索文字が長過ぎます', too_short: '検索文字が身近す…

gitメモ

git

ふとした時に忘れてしまっていたので、メモとして残すコミットを取り消したい場合 git reset --soft [コミットのHash値] git reset --hard[コミットのHash値]

githubとpivotaltrackerの連携

前から使って入るがgithubの個人プロジェクトの各機能をpivotaltrackerを使って管理するようにしています。将来的にはこれをもっとメインで使うように会社でもしていければとおもっています。 で、ソース管理はgithubなので、このgithubとpivotaltrackerを連…

Railsのroutingについて

Railsのroutingでは、resourceを考えないといけません。URLもそれに対応していきます。 例えばblogというresourceに対してcommentというresourceが複数ある場合だとcong/routes.rbでは resources :blog do resources :comments end のように書きます。更にna…

ActiveRecordで値の変更前・後の値を見て処理をしたい場合

テーブルのあるカラムの値が更新された時だけ処理をしたいという場合があると思います。その場合、以下のように[カラム名]_wasで変更前の値がとれます。 class Test < ActiveRecord::Base STATUS_SLEEP = 'sleep' STATUS_ACTIVE = 'active' after_update do …

rspecでプライベートメソッドのテストを書きたい場合は

テストを書くとpublicのメソッドだけでなく、privateについても書きたくなる事が暫しあります。 javaの場合だとリフレクションを使ってできますが、rubyの場合、どうするのかなと思って調べたらそこはsendメソッドを使えば出来るとあり、あー確かにそうだと…

railsで権限チェックをするgem pundit

railsではユーザ毎にアクセス件を設定したい場合はpunditというgemをよく使います。 導入は簡単です。 gem "pundit"bundle install続いてgeneratorをつかってpunditで使うクラスを生成します。rails g pundit:installこれでapp/policies/application_policy.…