Class: Meminator::Meminator
- Inherits:
-
Object
- Object
- Meminator::Meminator
- Defined in:
- lib/meminator.rb
Instance Method Summary collapse
Instance Method Details
#fetch(url, params) ⇒ Object
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/meminator.rb', line 42 def fetch(url, params) params = params.collect { |k,v| "#{k}=#{CGI::escape(v.to_s)}" }.join('&') Net::HTTP.start url.host do |http| get = Net::HTTP::Get.new url.path + "?#{params}" get['User-Agent'] = ::Meminator.user_agent res = http.request get unless Net::HTTPSuccess === res raise Error, "memegenerator.net appears to be down, got #{res.code}" end ret = JSON.load(res.body) if ret["success"] return "#{DISPLAY_URL}/instances/400x/#{ret["result"]["instanceID"]}.jpg" end end end |
#get_url(meme, *text) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/meminator.rb', line 15 def get_url(meme, *text) template_id, template_type, generator_name, imageID = List.get(meme) unless template_id return "Couldn't find template #{meme}" end url = URI.parse(GENERATOR_URL) params = { 'username' => ::Meminator.username, 'password' => ::Meminator.password, 'templateType' => template_type, 'generatorID' => template_id, 'imageID' => imageID, 'generatorName' => generator_name } text.compact.each_with_index do |item, idx| params.merge! "text#{idx}" => item end begin return fetch(url, params) rescue Error => e return e. end end |