class Bunto::Tags::PostUrl
Public Class Methods
new(tag_name, post, tokens)
click to toggle source
Calls superclass method
# File lib/bunto/tags/post_url.rb, line 55 def initialize(tag_name, post, tokens) super @orig_post = post.strip begin @post = PostComparer.new(@orig_post) rescue => e raise Bunto::Errors::PostURLError, <<-eos Could not parse name of post "#{@orig_post}" in tag 'post_url'. Make sure the post exists and the name is correct. #{e.class}: #{e.message} eos end end
Public Instance Methods
render(context)
click to toggle source
# File lib/bunto/tags/post_url.rb, line 71 def render(context) site = context.registers[:site] site.posts.docs.each do |p| return p.url if @post == p end # New matching method did not match, fall back to old method # with deprecation warning if this matches site.posts.docs.each do |p| next unless @post.deprecated_equality p Bunto::Deprecator.deprecation_message "A call to "\ "'{{ post_url #{@post.name} }}' did not match " \ "a post using the new matching method of checking name " \ "(path-date-slug) equality. Please make sure that you " \ "change this tag to match the post's name exactly." return p.url end raise Bunto::Errors::PostURLError, <<-eos Could not find post "#{@orig_post}" in tag 'post_url'. Make sure the post exists and the name is correct. eos end