Class: YoutubeParser::BaseParser

Inherits:
Object
  • Object
show all
Defined in:
lib/youtube_parser/base_parser.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ BaseParser

Returns a new instance of BaseParser.



7
8
9
10
11
12
13
14
15
# File 'lib/youtube_parser/base_parser.rb', line 7

def initialize(options = {})
  @options = Resource.new(options)

  required_options.each do |option|
    message = "missing keyword: #{option}"

    raise ArgumentError, message unless @options.public_send(option)
  end
end

Instance Attribute Details

#optionsObject (readonly)

Returns the value of attribute options.



5
6
7
# File 'lib/youtube_parser/base_parser.rb', line 5

def options
  @options
end

Class Method Details

.options(*opts) ⇒ Object



25
26
27
# File 'lib/youtube_parser/base_parser.rb', line 25

def self.options(*opts)
  define_method(:required_options) { opts }
end

Instance Method Details

#infoObject

Raises:

  • (NotImplementedError)


21
22
23
# File 'lib/youtube_parser/base_parser.rb', line 21

def info
  raise NotImplementedError
end

#resourceObject



17
18
19
# File 'lib/youtube_parser/base_parser.rb', line 17

def resource
  @resource ||= Resource.new(info)
end