class Insta::User
Attributes
config[RW]
data[RW]
language[R]
password[R]
session[RW]
username[R]
Public Class Methods
new(username, password, session = nil, data = nil, config = nil)
click to toggle source
# File lib/insta/user.rb, line 17 def initialize(username, password, session = nil, data = nil, config = nil) @username = username @password = password @language = 'en_US' @session = session @data = data @config = config end
Public Instance Methods
api()
click to toggle source
# File lib/insta/user.rb, line 58 def api (18 + (md5int % 5)).to_s end
device_id()
click to toggle source
# File lib/insta/user.rb, line 99 def device_id 'android-' + md5[0..15] end
dpi()
click to toggle source
# File lib/insta/user.rb, line 67 def dpi %w[801 577 576 538 515 424 401 373][md5int % 8] end
info()
click to toggle source
# File lib/insta/user.rb, line 76 def info line = Device.devices[md5int % Device.devices.count] { manufacturer: line[0], device: line[1], model: line[2] } end
md5()
click to toggle source
# File lib/insta/user.rb, line 50 def md5 Digest::MD5.hexdigest @username end
md5int()
click to toggle source
# File lib/insta/user.rb, line 54 def md5int (md5.to_i(32) / 10e32).round end
release()
click to toggle source
@return [string]
# File lib/insta/user.rb, line 63 def release %w[4.0.4 4.3.1 4.4.4 5.1.1 6.0.1][md5int % 5] end
resolution()
click to toggle source
# File lib/insta/user.rb, line 71 def resolution %w[3840x2160 1440x2560 2560x1440 1440x2560 2560x1440 1080x1920 1080x1920 1080x1920][md5int % 8] end
search_for_user(username, data = {})
click to toggle source
# File lib/insta/user.rb, line 26 def search_for_user (username, data = {}) Insta::Account.search_for_user(self, username, data) end
search_for_user_graphql(username, data = {})
click to toggle source
# File lib/insta/user.rb, line 30 def search_for_user_graphql (username, data = {}) Insta::Account.search_for_user_graphql(self, username, data) end
user_followers(limit = Float::INFINITY, data = {})
click to toggle source
# File lib/insta/user.rb, line 42 def user_followers(limit = Float::INFINITY, data = {}) Insta::Feed.user_followers(self, data, limit) end
user_followers_graphql(limit = Float::INFINITY, data = {})
click to toggle source
# File lib/insta/user.rb, line 46 def user_followers_graphql(limit = Float::INFINITY, data = {}) Insta::Feed.user_followers_graphql(self, data, limit) end
user_media(data = {})
click to toggle source
# File lib/insta/user.rb, line 34 def user_media(data = {}) Insta::Feed.user_media(self, data) end
user_media_graphql(data = {})
click to toggle source
# File lib/insta/user.rb, line 38 def user_media_graphql(data = {}) Insta::Feed.user_media_graphql(self, data) end
useragent()
click to toggle source
# File lib/insta/user.rb, line 95 def useragent format('Instagram %s Android(%s)', useragent_hash[:version], useragent_hash[:agent].rstrip) end
useragent_hash()
click to toggle source
# File lib/insta/user.rb, line 85 def useragent_hash agent = [api + '/' + release, dpi + 'dpi', resolution, info[:manufacturer], info[:model], info[:device], @language] { agent: agent.join('; '), version: CONSTANTS::PRIVATE_KEY[:APP_VERSION] } end