Class: Emojidex::Service::Search
- Inherits:
-
Object
- Object
- Emojidex::Service::Search
- Defined in:
- lib/emojidex/service/search.rb
Overview
Search functionality for the emojidex service
Class Method Summary collapse
-
.advanced(code_cont, categories = [], tags = [], opts = {}) ⇒ Object
An expanded version of term with categories and tags as arguments.
-
.ending(code_ew, opts = {}) ⇒ Object
Searches for a code ending with the given term.
-
.find(code, opts = {}) ⇒ Object
Looks directly for an emoji with the exact code provided, returning only the emoji object if found, and nil if not.
- .search(code_cont, opts = {}) ⇒ Object
-
.starting(code_sw, opts = {}) ⇒ Object
Searches for a code starting with the given term.
-
.tags(tags, opts = {}) ⇒ Object
Searches an array of tags for emoji associated with all those tags.
-
.term(code_cont, opts = {}) ⇒ Object
Searches by term with the options given.
Class Method Details
.advanced(code_cont, categories = [], tags = [], opts = {}) ⇒ Object
An expanded version of term with categories and tags as arguments. Options are: detailed: set to true to enable detailed results (defaults to false) limit: sets the number of items per page (default Emojidex::Defaults.limit) Returns a service Collection.
56 57 58 59 60 61 62 63 |
# File 'lib/emojidex/service/search.rb', line 56 def self.advanced(code_cont, categories = [], = [], opts = {}) opts[:code_cont] = Emojidex.escape_code(code_cont) = [] << unless .class == Array opts[:tags] = categories = [] << categories unless categories.class == Array opts[:categories] = categories _do_search(opts) end |
.ending(code_ew, opts = {}) ⇒ Object
Searches for a code ending with the given term. Available options are the same as term. Returns a service Collection.
37 38 39 40 |
# File 'lib/emojidex/service/search.rb', line 37 def self.ending(code_ew, opts = {}) opts[:code_ew] = Emojidex.escape_code(code_ew) _do_search(opts) end |
.find(code, opts = {}) ⇒ Object
Looks directly for an emoji with the exact code provided, returning only the emoji object if found, and nil if not. The find method is unique in the Search module as it is the only method that doesn’t actually search, it just looks up the code directly. The only options you can specify are :username and :auth_token for if you are not initializing a User within the client but still want to return R-18 emoji for users that have them enabled.
72 73 74 75 76 77 |
# File 'lib/emojidex/service/search.rb', line 72 def self.find(code, opts = {}) res = Emojidex::Service::Transactor.get("emoji/#{Emojidex.escape_code(code)}", _check_auth(opts)); return nil if res.include? :error Emojidex::Data::Emoji.new(res) end |
.search(code_cont, opts = {}) ⇒ Object
22 23 24 |
# File 'lib/emojidex/service/search.rb', line 22 def self.search(code_cont, opts = {}) term(code_cont, opts) end |
.starting(code_sw, opts = {}) ⇒ Object
Searches for a code starting with the given term. Available options are the same as term. Returns a service Collection.
29 30 31 32 |
# File 'lib/emojidex/service/search.rb', line 29 def self.starting(code_sw, opts = {}) opts[:code_sw] = Emojidex.escape_code(code_sw) _do_search(opts) end |
.tags(tags, opts = {}) ⇒ Object
Searches an array of tags for emoji associated with all those tags. Available options are the same as term. Returns a service Collection.
45 46 47 48 49 |
# File 'lib/emojidex/service/search.rb', line 45 def self.(, opts = {}) = [] << unless .class == Array opts[:tags] = _do_search(opts) end |
.term(code_cont, opts = {}) ⇒ Object
Searches by term with the options given. Options are: tags: an array of tags to restrict the search to categories: an arry of categories to restrict the serach to detailed: set to true to enable detailed results (defaults to false) limit: sets the number of items per page (default Emojidex::Defaults.limit) Returns a service Collection.
17 18 19 20 |
# File 'lib/emojidex/service/search.rb', line 17 def self.term(code_cont, opts = {}) opts[:code_cont] = Emojidex.escape_code(code_cont) _do_search(opts) end |