Sha256: 2eb688475cea24fa473bb684080bc7f60eda76a31909fdb46822758efa61a084

Contents?: true

Size: 542 Bytes

Versions: 5

Compression:

Stored size: 542 Bytes

Contents

require 'social_parser/provider/base'

module SocialParser
  module Provider
    class Medium < Base
      URL_FORMATS = {
        full: /\A((https?)?:\/\/)?(www\.)?medium\.com\/(?<id>@?[\w\-\.]+)\/?/i
      }

      def provider
        :medium
      end

      def url
        "https://medium.#{domain}/#{username}"
      end

      private

      def parse_from_url
        URL_FORMATS.values.each do |format|
          m = format.match(url_from_attributes)
          return m[:id] if m
        end
        nil
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
social_parser-1.1.0 lib/social_parser/provider/medium.rb
social_parser-1.0.8 lib/social_parser/provider/medium.rb
social_parser-1.0.7 lib/social_parser/provider/medium.rb
social_parser-1.0.6 lib/social_parser/provider/medium.rb
social_parser-1.0.5 lib/social_parser/provider/medium.rb