class Paspartout
Public Class Methods
new(api_key)
click to toggle source
# File lib/paspartout-api.rb, line 7 def initialize api_key @api_key = api_key @loaded = {} end
Public Instance Methods
errors()
click to toggle source
# File lib/paspartout-api.rb, line 12 def errors @errors end
loaded?()
click to toggle source
# File lib/paspartout-api.rb, line 16 def loaded? @errors.empty? end
page(id)
click to toggle source
# File lib/paspartout-api.rb, line 36 def page id return @loaded[:"page_#{ id }"] if @loaded[:"page_#{ id }"] if result = get("/pages/#{ id }") @loaded[:"page_#{ id }"] = result end end
pages()
click to toggle source
# File lib/paspartout-api.rb, line 28 def pages return @loaded[:pages] if @loaded[:pages] if result = get('/pages') @loaded[:pages] = result end end
site()
click to toggle source
# File lib/paspartout-api.rb, line 20 def site return @loaded[:site] if @loaded[:site] if result = get @loaded[:site] = result end end
Private Instance Methods
get(path = '')
click to toggle source
# File lib/paspartout-api.rb, line 56 def get path = '' @errors = [] request = HTTParty.get("http://api.paspartout.com/public/v2/#{ @api_key }#{ path }.json") result = Hashie::Mash.new({ body: JSON.parse(request.body) }) if ''.respond_to?(:html_safe) result = make_html_safe(result) end if result.error @errors.push(result.error) false else result.body end end
make_html_safe(value)
click to toggle source
# File lib/paspartout-api.rb, line 75 def make_html_safe value case value.class.to_s when 'String' value = HTMLEntities.new.decode(value).html_safe when 'Array' value.each.with_index do |v, i| value[i] = make_html_safe(v) end when 'Hash' when 'Hashie::Mash' value.each_pair do |k, v| value[k] = make_html_safe(v) end end value end