Sha256: f50c84991f8f44d99e2d23bdeff23336a8efe6cfd69422d505f045d4ca63c963

Contents?: true

Size: 562 Bytes

Versions: 7

Compression:

Stored size: 562 Bytes

Contents

class IdsPlease
  module Parsers
    class Base

      class << self
        def to_sym
          self.name.split('::').last.downcase.to_sym
        end

        def interact(links)
          links.map do |l|
            id = parse_link(l)
            matched_id = id.match(valid_id_regex) if id
            matched_id[1] if matched_id
          end.compact
        end

        private

        def parse_link(link)
          link.path.split('/')[1]
        end

        def valid_id_regex
          /\A([\w\.\+-]{2,})/
        end
      end

    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
ids_please-2.2.0 lib/ids_please/parsers/base.rb
ids_please-2.1.2 lib/ids_please/parsers/base.rb
ids_please-2.1.1 lib/ids_please/parsers/base.rb
ids_please-2.1.0 lib/ids_please/parsers/base.rb
ids_please-2.0.0.beta2 lib/ids_please/parsers/base.rb
ids_please-2.0.0.beta1 lib/ids_please/parsers/base.rb
ids_please-2.0.0.beta lib/ids_please/parsers/base.rb