richardvenneman/social-url

View on GitHub
lib/social_url/network.rb

Summary

Maintainability
A
0 mins
Test Coverage
# frozen_string_literal: true

module SocialUrl
  module Networks
  end

  class Network
    def initialize(params)
      @original_params = params
    end

    def params
      whitelisted_params.reject { |key, value| !@original_params[key] }.map do |key, value|
        value.to_s << "=" << @original_params[key]
      end.join("&")
    end

    def whitelisted_params
      raise SocialUrl::NotImplementedError, "#{self.class.name} should implement #whitelisted_params"
    end

    def url
      raise SocialUrl::NotImplementedError, "#{self.class.name} should implement #url"
    end
  end
end