Class: YoutubeParser::Client

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

Constant Summary collapse

BASE_URL =
'https://www.youtube.com/'
DATA_REGEX =
/window\[\"ytInitialData\"\]\s*\=\s*(\{[\w\W]+?\})\;/.freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Client

Returns a new instance of Client.



10
11
12
# File 'lib/youtube_parser/client.rb', line 10

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

Instance Attribute Details

#optionsObject (readonly)

Returns the value of attribute options.



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

def options
  @options
end

Instance Method Details

#get(endpoint, options = {}) ⇒ Object



14
15
16
17
18
19
20
21
# File 'lib/youtube_parser/client.rb', line 14

def get(endpoint, options = {})
  response = client.get(endpoint, options)
  return {} unless response.status.eql?(200)

  json_str = response.body[DATA_REGEX, 1]

  get_json json_str
end