Use 'Forwardable' module to pass along some attribute calls to @post
This commit is contained in:
parent
459a4c1e55
commit
5a52986db0
|
@ -1,9 +1,17 @@
|
|||
require 'jekyll/convertible'
|
||||
require 'forwardable'
|
||||
|
||||
module Jekyll
|
||||
class Excerpt
|
||||
include Convertible
|
||||
extend Forwardable
|
||||
|
||||
attr_accessor :post
|
||||
attr_accessor :content, :output, :ext
|
||||
|
||||
def_delegator :@post, :site, :site
|
||||
def_delegator :@post, :name, :name
|
||||
def_delegator :@post, :ext, :ext
|
||||
|
||||
# Initialize this Post instance.
|
||||
#
|
||||
|
@ -17,12 +25,6 @@ module Jekyll
|
|||
self.content = extract_excerpt(post.content)
|
||||
end
|
||||
|
||||
%w[site name ext].each do |meth|
|
||||
define_method(meth) do
|
||||
post.send(meth)
|
||||
end
|
||||
end
|
||||
|
||||
def to_liquid
|
||||
post.to_liquid(Post::EXCERPT_ATTRIBUTES_FOR_LIQUID)
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue