Please disable Adblockers and enable JavaScript for domain CEWebS.cs.univie.ac.at! We have NO ADS, but they may interfere with some of our course material.

Name: examples/flickr/Helpers/flickr.rb 
1:
require 'digest/md5'
2:
 
3:
class FlickrHelper
4:
  def initialize(dir)
5:
    @api_key = File.read(dir + '/flickr.key').strip
6:
    @api_secret = File.read(dir + '/flickr.secret').strip
7:
    if File.exist?(dir + 'flickr.token')
8:
      @auth_token = File.read(dir + 'flickr.token').strip
9:
    else
10:
      @auth_token = "simulated"
11:
    end
12:
  end
13:
 
14:
  attr_reader :api_key, :api_secret, :auth_token
15:
 
16:
  def sign(ary,names=[])
17:
    sig = @api_secret
18:
    ary.sort{|a,b|a.name<=>b.name}.each do |e|
19:
      if e.class == Riddl::Parameter::Simple
20:
        if names.empty?
21:
          sig += "#{e.name}#{e.value}"
22:
        else
23:
          sig += "#{e.name}#{e.value}" if names.include?(e.name)
24:
        end
25:
      end
26:
    end
27:
    Digest::MD5.hexdigest(sig)
28:
  end
29:
end