インタラクションで取得した値を引数にAPIから何か結果を得て処理を進める想定のスクリプトです。
まず、リソースを呼び出し、返った値でUIを操作する関数がこんな感じだとすると、、、、
function show_friend_map(d){
get_friend(d).then(function(r){
特別なことをせずに RubyInstaller for Windows 2.0.0-p0 でセットアップした ruby で https を扱おうとすると「OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed」といったエラーが出るわけで、これを回避するために次のようなことをした。
まず ca-bundle.crt をどこかからもらってくる。僕は手元の Linux 機からコピーした。たとえば Fedora なら ca-certificates パッケージに含まれているだろう。
次に上のエラーが出てしまうプログラムのなるべく最初のあたり (openssl.rb を読み込む前というか ssleay32.dll かな) に下の一行を追加する。ca-bundle.crt のパスとかは適当に処理のこと。
ENV['SSL_CERT_FILE'] = File.expand_path('C:\Users\toshiharu\ca-bundle.crt')
| var queryStringMap = (function(){ | |
| 'use strict'; | |
| var obj = {}, | |
| params = location.search.replace(/^\?/,'').split('&'), | |
| i, param, key; | |
| for(i = params.length - 1; i >= 0; i--){ | |
| param = params[i].split('='); | |
| key = param[0]; | |
| if(key){ | |
| obj[key] = param[1]; |
| require 'sinatra' | |
| get "/" do | |
| erb :form | |
| end | |
| post '/save_image' do | |
| @filename = params[:file][:filename] | |
| file = params[:file][:tempfile] |
| # Usage: | |
| # ruby sequel_dot.rb [SEQUEL-DATABASE-URI] > output.dot | |
| # Or pipe directly to Graphviz: | |
| # ruby sequel_dot.rb [SEQUEL-DATABASE-URI] | dot -Tgif > output.gif | |
| # | |
| # Note adapted from Jeremy Evans' and Rohit Namjoshi's son's code at | |
| # http://sequel.heroku.com/2010/05/29/fun-with-graphviz-and-associations/ | |
| # | |
| # However, instead of basing graph on model associations, this uses foreign key constraints of the db tables | |
| # Thus, this relies on the database adapter supporting #foreign_key_list. |
| require 'sinatra' | |
| require 'haml' | |
| # 静的コンテンツ参照のためのパス設定 | |
| set :public, File.dirname(__FILE__) + '/public' | |
| # アップロード | |
| get '/' do | |
| haml :index |