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 |