Skip to content

Instantly share code, notes, and snippets.

require 'rubygems'
require 'bundler'
Bundler.setup :default, :development, :example
require 'sinatra'
require 'omniauth'
require 'omniauth-google-oauth2'
use Rack::Session::Cookie
use OmniAuth::Builder do
provider :google_oauth2, ENV['GOOGLE_KEY'], ENV['GOOGLE_SECRET'], {
:scope => 'https://www.googleapis.com/auth/plus.me https://www.googleapis.com/auth/plus.stream.read https://www.googleapis.com/auth/plus.stream.write https://www.googleapis.com/auth/plus.circles.read https://www.googleapis.com/auth/plus.circles.write'
@mostlyfine
mostlyfine / app.rb
Created May 25, 2016 03:52
Creating an SSL certificate for Sinatra
require "webrick"
require "webrick/https"
require "openssl"
require 'sinatra'
configure do
cn = [[ "CN", WEBrick::Utils::getservername]]
cert, rsa = WEBrick::Utils::create_self_signed_cert(2048, cn, "Generated by Ruby/OpenSSL")
set :server_settings, {
twitter = require('twitter')
twit = new twitter({
consumer_key: process.env.TWITTER_CONSUMER_KEY,
consumer_secret: process.env.TWITTER_CONSUMER_SECRET,
access_token_key: process.env.TWITTER_ACCESS_TOKEN_KEY,
access_token_secret: process.env.TWITTER_ACCESS_TOKEN_SECRET,
})
server = require('http').createServer (req, res) ->
res.writeHead 200, {'Content-type': 'text/html'}
path = require 'path'
app = require('express')()
server = require('http').createServer(app).listen(process.env.PORT || 3000)
io = require('socket.io').listen(server)
app.set('view engine', 'ejs')
app.set('views', path.join(__dirname, 'views'))
twitter = require 'twitter'
twit = new twitter({
@mostlyfine
mostlyfine / twitterstream.coffee
Last active August 29, 2015 14:17
usage) coffee twitterstream.coffee #cat
twitter = require 'twitter'
client = new twitter(
consumer_key: 'xxx'
consumer_secret: 'xxx'
access_token_key: 'xxx'
access_token_secret: 'xxx'
)
option = track: process.argv[2]
client.stream('statuses/filter', option , (stream) ->
@mostlyfine
mostlyfine / gist:0088939f2326b07e9910
Last active August 29, 2015 14:14
Introduction to Reveagist

Reveagist

The Markdown Presentation

Created by @mostlyfine


What is Reveagist ?

  • オンラインで動作するプレゼンテーション
  • Markdownによる記述
  • ユーザ登録不要
@mostlyfine
mostlyfine / gist:5351678
Created April 10, 2013 03:55
2行だけのCSSグリッドフレームワーク http://www.vcarrer.com/2010/10/two-lines-css-framework.html
.row {
display:table; /* コンテナ全体にテーブルの表示スタイルを適用 */
width:960px; /* 全体の幅、サイズの変更をはじめ、単位を%, emにも変更可能 */
margin:0 auto /* 左右の中央に配置*/
}
.cell {
display:table-cell; /* 各カラムにテーブルのセルの表示スタイルを適用*/
vertical-align:top; /* 上端(top)揃え */
padding-left:10px /* カラム間の溝の幅 */
}
@mostlyfine
mostlyfine / gist:4663684
Created January 29, 2013 11:48
IMAP振り分け
#!/usr/bin/env ruby
# -*- coding: utf-8 -*-
require 'openssl'
require 'net/imap'
require 'yaml'
class Filter
def initialize(options={})
@imap = Net::IMAP.new(options[:host], options[:port] || 993, options[:ssl] || true)
@mostlyfine
mostlyfine / gist:4618994
Created January 24, 2013 09:15
im.kayac.comにメッセージを送信するサンプル 同じディレクトリに以下の形式でconfig.plを用意する。 +{ username => 'USERNAME', password => 'PASSWORD', };
#!/usr/bin/env perl
use strict;
use warnings;
use utf8;
use Encode;
use LWP::UserAgent;
use JSON;
use Digest::SHA1 qw(sha1_hex);
@mostlyfine
mostlyfine / gist:2839901
Created May 31, 2012 00:42
Google's Favicon Serviceでリンクにfaviconを表示させる
$("a[href^='http']").each(function() {
$(this).css({
background: "url(<a href="http://www.google.com/s2/u/0/favicons?domain=" target="_blank" rel="noreferrer" style="cursor:help;display:inline !important;">http://www.google.com/s2/u/0/favicons?domain=</a>" + this.hostname +
") left center no-repeat",
"padding-left": "20px"
});
});