Wednesday, January 28, 2015

How to make https GET request with Basic Auth in Ruby

Thursday, January 22, 2015

Thursday, June 26, 2014

Adding a pointer border to a div using CSS3

Adding a pointer border to a div using CSS3




Monday, February 4, 2013

Making Will Paginate Ajax + Rails 3

1. Create a helper file : app / helpers / remote_link_pagination_helper.rb

module RemoteLinkPaginationHelper
  class LinkRenderer < WillPaginate::ActionView::LinkRenderer
    def link(text, target, attributes = {})
      attributes['data-remote'] = true
      super
    end
  end
end


2. In the View File where pagination links come, add this line. (@people is the array to paginate)

will_paginate @people, :renderer => 'RemoteLinkPaginationHelper::LinkRenderer'



Now the links must work with Ajax

Saturday, August 11, 2012

Making a http/https post request under a proxy

Here is my post on how to make a https call. http://srikanthjeeva.blogspot.in/2010/06/making-httphttps-post-request.html

Spent a long time in figuring out how to send a https request under a proxy

Here is how it is,

require 'net/http'
require 'net/https'
require 'uri'

uri  = URI('https://IP/api/V1/USERS')

proxy_class = Net::HTTP::Proxy(PROXY_ADDRESS, PROXY_PORT, USERNAME, PASSWORD)

proxy_class.start(uri.host, uri.port, :use_ssl => uri.scheme == 'https', :verify_mode => OpenSSL::SSL::VERIFY_NONE) { |http|
  request = Net::HTTP::Get.new uri.request_uri
  response = http.request request
  puts response.body
}

Hope this helps.
Thanks!

Saturday, March 24, 2012

Ruby Conference Pune, India - March 24, 25 - 2012





Saturday, December 3, 2011

Caching in Rails

Rails has wonderful inbuilt caching methods. This is how i implemented caching for a particular action. 

 Requirement : Cache a page for 12 hours. After 12 hrs Caching must expire.

  before_filter :clear_cache
  caches_action :index, :layout => false

def index  
    #code
    # Write expiry time to cache (12 hours)
    Rails.cache.write('expiry_time', Time.now + 12.hours)
end


def clear_cache
    #Fetch time from cache and check with current time
    t = Rails.cache.fetch('expiry_time') || Time.now
    t = Time.parse(t) if t.is_a?(String)
    # Expire action if current time > Cached time
    expire_action :action => :index if Time.now > t
 end

Thanks!