lib/polygon/helpers.rb in polygon-0.9.1 vs lib/polygon/helpers.rb in polygon-0.10.0

- old
+ new

@@ -12,18 +12,13 @@ def templates settings.templates end def database - settings.database + Polygon.connection(settings.doc_folder) end - def lispy(&bl) - @lispy ||= Alf.lispy(database) - bl ? @lispy.evaluate(&bl) : @lispy - end - def in_production settings.environment == :production end def in_test @@ -33,19 +28,27 @@ def in_development settings.environment == :development end def sitemap_locals - { :urls => database.sitemap } + index_locals.merge(:urls => database.query{ sitemap }) end + def normalize_path(path) + path = path[1..-1] if path =~ /^\// + path = path[0...-1] if path =~ /\/$/ + path + end + def page_locals(path = "") - rel = lispy do - (unwrap \ - (extend (restrict :sitemap, :path => path), - :data => lambda{ entry.to_hash }), - :data) - end + path = normalize_path(path) + rel = database.relvar{ + unwrap( + extend( + restrict(sitemap, path: path), + data: ->{ entry }), + :data) + } rel && rel.to_a.first end alias :index_locals :page_locals end # module Helpers