Sha256: 90579fb5b0c79e210e18df51a979e4fff8f00304de9461a189d3c5ff71e8c1bf

Contents?: true

Size: 540 Bytes

Versions: 6

Compression:

Stored size: 540 Bytes

Contents

class IdsPlease
  module Parsers
    class Base
      class << self

        def to_sym
          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

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

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

      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
ids_please-2.3.0 lib/ids_please/parsers/base.rb
ids_please-2.2.5 lib/ids_please/parsers/base.rb
ids_please-2.2.4 lib/ids_please/parsers/base.rb
ids_please-2.2.3 lib/ids_please/parsers/base.rb
ids_please-2.2.2 lib/ids_please/parsers/base.rb
ids_please-2.2.1 lib/ids_please/parsers/base.rb