Class: Emojidex::Service::Indexes

Inherits:
Object
  • Object
show all
Defined in:
lib/emojidex/service/indexes.rb

Overview

emoji indexes

Class Method Summary collapse

Class Method Details

.emoji(detailed = false, limit = Emojidex::Defaults.limit, page = 0) ⇒ Object

Obtain a service Collection of emoji indexed by score. This is the default index.



11
12
13
14
# File 'lib/emojidex/service/indexes.rb', line 11

def self.emoji(detailed = false, limit = Emojidex::Defaults.limit, page = 0)
  Emojidex::Service::Collection.new(endpoint: 'emoji', detailed: detailed,
                                    limit: limit, page: page)
end

.moji_codes(locale = Emojidex::Defaults.lang) ⇒ Object

Obtains a hash with three different types of chracter [moji] code indexes: moji_string: a string that can be used for things like regex matches.

Contains conglomorate codes ahead of single chracter codes.

moji_array: an array of emoji characters.

Contains conglomorate codes ahead of single chracter codes.

moji_index: a hash map with the keys being emoji strings and the values being

the emoji short codes in the locale [language] specified (defaults to english).


48
49
50
51
52
53
54
55
56
# File 'lib/emojidex/service/indexes.rb', line 48

def self.moji_codes(locale = Emojidex::Defaults.lang)
  begin
    res = Emojidex::Service::Transactor.get('moji_codes.msgpack', locale: locale)
  rescue
    return { moji_string: '', moji_array: [], moji_index: {} }
  end
  res[:moji_index] = Hash[res[:moji_index].map { |k, v| [k.to_s, v] }]
  res
end

.newest(detailed = false, limit = Emojidex::Defaults.limit, page = 0, username = nil, auth_token = nil) ⇒ Object

Obtain a service Collection of emoji indexed by date of creation (or in some cases update).



17
18
19
20
21
22
23
24
25
26
# File 'lib/emojidex/service/indexes.rb', line 17

def self.newest(detailed = false, limit = Emojidex::Defaults.limit, page = 0,
                username = nil, auth_token = nil)
  if auth_token.nil?
    username = Emojidex::Client.USER.username
    auth_token = Emojidex::Client.USER.auth_token
  end
  Emojidex::Service::Collection.new(endpoint: 'newest', detailed: detailed,
                                    limit: limit, page: page,
                                    username: username, auth_token: auth_token)
end

Obtain a service Collection of emoji indexed by popularity [how many times they have been favorited].



30
31
32
33
34
35
36
37
38
39
# File 'lib/emojidex/service/indexes.rb', line 30

def self.popular(detailed = false, limit = Emojidex::Defaults.limit, page = 0,
                 username = nil, auth_token = nil)
  if auth_token.nil?
    username = Emojidex::Client.USER.username
    auth_token = Emojidex::Client.USER.auth_token
  end
  Emojidex::Service::Collection.new(endpoint: 'popular', detailed: detailed,
                                    limit: limit, page: page,
                                    username: username, auth_token: auth_token)
end

.user_emoji(username, detailed = false, limit = Emojidex::Defaults.limit, page = 0) ⇒ Object



58
59
60
61
# File 'lib/emojidex/service/indexes.rb', line 58

def self.user_emoji(username, detailed = false, limit = Emojidex::Defaults.limit, page = 0)
  Emojidex::Service::Collection.new(endpoint: "users/#{username}/emoji", detailed: detailed,
                                    limit: limit, page: page)
end