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

Railsのクラスパスについて

railsの中身をみてみようと思い、まずはappフォルダなどrailsの各フォルダを読み込む処理をしているところはどこか色々みてみた まずはrails/railties/lib/rails/engine/configuration.rbのpathsメソッドに書いてあった。 def paths @paths ||= begin paths …

macでキーチェーンを削除して焦った件

githubのSSLエラーが出てたので、証明書をバシバシ消していたらgithubだけでなくfacebookも駄目になって凄く焦った。 その時にここのブログを見つけて同じように証明書をダウンロードして何とか解決。 いやー、危なかった。。。

railsの自動読み込み(authload_paths)の中身を見たい場合

railsでちゃんとディレクトリにパスが通っているか確認したい場合「ActiveSupport::Dependencies.autoload_paths」を使う確認できます。 p ActiveSupport::Dependencies.autoload_paths この1行を追加すると、どこがロードされているのか確認できます。 rail…

RubyからGroongaを使う3

全文検索を行う処理は以下のように書いてます。まだ絞り込み検索書いてなくてデータ登録と取得の部分の一部ですけど。 require 'groonga' module Searchable extend ActiveSupport::Concern included do end def self.add(path = [DBファイルのパス], table_…

RubyからGroongaを使う2

RubyからGroongaを使うためにrroongaというgemを使います。 以下作業のログ。 # mroonga対応 gem 'rroonga' まずはチュートリアルを参考にテーブルを作成してみました。 irb --simple-prompt -rubygems -rgroonga Groonga::Context.default_options = {:enco…

RubyからGroongaを使う

全文検索をプライベートで作っているアプリに入れようと思い、色々調べた. elasticsearchにしようかと思ったが、考えた結果Groongaにしようと決めました。でrroongaを使うことにして調べてみた(まだ途中ですが)。 参考にしたのはここ もう少し纏まったら、…

rails4の条件付きアソシエーション

Rails4から条件付きアソシエーションの記述の仕方が変わりconditionsパラメータが非推奨になりました。変わってどう書くのかを以下に記載します。テーブル同士の関連(1体多など)に条件を追加した場合があります。例えばusersテーブルとcommentsテーブルがあ…

これは良い資料だ

これは良い資料なので、何かと読み返したりしよう。https://speakerdeck.com/katsuma/service-development-for-usersあとここも参考になるな https://github.com/Sdogruyol/awesome-ruby#imagery

RailsとHerokuと全文検索 その2

elasticsearchを使うため色々調べ中。 クラウドサービスのbonsaiを使うため実装しておりますが、接続エラーが出てしまう。 テストとローカルでは、多分別の方法を考えた方が良いのかな。 取りあえずGemfileには、こんな感じで記述 41 # elasticsearch対応 #g…

RailsとHerokuと全文検索 その1

Herokuで動かすRailsアプリに全文検索の機能を追加しようと思った。 で全文検索のソリューションを何にするか考えた時にGroongaかElasticsearchかなと思いました。 で、Herokuで動かすと考えた時にElasticsearchが良いと思い採用することにしました。Heroku…

travis ci連携続き

herokuに自動でディプロイまでさせたい場合は、以下のように.travis.ymlに記載します。 deploy: provider: heroku api_key: secure: ******************************* app: [APP_NAME] on: repo: [git_repo_name]これはtravis ciのコマンドラインツールを使…

travis ci連携

前もやったのですが、今書いているコードをtravis ci連携した。 で、色々書いたのでメモしておくが、要はGemfileと.travis.ymlを書けば良い。 Gemfileには以下を追加する必要があった(多分別の何かが足りないからかもしれないけど) # travis ci対応? group :…

ActiveRecordのnewとbuild

ActiveRecordでモデル間の関連を定義している場合でインスタンス化する時にnewでなくてbuildを使うとコードがすっきりする。 これはパーフェクトRuby on Railsを読んでいて「へー」って思ったのでメモ。例えばUserとMovieで1対多の関係がある場合は以下のよ…

Fiberについて

Fiberはruby1.9から追加されて機能です。この前いじっていた時、良くわからなかったのですが、ちょうどそれを解説しているwebページもあってそれをみて「あー」って感じになったので、メモしておきます。ようはFiberはyieldの処理の結果を保持し続けるという…