my_gravatar 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +4 -0
 - data/Gemfile +4 -0
 - data/Rakefile +2 -0
 - data/lib/gravatar.rb +3 -0
 - data/lib/my_gravatar.rb +83 -0
 - data/lib/my_gravatar.rb~ +81 -0
 - data/lib/my_gravatar/gravatar.rb~ +0 -0
 - data/lib/my_gravatar/version.rb +3 -0
 - data/my_gravatar.gemspec +21 -0
 - data/my_gravatar.gemspec~ +21 -0
 - metadata +14 -5
 
    
        data/.gitignore
    ADDED
    
    
    
        data/Gemfile
    ADDED
    
    
    
        data/Rakefile
    ADDED
    
    
    
        data/lib/gravatar.rb
    ADDED
    
    
    
        data/lib/my_gravatar.rb
    ADDED
    
    | 
         @@ -0,0 +1,83 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            module MyGravatar
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
              @gravatar_params
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
              def set_params(img_params)
         
     | 
| 
      
 6 
     | 
    
         
            +
                @gravatar_params = img_params
         
     | 
| 
      
 7 
     | 
    
         
            +
              end
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
              def show_gravatar
         
     | 
| 
      
 10 
     | 
    
         
            +
                raise ArgumentError, "No value specified for email" unless @gravatar_params.has_key?("email")
         
     | 
| 
      
 11 
     | 
    
         
            +
                  
         
     | 
| 
      
 12 
     | 
    
         
            +
                generate_request_url
         
     | 
| 
      
 13 
     | 
    
         
            +
              end
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
              private
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
              def generate_request_url
         
     | 
| 
      
 18 
     | 
    
         
            +
                url_params = []
         
     | 
| 
      
 19 
     | 
    
         
            +
                
         
     | 
| 
      
 20 
     | 
    
         
            +
                #the gravatar url
         
     | 
| 
      
 21 
     | 
    
         
            +
                url = request_url(@gravatar_params.has_key?("https") ? @gravatar_params("https") : false)
         
     | 
| 
      
 22 
     | 
    
         
            +
                
         
     | 
| 
      
 23 
     | 
    
         
            +
                #hashed email
         
     | 
| 
      
 24 
     | 
    
         
            +
                hash_email = md5hash(@gravatar_params("email"))
         
     | 
| 
      
 25 
     | 
    
         
            +
                
         
     | 
| 
      
 26 
     | 
    
         
            +
                #assign the extra params the user pass
         
     | 
| 
      
 27 
     | 
    
         
            +
                ["size", "default_image", "rating"].each do |k|
         
     | 
| 
      
 28 
     | 
    
         
            +
                  v = gravatar_param_key(k)
         
     | 
| 
      
 29 
     | 
    
         
            +
                  value = @gravatar_params.has_key?(k) ? @gravatar_params(k) : gravatar_default_value(k)
         
     | 
| 
      
 30 
     | 
    
         
            +
                  url_params << "#{v}=#{value}" 
         
     | 
| 
      
 31 
     | 
    
         
            +
                end
         
     | 
| 
      
 32 
     | 
    
         
            +
                
         
     | 
| 
      
 33 
     | 
    
         
            +
                #generate the url to be called    
         
     | 
| 
      
 34 
     | 
    
         
            +
                gravatar_image_url = []
         
     | 
| 
      
 35 
     | 
    
         
            +
                gravatar_image_url << url
         
     | 
| 
      
 36 
     | 
    
         
            +
                gravatar_image_url << hash_email
         
     | 
| 
      
 37 
     | 
    
         
            +
                gravatar_image_url << url_params.join("/")
         
     | 
| 
      
 38 
     | 
    
         
            +
             
     | 
| 
      
 39 
     | 
    
         
            +
                gravatar_image_url.join("/")        
         
     | 
| 
      
 40 
     | 
    
         
            +
              end
         
     | 
| 
      
 41 
     | 
    
         
            +
              
         
     | 
| 
      
 42 
     | 
    
         
            +
              #return the relevant url key
         
     | 
| 
      
 43 
     | 
    
         
            +
              def gravatar_param_key(key)
         
     | 
| 
      
 44 
     | 
    
         
            +
                case (key)
         
     | 
| 
      
 45 
     | 
    
         
            +
                  when "size" : return "s"
         
     | 
| 
      
 46 
     | 
    
         
            +
                  when "default_image" : return "d"
         
     | 
| 
      
 47 
     | 
    
         
            +
                  when "rating" : return "r"
         
     | 
| 
      
 48 
     | 
    
         
            +
                end    
         
     | 
| 
      
 49 
     | 
    
         
            +
              end
         
     | 
| 
      
 50 
     | 
    
         
            +
              
         
     | 
| 
      
 51 
     | 
    
         
            +
              #return the default values
         
     | 
| 
      
 52 
     | 
    
         
            +
              def gravatar_default_value(key)
         
     | 
| 
      
 53 
     | 
    
         
            +
                case (key)
         
     | 
| 
      
 54 
     | 
    
         
            +
                  when "size" : return default_size
         
     | 
| 
      
 55 
     | 
    
         
            +
                  when "default_image" : return default_image
         
     | 
| 
      
 56 
     | 
    
         
            +
                  when "rating" : return default_rating
         
     | 
| 
      
 57 
     | 
    
         
            +
                end      
         
     | 
| 
      
 58 
     | 
    
         
            +
              end
         
     | 
| 
      
 59 
     | 
    
         
            +
             
     | 
| 
      
 60 
     | 
    
         
            +
              def default_size
         
     | 
| 
      
 61 
     | 
    
         
            +
                "200"
         
     | 
| 
      
 62 
     | 
    
         
            +
              end
         
     | 
| 
      
 63 
     | 
    
         
            +
                
         
     | 
| 
      
 64 
     | 
    
         
            +
              def default_image
         
     | 
| 
      
 65 
     | 
    
         
            +
                "retro"
         
     | 
| 
      
 66 
     | 
    
         
            +
              end
         
     | 
| 
      
 67 
     | 
    
         
            +
             
     | 
| 
      
 68 
     | 
    
         
            +
              def default_rating
         
     | 
| 
      
 69 
     | 
    
         
            +
                "g"
         
     | 
| 
      
 70 
     | 
    
         
            +
              end
         
     | 
| 
      
 71 
     | 
    
         
            +
             
     | 
| 
      
 72 
     | 
    
         
            +
              def request_url(https)
         
     | 
| 
      
 73 
     | 
    
         
            +
                https? "https://secure.gravatar.com/avatar/" : "http://www.gravatar.com/avatar/"
         
     | 
| 
      
 74 
     | 
    
         
            +
              end
         
     | 
| 
      
 75 
     | 
    
         
            +
             
     | 
| 
      
 76 
     | 
    
         
            +
              def md5hash(value)
         
     | 
| 
      
 77 
     | 
    
         
            +
                require 'digest/md5'
         
     | 
| 
      
 78 
     | 
    
         
            +
                digest = Digest::MD5.hexdigest(value.lstrip.rstrip.downcase)
         
     | 
| 
      
 79 
     | 
    
         
            +
                
         
     | 
| 
      
 80 
     | 
    
         
            +
                digest
         
     | 
| 
      
 81 
     | 
    
         
            +
              end
         
     | 
| 
      
 82 
     | 
    
         
            +
             
     | 
| 
      
 83 
     | 
    
         
            +
            end
         
     | 
    
        data/lib/my_gravatar.rb~
    ADDED
    
    | 
         @@ -0,0 +1,81 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            module MyGravatar
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
              @gravatar_params
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
              def set_params(img_params)
         
     | 
| 
      
 6 
     | 
    
         
            +
                @gravatar_params = img_params
         
     | 
| 
      
 7 
     | 
    
         
            +
              end
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
              def show_gravatar
         
     | 
| 
      
 10 
     | 
    
         
            +
                raise ArgumentError, "No value specified for email" unless @gravatar_params.has_key?("email")
         
     | 
| 
      
 11 
     | 
    
         
            +
                  
         
     | 
| 
      
 12 
     | 
    
         
            +
                generate_request_url
         
     | 
| 
      
 13 
     | 
    
         
            +
              end
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
              private
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
              def generate_request_url
         
     | 
| 
      
 18 
     | 
    
         
            +
                url_params = []
         
     | 
| 
      
 19 
     | 
    
         
            +
                
         
     | 
| 
      
 20 
     | 
    
         
            +
                #the gravatar url
         
     | 
| 
      
 21 
     | 
    
         
            +
                url = request_url(@gravatar_params.has_key?("https") ? @gravatar_params("https") : false)
         
     | 
| 
      
 22 
     | 
    
         
            +
                
         
     | 
| 
      
 23 
     | 
    
         
            +
                #hashed email
         
     | 
| 
      
 24 
     | 
    
         
            +
                hash_email = md5hash(@gravatar_params("email"))
         
     | 
| 
      
 25 
     | 
    
         
            +
                
         
     | 
| 
      
 26 
     | 
    
         
            +
                #assign the extra params the user pass
         
     | 
| 
      
 27 
     | 
    
         
            +
                ["size", "default_image", "rating"].each do |k|
         
     | 
| 
      
 28 
     | 
    
         
            +
                  v = gravatar_param_key(k)
         
     | 
| 
      
 29 
     | 
    
         
            +
                  value = @gravatar_params.has_key?(k) ? @gravatar_params(k) : gravatar_default_value(k)
         
     | 
| 
      
 30 
     | 
    
         
            +
                  url_params << "#{v}=#{value}" 
         
     | 
| 
      
 31 
     | 
    
         
            +
                end
         
     | 
| 
      
 32 
     | 
    
         
            +
                
         
     | 
| 
      
 33 
     | 
    
         
            +
                #generate the url to be called    
         
     | 
| 
      
 34 
     | 
    
         
            +
                gravatar_image_url = []
         
     | 
| 
      
 35 
     | 
    
         
            +
                gravatar_image_url << url
         
     | 
| 
      
 36 
     | 
    
         
            +
                gravatar_image_url << hash_email
         
     | 
| 
      
 37 
     | 
    
         
            +
                gravatar_image_url << url_params.join("/")
         
     | 
| 
      
 38 
     | 
    
         
            +
             
     | 
| 
      
 39 
     | 
    
         
            +
                gravatar_image_url.join("/")        
         
     | 
| 
      
 40 
     | 
    
         
            +
              end
         
     | 
| 
      
 41 
     | 
    
         
            +
             
     | 
| 
      
 42 
     | 
    
         
            +
              def gravatar_param_key(key)
         
     | 
| 
      
 43 
     | 
    
         
            +
                case (key)
         
     | 
| 
      
 44 
     | 
    
         
            +
                  when "size" : return "s"
         
     | 
| 
      
 45 
     | 
    
         
            +
                  when "default_image" : return "d"
         
     | 
| 
      
 46 
     | 
    
         
            +
                  when "rating" : return "r"
         
     | 
| 
      
 47 
     | 
    
         
            +
                end    
         
     | 
| 
      
 48 
     | 
    
         
            +
              end
         
     | 
| 
      
 49 
     | 
    
         
            +
              
         
     | 
| 
      
 50 
     | 
    
         
            +
              def gravatar_default_value(key)
         
     | 
| 
      
 51 
     | 
    
         
            +
                case (key)
         
     | 
| 
      
 52 
     | 
    
         
            +
                  when "size" : return default_size
         
     | 
| 
      
 53 
     | 
    
         
            +
                  when "default_image" : return default_image
         
     | 
| 
      
 54 
     | 
    
         
            +
                  when "rating" : return default_rating
         
     | 
| 
      
 55 
     | 
    
         
            +
                end      
         
     | 
| 
      
 56 
     | 
    
         
            +
              end
         
     | 
| 
      
 57 
     | 
    
         
            +
             
     | 
| 
      
 58 
     | 
    
         
            +
              def default_size
         
     | 
| 
      
 59 
     | 
    
         
            +
                "200"
         
     | 
| 
      
 60 
     | 
    
         
            +
              end
         
     | 
| 
      
 61 
     | 
    
         
            +
                
         
     | 
| 
      
 62 
     | 
    
         
            +
              def default_image
         
     | 
| 
      
 63 
     | 
    
         
            +
                "retro"
         
     | 
| 
      
 64 
     | 
    
         
            +
              end
         
     | 
| 
      
 65 
     | 
    
         
            +
             
     | 
| 
      
 66 
     | 
    
         
            +
              def default_rating
         
     | 
| 
      
 67 
     | 
    
         
            +
                "g"
         
     | 
| 
      
 68 
     | 
    
         
            +
              end
         
     | 
| 
      
 69 
     | 
    
         
            +
             
     | 
| 
      
 70 
     | 
    
         
            +
              def request_url(https)
         
     | 
| 
      
 71 
     | 
    
         
            +
                https? "https://secure.gravatar.com/avatar/" : "http://www.gravatar.com/avatar/"
         
     | 
| 
      
 72 
     | 
    
         
            +
              end
         
     | 
| 
      
 73 
     | 
    
         
            +
             
     | 
| 
      
 74 
     | 
    
         
            +
              def md5hash(value)
         
     | 
| 
      
 75 
     | 
    
         
            +
                require 'digest/md5'
         
     | 
| 
      
 76 
     | 
    
         
            +
                digest = Digest::MD5.hexdigest(value.lstrip.rstrip.downcase)
         
     | 
| 
      
 77 
     | 
    
         
            +
                
         
     | 
| 
      
 78 
     | 
    
         
            +
                digest
         
     | 
| 
      
 79 
     | 
    
         
            +
              end
         
     | 
| 
      
 80 
     | 
    
         
            +
             
     | 
| 
      
 81 
     | 
    
         
            +
            end
         
     | 
| 
         
            File without changes
         
     | 
    
        data/my_gravatar.gemspec
    ADDED
    
    | 
         @@ -0,0 +1,21 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # -*- encoding: utf-8 -*-
         
     | 
| 
      
 2 
     | 
    
         
            +
            $:.push File.expand_path("../lib", __FILE__)
         
     | 
| 
      
 3 
     | 
    
         
            +
            require "my_gravatar/version"
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            Gem::Specification.new do |s|
         
     | 
| 
      
 6 
     | 
    
         
            +
              s.name        = "my_gravatar"
         
     | 
| 
      
 7 
     | 
    
         
            +
              s.version     = MyGravatar::VERSION
         
     | 
| 
      
 8 
     | 
    
         
            +
              s.platform    = Gem::Platform::RUBY
         
     | 
| 
      
 9 
     | 
    
         
            +
              s.authors     = ["Pragash"]
         
     | 
| 
      
 10 
     | 
    
         
            +
              s.email       = ["pragashonlink@gmail.com"]
         
     | 
| 
      
 11 
     | 
    
         
            +
              s.homepage    = ""
         
     | 
| 
      
 12 
     | 
    
         
            +
              s.summary     = %q{Include GRAVATAR images}
         
     | 
| 
      
 13 
     | 
    
         
            +
              s.description = %q{Using this gem one can easily call and use the images in the GRAVATAR}
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
              s.rubyforge_project = "my_gravatar"
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
              s.files         = `git ls-files`.split("\n")
         
     | 
| 
      
 18 
     | 
    
         
            +
              s.test_files    = `git ls-files -- {test,spec,features}/*`.split("\n")
         
     | 
| 
      
 19 
     | 
    
         
            +
              s.executables   = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
         
     | 
| 
      
 20 
     | 
    
         
            +
              s.require_paths = ["lib"]
         
     | 
| 
      
 21 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,21 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # -*- encoding: utf-8 -*-
         
     | 
| 
      
 2 
     | 
    
         
            +
            $:.push File.expand_path("../lib", __FILE__)
         
     | 
| 
      
 3 
     | 
    
         
            +
            require "my_gravatar/version"
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            Gem::Specification.new do |s|
         
     | 
| 
      
 6 
     | 
    
         
            +
              s.name        = "my_gravatar"
         
     | 
| 
      
 7 
     | 
    
         
            +
              s.version     = MyGravatar::VERSION
         
     | 
| 
      
 8 
     | 
    
         
            +
              s.platform    = Gem::Platform::RUBY
         
     | 
| 
      
 9 
     | 
    
         
            +
              s.authors     = ["Pragash"]
         
     | 
| 
      
 10 
     | 
    
         
            +
              s.email       = ["pragashonlink@gmail.com"]
         
     | 
| 
      
 11 
     | 
    
         
            +
              s.homepage    = ""
         
     | 
| 
      
 12 
     | 
    
         
            +
              s.summary     = %q{TODO: Write a gem summary}
         
     | 
| 
      
 13 
     | 
    
         
            +
              s.description = %q{TODO: Write a gem description}
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
              s.rubyforge_project = "my_gravatar"
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
              s.files         = `git ls-files`.split("\n")
         
     | 
| 
      
 18 
     | 
    
         
            +
              s.test_files    = `git ls-files -- {test,spec,features}/*`.split("\n")
         
     | 
| 
      
 19 
     | 
    
         
            +
              s.executables   = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
         
     | 
| 
      
 20 
     | 
    
         
            +
              s.require_paths = ["lib"]
         
     | 
| 
      
 21 
     | 
    
         
            +
            end
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,13 +1,13 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification 
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: my_gravatar
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version 
         
     | 
| 
       4 
     | 
    
         
            -
              hash:  
     | 
| 
      
 4 
     | 
    
         
            +
              hash: 27
         
     | 
| 
       5 
5 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       6 
6 
     | 
    
         
             
              segments: 
         
     | 
| 
       7 
7 
     | 
    
         
             
              - 0
         
     | 
| 
       8 
8 
     | 
    
         
             
              - 0
         
     | 
| 
       9 
     | 
    
         
            -
              -  
     | 
| 
       10 
     | 
    
         
            -
              version: 0.0. 
     | 
| 
      
 9 
     | 
    
         
            +
              - 2
         
     | 
| 
      
 10 
     | 
    
         
            +
              version: 0.0.2
         
     | 
| 
       11 
11 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       12 
12 
     | 
    
         
             
            authors: 
         
     | 
| 
       13 
13 
     | 
    
         
             
            - Pragash
         
     | 
| 
         @@ -28,8 +28,17 @@ extensions: [] 
     | 
|
| 
       28 
28 
     | 
    
         | 
| 
       29 
29 
     | 
    
         
             
            extra_rdoc_files: []
         
     | 
| 
       30 
30 
     | 
    
         | 
| 
       31 
     | 
    
         
            -
            files:  
     | 
| 
       32 
     | 
    
         
            -
             
     | 
| 
      
 31 
     | 
    
         
            +
            files: 
         
     | 
| 
      
 32 
     | 
    
         
            +
            - .gitignore
         
     | 
| 
      
 33 
     | 
    
         
            +
            - Gemfile
         
     | 
| 
      
 34 
     | 
    
         
            +
            - Rakefile
         
     | 
| 
      
 35 
     | 
    
         
            +
            - lib/gravatar.rb
         
     | 
| 
      
 36 
     | 
    
         
            +
            - lib/my_gravatar.rb
         
     | 
| 
      
 37 
     | 
    
         
            +
            - lib/my_gravatar.rb~
         
     | 
| 
      
 38 
     | 
    
         
            +
            - lib/my_gravatar/gravatar.rb~
         
     | 
| 
      
 39 
     | 
    
         
            +
            - lib/my_gravatar/version.rb
         
     | 
| 
      
 40 
     | 
    
         
            +
            - my_gravatar.gemspec
         
     | 
| 
      
 41 
     | 
    
         
            +
            - my_gravatar.gemspec~
         
     | 
| 
       33 
42 
     | 
    
         
             
            has_rdoc: true
         
     | 
| 
       34 
43 
     | 
    
         
             
            homepage: ""
         
     | 
| 
       35 
44 
     | 
    
         
             
            licenses: []
         
     |