An introduction to curl using GitHub's API
Makes a basic GET request to the specifed URI
curl https://api.github.com/users/caspyin
#!/bin/sh | |
# based on https://gist.github.com/ipedrazas/9c622404fb41f2343a0db85b3821275d | |
# delete all evicted pods from all namespaces | |
kubectl get pods --all-namespaces | grep Evicted | awk '{print $2 " --namespace=" $1}' | xargs kubectl delete pod | |
# delete all containers in ImagePullBackOff state from all namespaces | |
kubectl get pods --all-namespaces | grep 'ImagePullBackOff' | awk '{print $2 " --namespace=" $1}' | xargs kubectl delete pod | |
# delete all containers in ImagePullBackOff or ErrImagePull or Evicted state from all namespaces |
require 'yaml' | |
require 'logger' | |
require 'active_record' | |
namespace :db do | |
def create_database config | |
options = {:charset => 'utf8', :collation => 'utf8_unicode_ci'} | |
create_db = lambda do |config| | |
ActiveRecord::Base.establish_connection config.merge('database' => nil) |
2.hours.ago # => Thu, 27 Aug 2015 14:39:36 AFT +04:30
1.day.from_now # => Fri, 28 Aug 2015 16:39:36 AFT +04:30
Time.zone.parse("2015-08-27T12:09:36Z") # => Thu, 27 Aug 2015 16:39:36 AFT +04:30
Time.current # => Thu, 27 Aug 2015 16:39:36 AFT +04:30
Time.current.utc.iso8601 # When suppliyng an API ("2015-08-27T12:09:36Z")
Time.strptime("2015-08-27T12:09:36Z", "%Y-%m-%dT%H:%M:%S%z").in_time_zone # If you can't use Time.zone.parse (Thu, 27 Aug 2015 16:39:36 AFT +04:30)
Date.current # If you really can't have a Time or DateTime for some reason (Thu, 27 Aug 2015)
require 'digest/sha1' | |
# | |
# A wrapper for generating SHA1 hash value | |
# Simply done by concatenating all values using the colon symbol for delimiter. | |
# This algorithm is mostly used by payment gateways. | |
# | |
# Usage: | |
# | |
# SHA1Generator.digest('foo', 'bar', 'fizz', 'buzz') | |
# => "e723e86a6000fc8462142eb4821672de107535c1" # 40 chars |
class EmailValidator < ActiveModel::EachValidator | |
def validate_each(record, attribute, value) | |
unless value =~ /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\z/i | |
record.errors[attribute] << (options[:message] || 'is not an email') | |
end | |
end | |
end |
require 'resque' | |
require 'resque_scheduler' | |
require 'resque/server' | |
require 'resque_scheduler/server' | |
schedules = YAML.load_file(Rails.root.join('config', 'schedules.yml')) | |
$redis = Resque.redis = Redis.current = Redis.new( url: ENV['REDIS_URI'] ) | |
Resque.schedule = schedules |
# config/rails_admin.rb | |
config.excluded_models = Dir.glob(Rails.root.join('app/models/concerns/**.rb')).map {|p| 'Concerns::' + File.basename(p, '.rb').camelize } |
module Slugable | |
module ClassMethods | |
def find_by_slug(param) | |
if to_return = where("lower(name) LIKE ?", "#{patternify(param)}") | |
to_return.first | |
else | |
nil | |
end | |
end |