Code Search · GitHub githubのソース検索、、、これいい! なんでいままで知らなかったんや。 [Github 検索 ソースコード]Githubのリポジトリから欲しいソースを探しまくる [Github 検索 ソースコード]Githubのリポジトリから欲しいソースを探しまくる | Ke…
ゼンッ全関係ないけど、rsync使ったら権限や所有者情報をコピーできました。 存在しないユーザは、ユーザIDでくっついてました。 rsync -avgo remote_user@remotehost:/home/remote_user/nanika/ . オプションは思い出せないのでちょっと適当ですが、oがowne…
## Hoge.rb class Hoge < ActiveModel belongs_to :nanika alias_method :something, :nanika # Hoge.somethingをコールするとnanikaが拾えます。
before_filterを使うとコントローラーが綺麗になる、と。 めもめも Railsのコントローラーの仕事は何か? - Qiita Railsのコントローラーの仕事は何か? - Qiita
Arrayでfindするときに初期値が欲しい時はProc.newの引数に値を渡す。 Arrayがfindしたときに、要素がない場合に呼ばれるオブジェクトをifnoneという引数で渡してあげることで、渡されたオブジェクトのcallが呼ばれます。 callを持つインスタンスを渡してあ…
【Ruby】case比較演算子(===)の挙動 | one's world 【Ruby】case比較演算子(===)の挙動 | one's world はまりましたよ。
モデルをJSON形式で返す Model.all.as_json
中間テーブルは基本、多対多のモデルの関連をつくるために用いているので、 中間テーブル自体は意味のあるデータを持つことは少ない。 XyzToAbcというモデル名を見ると、「中間テーブル」だと推測できます。
準備1 Drive API アクセスを有効にする ドライブ SDK を有効にする クライアントID、クライアントシークレット、リダイレクトURIを控える ドライブ アプリを登録する - Google デベロッパー アカデミー — Google Developers Gyazo - c274baa73bafb81335bccf…
Ruby - メソッドの実行をフックする方法 - Qiita Ruby - メソッドの実行をフックする方法 - Qiita Gemfile gem 'method_hooker' class Hoge def self.hoge1 .. end def pre_hoge p 'pre hoge has executed' end pre_execute_method :pre_hoge Hoge.hoge1 #=>…
ありかもしれない。
関数を定義する際、渡された引数はなるべく変更しないようにする。 イミュータブルな関数を作りなさい。ということですね! 副作用はよろしくないです、はい。
classだと下記のようにprivate methodを定義できると思います。 class Hoge def public_method1 .... end private def private_method1 ... end しかし、moduleでは方法が少し違います。 module Hoge def public_method1 .... end def private_method1 ... e…
rubyでhashを構造体にしてアクセサっぽくアクセスできるようにする RubyでHashを構造体にしてアクセサのように取得する 僕はこんな関数にしてみた。 def conversion_of_hash_to_struct(hash) Struct.new(*hash.keys).new(*hash.values.map { |s| Hash === s …
moduleはインスタンス(状態)をモテない。 newできない。 メソッドだけを格納できる。 サービスは状態をもたないでイミュータブルにすべきなので、moduleを使う方がよい。
似た様な用語がたくさんあったり、時と場合により用語が変わってる場合(ほとんどの場合が気分で変わっている)、用語集を提案するとよい。
10.times.map.each_with_index {|i| Time.parse("18:00")+30.minutes*i}
レビューの指摘事項として「モデルではなくサービスに移動しなさい」というものがありました。 サービスっていうのが良くわからなかったので先生に聞いてみました。 Railsでサービスとフォームを導入してみる話 - assertInstanceOf('Engineer', $a_suenami) …
メソッドの長さは4〜5行しばりのプロジェクトもあるらしいです。 とのこと。
ドライブ アプリを登録する - Google デベロッパー アカデミー — Google Developers Drive API アクセスを有効にする Drive API へのアクセスを有効にするには、次の手順を行います: Google API コンソールで API プロジェクトを作成します。 API プロジェク…
deviseの機能でこんなのあるんだ、っていう驚き。 after_update_path_for(resource) xxx_path(resource) end
rubyのuniqメソッドでは、ブロックを渡すことで 下記のように特定の要素同士が同じであればuniqしてくれるみたい!! b = [["student","sam"], ["student","george"], ["teacher","matz"]] b.uniq { |s| s.first } # => [["student", "sam"], ["teacher", "m…
def xxxx_range 1 end
def self.availables where(available: true) end scope :availables, -> { where(available: true) } scopeチェーンできるもの(ActiveRecord::Relationが返るもの)はscopeで、 Relation以外の戻り値を返すものは、クラスメソッドに整理しておけば、 新しく…
gem env gempath
名前検索と、条件検索はメソッド分ける。 def search(conditions = {}) if conditions[:name].present? where(name: :name) else where(status: :status) end end def search_by_name(name) where(name: name) end def search_by(conditions = {}) where(con…
@hoge.begin_date=params[:begin_datetime] ではなく、 @hoge.begin_date=params[:begin_date]
railsでupdateを実装してリリースしたところ、既存機能が動かなくなるバグを出してしまった。 原因はconfig/routes.rbでした。 config/routes.rb resources :foos, only: [:index, :create, :update] #<- ここにupdateを足しました。 patch 'foos/bar' route…
コマンドでいきたいので、awscliを入れ入れ brew install awscli AWS CLIの設定 設定値はI AMで作成したユーザのCredentialsから $aws configure AWS Access Key ID [None]: XXXXXXXXXXXXXXXXXXXX AWS Secret Access Key [None]: XXXXXXXXXXXXXXXXXXXXXXXXXX…
処理ブロックを引数として渡す時に&を付与するようです。 # 1引数の手続き(その働きは引数をpで印字すること)を生成し、変数pobjに格納 pobj = proc {|v| p v } [1,2,3].each(&pobj) # 手続きオブジェクトをブロックの代わりに渡している => 1 2 3 参考にさ…