Sha256: 5f7c97965a5798d27ace12f4f5d2ed0607de5a5e4a6e4cd9ecb5eab234da526d
Contents?: true
Size: 723 Bytes
Versions: 2
Compression:
Stored size: 723 Bytes
Contents
module Brief class Document::ContentExtractor def initialize(model_type, document) @model_type = model_type @document = document end def document @document end def model_class Brief::Model.for_type(@model_type) end def attribute_set model_class.definition.content_schema.attributes end def respond_to?(meth) attribute_set.key?(meth) || super end def method_missing(meth, *args, &block) if settings = attribute_set.fetch(meth, nil) if settings.args.length == 1 && settings.args.first.is_a?(String) selector = settings.args.first document.css(selector).try(:text) end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
brief-1.1.0 | lib/brief/document/content_extractor.rb |
brief-1.0.0 | lib/brief/document/content_extractor.rb |