Sha256: 7d2122728e5a1188b05c36f56c8c5c0e62d4de64da1f7a02ff4913376ea2f66a

Contents?: true

Size: 811 Bytes

Versions: 15

Compression:

Stored size: 811 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(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

15 entries across 14 versions & 2 rubygems

Version Path
tdiary-contrib-4.2.1 plugin/coderwall.rb
tdiary-4.2.1 vendor/bundle/ruby/2.3.0/bundler/gems/tdiary-contrib-d189eb6688f1/plugin/coderwall.rb
tdiary-4.2.1 vendor/bundle/ruby/2.2.0/bundler/gems/tdiary-contrib-2ab36447ae2a/plugin/coderwall.rb
tdiary-contrib-4.2.0 plugin/coderwall.rb
tdiary-contrib-4.1.3 plugin/coderwall.rb
tdiary-contrib-4.1.2 plugin/coderwall.rb
tdiary-contrib-4.1.1 plugin/coderwall.rb
tdiary-contrib-4.1.0 plugin/coderwall.rb
tdiary-contrib-4.0.5.1 plugin/coderwall.rb
tdiary-contrib-4.0.4 plugin/coderwall.rb
tdiary-contrib-4.0.3 plugin/coderwall.rb
tdiary-contrib-4.0.2.1 plugin/coderwall.rb
tdiary-contrib-4.0.2 plugin/coderwall.rb
tdiary-contrib-3.2.2.20130614 plugin/coderwall.rb
tdiary-contrib-3.2.2.20130518 plugin/coderwall.rb