タケユー・ウェブ日報

Ruby on Rails や Flutter といったWeb・モバイルアプリ技術を武器にお客様のビジネス立ち上げを支援する、タケユー・ウェブ株式会社の技術ブログです。

2015-01-01から1年間の記事一覧

MailMug がユーザによるメルマガ購読登録・解除に対応

MailMugにメルマガ購読登録・解除フォームを付けました。 takeyuweb/mt-plugin-MailMuggithub.com 利用者が自分でメールアドレスの登録・解除を行えます。 自分で登録したユーザに対して適用するロールは変更できます。(デフォルトは メールマガジン購読者…

OpsWorks + Whenever

cron設定をバージョン管理に含めることができるのでありがたいWheneverをOpsWorksで使ったときのメモです。

Movable Type メールマガジンプラグイン MailMug がメルマガ送信用SMTPサーバの設定に対応

このアップデートにより、Amazon SESなどのクラウドメール配信サービスを利用できるようになり、一層安定的に配信できるようになります。

ActiveJob エンキューされることをテスト

test用のアダプタがあるのでそれを使うとActiveJob::Base.queue_adapter.enqueued_jobsでキューイングされたジョブを取得できるっぽい。 rails/test_adapter.rb at master · rails/rails · GitHub で、それを利用して特定のジョブクラスが引数付きでエンキュ…

ActiveJob::Base#perform のブラックボックステスト

作法として正しいかどうかはわからないですが、queue_adapter = :inlineにしてperform_laterすればすぐ実行されるからブラックボックステストはできそう require 'rails_helper' RSpec.describe SendToChatworkJob, :type => :job do before :all do SendToC…

AngularJS cookieにセットしたAPIトークンをHTTPヘッダーに面倒のないように入れたい

Interceptorsを使う方向で落ち着いた。 angular.module('app').config(['$httpProvider', ($httpProvider)-> $httpProvider.interceptors.push 'httpRequestInterceptor' ]) angular.module('app').factory('httpRequestInterceptor', ['ipCookie', (ipCooki…

AngularJS ngResourceでパラメータにtokenを付ける

有名なstackoverflow javascript - AngularJS: How to send auth token with $resource requests? - Stack Overflow がresource.$saveなケースでうまくいかなかったので var tokenWrapper = function (resource, action) { resource['_'+action] = resource[…

CarrierWave + TinyPNG によるお手軽画像最適化gem

CarrierWaveにTinyPNG APIによる画像最適化Processorを追加するgemを作りました。

S3 あるディレクトリ(プレフィクス)のオブジェクトを一括削除(AWS SDK for Ruby)

railsのaws-sdk gemを使ってs3のフォルダ(folder)を削除する 上記記事の方法はSDK v1のものなので。 削除対象のkeyのリスト作成回りとが非常にダサいですが、取り急ぎこんな感じでしょうか。 s3 = Aws::S3::Client.new pager = s3.list_objects(bucket: buck…

Elastic Transcoder ジョブをキャンセルする(AWS SDK for Ruby)

Elastic Transcoder ジョブをキャンセルする http://docs.aws.amazon.com/ja_jp/elastictranscoder/latest/developerguide/canceling-a-job.html ステータスがまだ [Submitted] になっているジョブをキャンセルできます。このステータスは、Elastic Transcod…

Movable Type メールマガジンプラグイン MailMug

昨年末よりちょこちょこ作っていた Movable Type で本格的なメールマガジンを運用するためのプラグイン「[MailMug](https://github.com/takeyuweb/mt-plugin-MailMug)(メールマグ)」のアルファ版を公開しました。

aws-flow-ruby でheartbeartを使ってタスクの進捗率を把握したり死活監視できるようにしておく

Amazon Simple Workflow Service (SWF) from Amazon Web Services Japan 実⾏行行時間の長いアクティビティのサポート ・定期的なハートビートの実⾏ というわけでその方法を調べたのでメモ。 default_task_heartbeat_timeout Activityクラスでハートビート…

AWS::SimpleWorkflow::Errors::ValidationException 1 validation error detected: Value '' at 'decisions.1.member.scheduleActivityTaskDecisionAttributes.activityType.version' failed to satisfy constraint: Member must have length greater than or equal to 1

[AWS SimpleWorkflow 400 0.470025 0 retries] respond_decision_task_completed(:decisions=>[{:decision_type=>"ScheduleActivityTask",:schedule_activity_task_decision_attributes=>{:activity_id=>"Activity7",:activity_type=>{:name=>"EncodeActivit…

aws-flow-ruby で失敗したタスクを失敗の種類に応じて繰り返す

SWFでタスクが実行できなかった場合はリトライ、エラーならそこで終了など、コントロールしたい。

KetaiPostで記事テンプレートをカスタマイズする

KetaiPostでは、メールを受け付けたときに記事本文に設定されるHTMLをMovable Typeテンプレートでカスタマイズできます。 これにより著作権表示を消したり好みのレイアウト、CSSクラスなどを設定できます。

MTクラウドでKetaiPostを使ってメール投稿を使う手順まとめ(Gmail)

この記事は移動しました。 MTクラウドでKetaiPostを使ってメール投稿を使う手順まとめ(Gmail)mt.maniax.xyz

MovableTypeの記事一覧を表示した時点で任意のフィルタをあてたいとか言われた

後出しですし納期もないのでやっつけで。 参考 記事一覧ページのフィルタをMTAppjQueryで指定してみる 記事一覧ページのフィルタをMTAppjQueryで指定してみる | bit part blog /** * http://qiita.com/ma_me/items/03aaebb5dc440b380244 を元に decodeURICom…

MT::Object でのトランザクション Data::ObjectDriverを直接触っちゃう編

MT::Object(というより親クラスのData::ObjectDriver::BaseObject)にはトランザクション操作用のbegin_workなどが用意されています。 MT::Object でのトランザクション(Rollback / Commit) - フリーエンジニアライフ MT::Object でのトランザクション(R…

MT::Object::remove() でトランザクションが効かない件について

バグか仕様かわかりませんが嵌まったのでメモ。 Movable Type 6 MySQL 5.1 InnoDB こんなかんじでトランザクション使えますが、remove()の場合、begin_workで立てたはずのトランザクションを使うぞ!的なフラグを無視しやがるようです。 MT::Object でのトラ…

MT::Object でのトランザクション(Rollback / Commit)

挙動が思ってたのと違ったのでメモ。 Movable Type 6 MySQL 5.1 InnoDB my $entry = MT->model( 'entry' )->load(); $entry->begin_work; # トランザクション開始…とおもいきや実はまだフラグを立てるだけ $entry->save(); # ここでトランザクション開始(au…

ActiveRecord で limit とか offset とかしたコレクションから条件を満たす全件数を取得する

posts = Post.where(author: author).limit(limit).offset(offset) posts.count # => 0 ~ limit posts.except(:limit, :offset).count # => 0 ~ Rails3からexceptで適用済みの条件式を除外できる。 except - リファレンス - Railsドキュメント

ActiveRecord::Relation から ActiveRecordクラス を得るには klass でOK?

posts= Posts.limit(limit).offset(offset) posts.klass # => Post(id: integer, title: string, body: text)

PlantUML + IntelliJ IDEA

恥ずかしながらPlantUMLというツールを知らなかったんだけど、IntelliJ IDEAのPlantUMLプラグインで初体験。なにこれ快適。 テキストファイルなので、シーケンス図、クラス図などいろんな設計がVCSで管理・マージできるすばらしさ。 IntelliJ IDEAのPlantUML…