Sha256: cf7edd0271b9d2fb6df1ab23cb438a5eee2585a955127e7ea13eef94037f0995
Contents?: true
Size: 1.1 KB
Versions: 1
Compression:
Stored size: 1.1 KB
Contents
require 'httparty' require 'haml' module MShard class MShard include HTTParty base_uri ENV['MSHARD_URI'] def get(id) self.class.get("/v2/shards/#{id}").body end def set(params) self.class.post('/v2/shards', body: params)['id'] end def try(times: 3, delay: 2) times.times do begin return yield rescue end sleep delay end nil end def get_safe(*args) try { get(*args) } end def set_safe(*args) try { set(*args) } end def error_to_html(e) Haml::Engine.new(<<-HAML).render(Object.new, e: e) !!! 5 %html %head %meta{ name: 'viewport', content: 'width=device-width,initial-scale=1.0' } %title Error %body %p %pre &= e.inspect %p %pre &= e.backtrace.join("\\n") HAML end def set_error(e, **opt) set_safe({ pushbullet: true, type: 'link', title: 'Error!', body: "#{e.class}\nClick here", contents: error_to_html(e), }.merge(opt) ) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
mshard-0.2.1 | lib/mshard/mshard.rb |