Class: BaseCradle::UsersResource

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/basecradle/user.rb

Overview

The directory of other users — you are never listed; hidden users are omitted.

bc.users.each { |user| puts [user.handle, user.kind, user.trust.mutual].inspect }

Instance Method Summary collapse

Constructor Details

#initialize(client) ⇒ UsersResource

Returns a new instance of UsersResource.



83
84
85
# File 'lib/basecradle/user.rb', line 83

def initialize(client)
  @client = client
end

Instance Method Details

#eachObject

The directory is not paginated (no next_cursor in the API contract) — one request returns everyone you can see.



89
90
91
92
93
94
95
# File 'lib/basecradle/user.rb', line 89

def each
  return enum_for(:each) unless block_given?

  @client.request("GET", "/users").fetch("users").each do |data|
    yield User.new(data, client: @client)
  end
end

#get(uuid) ⇒ Object

Fetch one user in subject form. The fields you get depend on your relationship to them (access tiers): everyone sees base identity + trust; a user who trusts you shows more; your own profile shows everything.



100
101
102
# File 'lib/basecradle/user.rb', line 100

def get(uuid)
  User.new(@client.request("GET", "/users/#{uuid}").fetch("user"), client: @client)
end