Skip to content

Instantly share code, notes, and snippets.

@vivahiraj
vivahiraj / gcal_chk2.rb
Created April 4, 2017 13:22
LINE Messaging APIを利用してGoogle Calendarの情報を送る
# coding: utf-8
require 'rest-client'
require 'json'
require 'date'
require 'gmail'
require 'yaml'
#google-api-clientはv0.6.4が必要です
require "google/api_client"
@vivahiraj
vivahiraj / rain_chk2.rb
Created April 4, 2017 13:50
LINE Messaging APIを利用して雨が降りそうなことを通知する
# coding: utf-8
require 'rest-client'
require 'json'
require 'date'
require 'holiday_jp'
require 'gmail'
require 'rexml/document'
class MyMail
@vivahiraj
vivahiraj / encrypt.rb
Created November 3, 2017 14:03
JavaScriptで var text = CryptoJS.AES.decrypt(data, "pass").toString(CryptoJS.enc.Utf8); とすれば、複合できるようにするためのRubyでの暗号化方法
require "openssl"
require "base64"
def encrypt(data, passwd)
enc = OpenSSL::Cipher.new("AES-256-CBC")
enc.encrypt
salt = OpenSSL::Random.random_bytes(8)
enc.pkcs5_keyivgen(passwd, salt, 1)
enc_data = enc.update(data) + enc.final
ret = "Salted__" + salt + enc_data
@vivahiraj
vivahiraj / button_line_send.rb
Created December 28, 2017 05:15
ダイソーのリモートシャッターを押すとLINEへメッセージを送るサンプル。rootで実行する必要あり
require 'device_input'
require 'rest-client'
require 'json'
class LineBot
TOKEN = "Channel Access Token"
TO = "送信先のID"
def self.send(msg)
headers = {
@vivahiraj
vivahiraj / generator.rb
Created May 6, 2019 13:46
railsでgenerateするときにmigrationを生成させないようにするとか
Myapp::Application.config.generators do |g|
g.stylesheets false
g.javascripts false
g.helper false
g.template_engine false
g.orm :active_record, migration: false
end
@vivahiraj
vivahiraj / ridgepole_tasks.rake
Created May 6, 2019 13:50
ridgepoleをdb:migrateのようにdb:applyのような感じで使えるようにする
namespace :db do
config_file = 'config/database.yml'
schema_file = 'db/schemas/Schemafile'
desc 'apply Schemafile and update schema.rb'
task apply: :environment do
ENV['ALLOW_DROP_TABLE'] ||= '0'
ENV['ALLOW_REMOVE_COLUMN'] ||= '0'
ENV['RAILS_ENV'] ||= 'development'
task_return = `ridgepole -E #{ENV['RAILS_ENV']} --diff #{config_file} #{schema_file}`