テック-その他

Rails Model.to_jsonでデータを加工して吐き出す

例えばDBに,AAA,BBB,CCCのように先頭のカンマが不要なデータが入っていて、対象をトリムしてjson出力したい場合などなど。 Model側でtrimするメソッドを定義 インスタンスメソッドで加工したいカラムに対してメソッドを定義する class FooModel < Applicatio…

Ruby アメブロのRSSから画像を取得する

アメブロのimage情報はsummaryの中に<img>として配置されている。 また、ブログ文中で使用されている絵文字も画像として取り扱われているので、私の場合、幅高さが150px以下の画像(多分、実サイズは96px)は認識しない画像として定義した。 画像サイズの取得は先日…

Rails 主キー以外での特定カラムのアソシエーション

例えば、こういったテーブルがあった時、 hoges foos id id foos hoge last_foo no hogesはfoosをhas_manyで持つ関係とする。 通常はこういうfoosを指定すれば、foos.hogeに対してリレーションを貼れるんだけど、 has_many :foos last_fooカラムでfoosの特定…

Rails カラムの削除と追加

作業メモ。 TEXT型からINT型に変換したい時はchange_columnしようとしても精度が合わず失敗する場合がある。 Caused by: PG::DatatypeMismatch: ERROR: 列"typo_column"は型bigintには自動的に型変換できません HINT: 必要に応じて"USING typo_column::bigin…

Ruby gem twitterでTwitterAPIアクセスする

gem twitteを利用するとTwitterのAPIに簡単にアクセスできる。予め、consumer keyとaccess tokenの各keyを取得しているものとする。 gem 各APIキーをハードコードするとキーが漏洩してしまうので、.envに記載できるようdotenv-railsも併せて導入しておく gem…

個人開発者向け無料でできるお手軽twitterマーケティング術

必要なもの twitterアカウント。出来れば、ボット臭くない本垢。 準備 twitterで予め認知してほしいアプリのLPやストアページ、またはWebサービスなどのURLをつぶやいておく。 ◯◯のアプリを公開しています。とても頑張って作りました。良かったら使って下さ…

Ruby オブジェクトまたはクラスに指定したメソッドがあるか調べる

これいつも忘れるので記録しておく。メタデータからオブジェクトが定義される時にいつも困る。 オブジェクト obj.respond_to?(:method_name) クラス ClassName.method_defined?(:method_name) private method 使うことはあまり無いと思うが、privateなメソッ…

Rails カラム名でエラーとカラム名称変更

エラー Railsのカラム名にtypeという名称を使用していると以下のようなエラーが出る /app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.2.1/lib/active_record/inheritance.rb:226:in `rescue in find_sti_class': The single-table inheritance mechani…

Ruby FeedjiraとNokogiriでRSSフィードの画像情報を取得する

RSSフィードによってはimage情報が取得できないものもあるだが、大体のRSSはFeedjiraが解析したcontentの中に情報が含まれる。 Gemfile gem 'feedjira' gem 'nokogiri' $ bundle install を済ませておく。 RSSの解析 とても簡単。 rss = Feedjira::Feed.fetc…