Module: Rublox

Defined in:
lib/rublox.rb,
lib/rublox/derive/user.rb,
lib/rublox/util/errors.rb,
lib/rublox/derive/group.rb,
lib/rublox/derive/model.rb,
lib/rublox/bases/base_user.rb,
lib/rublox/models/presence.rb,
lib/rublox/util/api_helper.rb,
lib/rublox/bases/base_group.rb,
lib/rublox/models/full_user.rb,
lib/rublox/models/full_group.rb,
lib/rublox/models/group_shout.rb,
lib/rublox/models/skinny_user.rb

Overview

rublox is a Roblox web API wrapper written in Ruby. It aims to provide an object oriented interface to get and modify data from Roblox’s web API. Docs: rubydoc.info/gems/rublox

Defined Under Namespace

Modules: APIHelper, Bases, Derive, Errors, Models

Class Method Summary collapse

Class Method Details

.authenticated_userModels::SkinnyUser

Returns the current authenticated user.

Returns:



22
23
24
# File 'lib/rublox.rb', line 22

def self.authenticated_user
	Models::SkinnyUser.new(APIHelper.get("https://users.roblox.com/v1/users/authenticated"))
end

.base_group(id) ⇒ Bases::BaseUser

Returns:



68
69
70
# File 'lib/rublox.rb', line 68

def self.base_group(id)
	Bases::BaseGroup.new(id)
end

.base_user(id) ⇒ Bases::BaseUser

Returns:



27
28
29
# File 'lib/rublox.rb', line 27

def self.base_user(id)
	Bases::BaseUser.new(id)
end

.group_from_id(id) ⇒ Models::FullGroup

Returns:



73
74
75
76
77
78
79
# File 'lib/rublox.rb', line 73

def self.group_from_id(id)
	Models::FullGroup.new(APIHelper.get("https://groups.roblox.com/v1/groups/#{id}"))
rescue Errors::UnhandledStatusCodeError => e
	raise Errors::GroupNotFoundError, cause: nil if e.response.status == 400

	raise
end

.roblosecurity=(roblosecurity) ⇒ nil

Sets the .ROBLOSECURITY cookie to send authenticated requests

Returns:

  • (nil)


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

def self.roblosecurity=(roblosecurity)
	APIHelper.roblosecurity = roblosecurity
end

.user_from_id(id) ⇒ Models::FullUser

Returns:



32
33
34
35
36
37
38
# File 'lib/rublox.rb', line 32

def self.user_from_id(id)
	Models::FullUser.new(APIHelper.get("https://users.roblox.com/v1/users/#{id}"))
rescue Errors::UnhandledStatusCodeError => e
	raise Errors::UserNotFoundError, cause: nil if e.response.status == 404

	raise
end

.user_from_username(username, exclude_banned_users: false) ⇒ Models::SkinnyUser

Returns:



63
64
65
# File 'lib/rublox.rb', line 63

def self.user_from_username(username, exclude_banned_users: false)
	users_from_usernames([username], exclude_banned_users: exclude_banned_users)[0] or raise Errors::UserNotFoundError
end

.user_presence_from_id(id) ⇒ Models::Presence

Returns:



94
95
96
# File 'lib/rublox.rb', line 94

def self.user_presence_from_id(id)
	user_presences_from_ids([id])[0]
end

.user_presences_from_ids(ids) ⇒ Array<Models::Presence>

Returns:



82
83
84
85
86
87
88
89
90
91
# File 'lib/rublox.rb', line 82

def self.user_presences_from_ids(ids)
	APIHelper.post(
		"https://presence.roblox.com/v1/presence/users",
		json: { userIds: ids }
	)["userPresences"].map { |data| Models::Presence.new(data) }
rescue Errors::UnhandledStatusCodeError => e
	raise Errors::PresenceRequestError, cause: nil if e.response.status == 400

	raise
end

.users_from_ids(ids, exclude_banned_users: false) ⇒ Array<Models::SkinnyUser>

Returns:



41
42
43
44
45
46
47
48
49
# File 'lib/rublox.rb', line 41

def self.users_from_ids(ids, exclude_banned_users: false)
	APIHelper.post(
		"https://users.roblox.com/v1/users",
		json: {
			userIds: ids,
			excludeBannedUsers: exclude_banned_users
		}
	)["data"].map { |data| Models::SkinnyUser.new(data) }
end

.users_from_usernames(usernames, exclude_banned_users: false) ⇒ Array<Models::SkinnyUser>

Returns:



52
53
54
55
56
57
58
59
60
# File 'lib/rublox.rb', line 52

def self.users_from_usernames(usernames, exclude_banned_users: false)
	APIHelper.post(
		"https://users.roblox.com/v1/usernames/users",
		json: {
			usernames: usernames,
			excludeBannedUsers: exclude_banned_users
		}
	)["data"].map { |data| Models::SkinnyUser.new(data) }
end