Sha256: d6551590466863f6bdb8b6d69ea095fe6ebbdd3b3ab6da1096805cee8465000a

Contents?: true

Size: 1.03 KB

Versions: 2

Compression:

Stored size: 1.03 KB

Contents

module Html2rss
  module AttributePostProcessors
    ## Returns a defined part of a String.
    #
    # Both parameters must be an Integer and they can be negative.
    # The +end+ parameter can be omitted, in that case it will not cut the
    # String at the end.
    #
    # A Regexp or a MatchString is not supported.
    #
    # See the [`String#[]`](https://ruby-doc.org/core/String.html#method-i-5B-5D)
    # documentation for more information.
    #
    # Imagine this HTML:
    #    <h1>Foo bar and baz<h1>
    #
    # YAML usage example:
    #    selectors:
    #      title:
    #        selector: h1
    #        post_process:
    #          name: substring
    #          start: 4
    #          end: 6
    #
    # Would return:
    #    'bar'
    class Substring
      def initialize(value, env)
        @value = value
        @options = env[:options]
      end

      ##
      # @return [String]
      def get
        ending = @options.fetch('end', @value.length).to_i
        @value[@options['start'].to_i..ending]
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
html2rss-0.8.1 lib/html2rss/attribute_post_processors/substring.rb
html2rss-0.8.0 lib/html2rss/attribute_post_processors/substring.rb