forki 0.2.1 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 412d3450d71c6ec80cbf868cf005545ed437a3bb06532cb383af0fa65088baaf
4
- data.tar.gz: 78707c68f6c49f65f755c4df5edc08585aacb05dd1f22311fca734285e3f74a4
3
+ metadata.gz: 7edf04a9e64d21fa773c11ff10e0af20237061015195baac334e7de90750e7d8
4
+ data.tar.gz: 0bfc1308c2e54cc36c7454f8dbdc9b1776493350fdabfc1e166f2d9214a7da71
5
5
  SHA512:
6
- metadata.gz: bde0f077222e99c19da6ac3a9b1dad259d21fa147fc18d6ba52a3e9706aa4ef4408379b59a5c95e2e6b9d5377b1b8272b78ba934f903caa45db94a6da031c803
7
- data.tar.gz: 325224a93a9183695c54024f0de22d2882aa04998fd6d31e2db4f6226c217ebd44de4fd140f3ebdd06bb5edb2ff01b2b0d74f70c2a804915461091fc81482d68
6
+ metadata.gz: 90582f953c5490a2d2f338ecd3463dca1ebb4cad726307202aab90a71019a16476b42c46704ce0df462d71062117e2ca27dbd95ad2db06627d3be984e5528bbe
7
+ data.tar.gz: 671538d2aaeefa63fb4380252e3d167da7b65f05e1af3899f91de9ce1dd1ef53100d04dd72b868baf690e8b2187f55d2a092474a6140e3ddb35c17fe52766f66
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- forki (0.1.4)
4
+ forki (0.2.1)
5
5
  apparition
6
6
  capybara
7
7
  oj
@@ -127,7 +127,7 @@ GEM
127
127
  rubocop-rails (~> 2.0)
128
128
  ruby-progressbar (1.13.0)
129
129
  rubyzip (2.3.2)
130
- selenium-webdriver (4.10.0)
130
+ selenium-webdriver (4.11.0)
131
131
  rexml (~> 3.2, >= 3.2.5)
132
132
  rubyzip (>= 1.2.2, < 3.0)
133
133
  websocket (~> 1.0)
@@ -29,7 +29,7 @@ class ImageSieve<%= camel_name %>Test < Minitest::Test
29
29
  assert_equal false, result[:reshare_warning]
30
30
  assert_not_nil result[:video_preview_image_url]
31
31
  assert_not_nil result[:video_url]
32
- assert_equal nil, text
32
+ assert_equal nil, result[:text]
33
33
  assert_equal 1654989063, result[:created_at]
34
34
  assert_equal nil, result[:profile_link]
35
35
  assert_equal false, result[:has_video]
@@ -28,7 +28,7 @@ class VideoSieve<%= camel_name %>Test < Minitest::Test
28
28
  assert_equal false, result[:reshare_warning]
29
29
  assert_not_nil result[:video_preview_image_url]
30
30
  assert_not_nil result[:video_url]
31
- assert_equal nil, text
31
+ assert_equal nil, result[:text]
32
32
  assert_equal 1654989063, result[:created_at]
33
33
  assert_equal nil, result[:profile_link]
34
34
  assert_equal true, result[:has_video]
@@ -15,7 +15,7 @@ module Forki
15
15
  views_pattern = /[0-9MK, ]+Views/
16
16
  spans = all("span")
17
17
  views_span = spans.find { |s| s.text(:all) =~ views_pattern }
18
- extract_int_from_num_element(views_span)
18
+ Scraper.extract_int_from_num_element(views_span)
19
19
  end
20
20
 
21
21
  def extract_post_data(graphql_strings)
@@ -215,7 +215,7 @@ module Forki
215
215
 
216
216
  def extract_video_post_data_alternative(graphql_object_array)
217
217
  sidepane_object = graphql_object_array.find { |graphql_object| graphql_object.key?("tahoe_sidepane_renderer") }
218
- video_object = graphql_object_array.find { |graphql_object| graphql_object.keys == ["video"] }
218
+ video_object = graphql_object_array.find { |graphql_object| graphql_object.has_key?("video") }
219
219
  feedback_object = sidepane_object["tahoe_sidepane_renderer"]["video"]["feedback"]
220
220
  reaction_counts = extract_reaction_counts(sidepane_object["tahoe_sidepane_renderer"]["video"]["feedback"]["cannot_see_top_custom_reactions"]["top_reactions"])
221
221
  share_count_object = feedback_object.fetch("share_count", {})
@@ -209,7 +209,7 @@ module Forki
209
209
  # Extracts an integer out of a string describing a number
210
210
  # e.g. "4K Comments" returns 4000
211
211
  # e.g. "131 Shares" returns 131
212
- def extract_int_from_num_element(element)
212
+ def self.extract_int_from_num_element(element)
213
213
  return unless element
214
214
 
215
215
  if element.class != String # if an html element was passed in
@@ -14,7 +14,7 @@ class VideoSieve
14
14
  private
15
15
 
16
16
  def self.sieve_class_for_graphql_objects(graphql_objects)
17
- sieves = [VideoSieveWatchTab, VideoSieveVideoPage]
17
+ sieves = [VideoSieveWatchTab, VideoSieveVideoPage, VideoSieveReel]
18
18
  sieves.detect { |sieve| sieve.check(graphql_objects) }
19
19
  end
20
20
  end
@@ -10,7 +10,7 @@ module Forki
10
10
 
11
11
  return nil if number_of_likes_match.nil?
12
12
 
13
- extract_int_from_num_element(number_of_likes_match.named_captures["num_likes"])
13
+ Scraper.extract_int_from_num_element(number_of_likes_match.named_captures["num_likes"])
14
14
  end
15
15
 
16
16
  # Finds and returns the number of people who follow the current page
@@ -21,12 +21,12 @@ module Forki
21
21
 
22
22
  return nil if number_of_followers_match.nil?
23
23
 
24
- number_of_followers = extract_int_from_num_element(number_of_followers_match.named_captures["num_followers"])
24
+ number_of_followers = Scraper.extract_int_from_num_element(number_of_followers_match.named_captures["num_followers"])
25
25
 
26
26
  # Note, this is sticking around if we want to use it later
27
27
  # if number_of_followers.nil?
28
28
  # number_of_followers_string = JSON.parse(profile_header_str)["user"]["profile_header_renderer"]["user"]["profile_social_context"]["content"].first["text"]["text"]
29
- # number_of_followers = extract_int_from_num_element(number_of_followers_string)
29
+ # number_of_followers = Scraper.extract_int_from_num_element(number_of_followers_string)
30
30
  # end
31
31
 
32
32
  number_of_followers
@@ -36,7 +36,7 @@ module Forki
36
36
  followers_string = profile_followers_node["node"]["timeline_context_item"]["renderer"]["context_item"]["title"]["text"]
37
37
  followers_pattern = /[0-9,]+/
38
38
  number_of_followers_match = followers_pattern.match(followers_string).to_s
39
- extract_int_from_num_element(number_of_followers_match)
39
+ Scraper.extract_int_from_num_element(number_of_followers_match)
40
40
  end
41
41
 
42
42
  # Returns a hash of details about a Facebook user profile
data/lib/forki/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Forki
4
- VERSION = "0.2.1"
4
+ VERSION = "0.2.2"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: forki
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - ''
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-08-01 00:00:00.000000000 Z
11
+ date: 2023-08-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: capybara