34 lines
562 B
Ruby
34 lines
562 B
Ruby
module Sources
|
|
module Strategies
|
|
class Base
|
|
attr_reader :url, :agent
|
|
|
|
def initialize(url)
|
|
@url = url
|
|
@agent = create_agent
|
|
end
|
|
|
|
def artist_name
|
|
raise NotImplementedError
|
|
end
|
|
|
|
def tags
|
|
raise NotImplementedError
|
|
end
|
|
|
|
def profile_url
|
|
raise NotImplementedError
|
|
end
|
|
|
|
def image_url
|
|
raise NotImplementedError
|
|
end
|
|
|
|
protected
|
|
def create_agent
|
|
raise NotImplementedError
|
|
end
|
|
end
|
|
end
|
|
end
|