Sha256: f51d31d737e7bde3e7d1622f4c175ab88ccfebae1db4ce4dd23d470b6d92ed90

Contents?: true

Size: 819 Bytes

Versions: 37

Compression:

Stored size: 819 Bytes

Contents

require 'open-uri'
require 'timeout'
require 'json'

def coderwall(name, size = [60, 60])
	begin
		cache = "#{@cache_path}/coderwall.json"
		json = File.read(cache)
		File::delete(cache) if Time::now > File::mtime( cache ) + 60*60*24
	rescue Errno::ENOENT
		begin
			Timeout.timeout(10) do
				json = open( "https://coderwall.com/#{name}.json" ) {|f| f.read }
			end
			open(cache, 'wb') {|f| f.write(json) }
		rescue Timeout::Error
			return ""
		end
	end

	html = '<div class="coderwall">'
	JSON.parse(json)['badges'].each do |badge|
		html << %Q|<img src="#{badge['badge']}" alt="#{badge['name']}" title="#{badge['description']}" height="#{size[0]}px" width="#{size[1]}px" />|
	end
	html << '</div>'
end

# Local Variables:
# mode: ruby
# indent-tabs-mode: t
# tab-width: 3
# ruby-indent-level: 3
# End:
# vim: ts=3

Version data entries

37 entries across 32 versions & 2 rubygems

Version Path
tdiary-contrib-5.3.0 plugin/coderwall.rb
tdiary-contrib-5.2.4 plugin/coderwall.rb
tdiary-contrib-5.2.3 plugin/coderwall.rb
tdiary-contrib-5.2.2 plugin/coderwall.rb
tdiary-contrib-5.2.1 plugin/coderwall.rb
tdiary-contrib-5.2.0 plugin/coderwall.rb
tdiary-contrib-5.1.7 plugin/coderwall.rb
tdiary-contrib-5.1.6 plugin/coderwall.rb
tdiary-5.1.6 vendor/bundle/ruby/2.7.0/bundler/gems/tdiary-contrib-d1e41204db13/plugin/coderwall.rb
tdiary-5.1.6 vendor/bundle/ruby/2.7.0/gems/tdiary-5.1.5/vendor/bundle/ruby/3.0.0/gems/tdiary-contrib-5.1.4/plugin/coderwall.rb
tdiary-contrib-5.1.5 plugin/coderwall.rb
tdiary-5.1.5 vendor/bundle/ruby/3.0.0/gems/tdiary-contrib-5.1.4/plugin/coderwall.rb
tdiary-contrib-5.1.4 plugin/coderwall.rb
tdiary-contrib-5.1.3 plugin/coderwall.rb
tdiary-contrib-5.1.2 plugin/coderwall.rb
tdiary-contrib-5.1.1 plugin/coderwall.rb
tdiary-contrib-5.1.0 plugin/coderwall.rb
tdiary-contrib-5.0.13 plugin/coderwall.rb
tdiary-contrib-5.0.12 plugin/coderwall.rb
tdiary-contrib-5.0.11 plugin/coderwall.rb