emojidex 0.0.23 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.coveralls.yml +1 -0
- data/.rubocop.yml +3 -0
- data/.travis.yml +7 -6
- data/Gemfile +0 -2
- data/Guardfile +17 -8
- data/README.md +54 -17
- data/emojidex.gemspec +4 -1
- data/lib/emojidex.rb +12 -10
- data/lib/emojidex/{categories.rb → data/categories.rb} +3 -4
- data/lib/emojidex/{category.rb → data/category.rb} +1 -1
- data/lib/emojidex/data/collection.rb +158 -0
- data/lib/emojidex/data/collection/asset_information.rb +52 -0
- data/lib/emojidex/data/collection/cache.rb +137 -0
- data/lib/emojidex/{collection → data/collection}/moji_data.rb +1 -1
- data/lib/emojidex/data/collection/static_collection.rb +35 -0
- data/lib/emojidex/data/collection_checker.rb +94 -0
- data/lib/emojidex/{emoji.rb → data/emoji.rb} +3 -2
- data/lib/emojidex/data/emoji/asset_information.rb +45 -0
- data/lib/emojidex/data/extended.rb +18 -0
- data/lib/emojidex/data/utf.rb +18 -0
- data/lib/emojidex/defaults.rb +21 -0
- data/lib/emojidex/env_helper.rb +11 -0
- data/lib/emojidex/service/collection.rb +67 -0
- data/lib/emojidex/service/error.rb +9 -0
- data/lib/emojidex/service/indexes.rb +43 -0
- data/lib/emojidex/service/search.rb +82 -0
- data/lib/emojidex/service/transactor.rb +100 -0
- data/lib/emojidex/service/user.rb +233 -0
- data/spec/{categories_spec.rb → emojidex/data/categories_spec.rb} +4 -3
- data/spec/{collection_checker_spec.rb → emojidex/data/collection_checker_spec.rb} +12 -15
- data/spec/{collection_spec.rb → emojidex/data/collection_spec.rb} +40 -23
- data/spec/{emoji_spec.rb → emojidex/data/emoji_spec.rb} +2 -2
- data/spec/{extended_spec.rb → emojidex/data/extended_spec.rb} +21 -10
- data/spec/{utf_spec.rb → emojidex/data/utf_spec.rb} +22 -17
- data/spec/emojidex/service/collection_spec.rb +20 -0
- data/spec/emojidex/service/error_spec.rb +17 -0
- data/spec/emojidex/service/indexes_spec.rb +62 -0
- data/spec/emojidex/service/search_spec.rb +87 -0
- data/spec/emojidex/service/transactor_spec.rb +11 -0
- data/spec/emojidex/service/user_spec.rb +128 -0
- data/spec/spec_helper.rb +9 -62
- metadata +36 -31
- data/lib/emojidex/api/categories.rb +0 -16
- data/lib/emojidex/api/emoji.rb +0 -26
- data/lib/emojidex/api/search/emoji.rb +0 -16
- data/lib/emojidex/client.rb +0 -60
- data/lib/emojidex/collection.rb +0 -156
- data/lib/emojidex/collection/asset_information.rb +0 -49
- data/lib/emojidex/collection/cache.rb +0 -78
- data/lib/emojidex/collection_checker.rb +0 -93
- data/lib/emojidex/emoji/asset_information.rb +0 -20
- data/lib/emojidex/error.rb +0 -15
- data/lib/emojidex/extended.rb +0 -19
- data/lib/emojidex/service.rb +0 -32
- data/lib/emojidex/utf.rb +0 -19
- data/spec/api/categories_spec.rb +0 -49
- data/spec/api/emoji_spec.rb +0 -89
- data/spec/api/search/emoji_spec.rb +0 -30
- data/spec/client_spec.rb +0 -24
@@ -1,20 +0,0 @@
|
|
1
|
-
|
2
|
-
module Emojidex
|
3
|
-
# Asset information for emoji
|
4
|
-
module EmojiAssetInformation
|
5
|
-
attr_accessor :checksums, :paths
|
6
|
-
|
7
|
-
# returns asset checksum
|
8
|
-
def checksum?(format, variant = nil)
|
9
|
-
puts @checksums
|
10
|
-
return @checksums[format][variant] unless variant.nil?
|
11
|
-
@checksums[format]
|
12
|
-
end
|
13
|
-
|
14
|
-
# returns asset path
|
15
|
-
def path?(format, variant = nil)
|
16
|
-
return @paths[format][variant] unless variant.nil?
|
17
|
-
@paths[format]
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
data/lib/emojidex/error.rb
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
module Emojidex
|
2
|
-
# emojidex error class
|
3
|
-
class Error < StandardError
|
4
|
-
attr_reader :wrapped_exception
|
5
|
-
|
6
|
-
def initialize(exception = $ERROR_INFO)
|
7
|
-
@wrapped_exception = exception
|
8
|
-
if exception.respond_to?(:message)
|
9
|
-
super(exception.message)
|
10
|
-
else
|
11
|
-
super(exception.to_s)
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
data/lib/emojidex/extended.rb
DELETED
@@ -1,19 +0,0 @@
|
|
1
|
-
require_relative 'collection'
|
2
|
-
|
3
|
-
module Emojidex
|
4
|
-
# listing and search of extended emoji from the emojidex set
|
5
|
-
class Extended < Collection
|
6
|
-
def initialize
|
7
|
-
super
|
8
|
-
if defined? Emojidex::Vectors
|
9
|
-
@vector_source_path = Emojidex::Vectors.path + '/extended/'
|
10
|
-
load_local_collection @vector_source_path
|
11
|
-
end
|
12
|
-
if defined? Emojidex::Rasters
|
13
|
-
@raster_source_path = Emojidex::Rasters.path + '/extended/'
|
14
|
-
load_local_collection @raster_source_path
|
15
|
-
end
|
16
|
-
# TODO: load from service
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
data/lib/emojidex/service.rb
DELETED
@@ -1,32 +0,0 @@
|
|
1
|
-
require_relative 'collection'
|
2
|
-
require_relative 'client'
|
3
|
-
|
4
|
-
module Emojidex
|
5
|
-
# listing and search of emoji from the online service/emojidex.com
|
6
|
-
class Service < Collection
|
7
|
-
attr_accessor :client
|
8
|
-
def initialize(emoji_list = nil, client_opts = {})
|
9
|
-
super emoji_list
|
10
|
-
@client = Emojidex::Client.new client_opts
|
11
|
-
end
|
12
|
-
|
13
|
-
# sends an API search, adding results with add_emoji
|
14
|
-
# returns a collection, and adds results to the @emoji array
|
15
|
-
def search(criteria = {})
|
16
|
-
# TODO: *NOTE try and replicate regex search functionality by passing regex to server
|
17
|
-
end
|
18
|
-
|
19
|
-
# directly retrieves the emoji with the given code
|
20
|
-
def find_by_code(code)
|
21
|
-
# TODO: perform a query on emojidex API
|
22
|
-
end
|
23
|
-
|
24
|
-
# emoji on the emojidex service make no language distinctions
|
25
|
-
# find_by_code_ja is simply remapped to find_by_code
|
26
|
-
def find_by_code_ja(code)
|
27
|
-
find_by_code(code)
|
28
|
-
end
|
29
|
-
|
30
|
-
# TODO: override or add caching functionality to retrieve sized png or svg from service
|
31
|
-
end
|
32
|
-
end
|
data/lib/emojidex/utf.rb
DELETED
@@ -1,19 +0,0 @@
|
|
1
|
-
require_relative 'collection'
|
2
|
-
|
3
|
-
module Emojidex
|
4
|
-
# listing and search of standard UTF emoji
|
5
|
-
class UTF < Collection
|
6
|
-
def initialize
|
7
|
-
super
|
8
|
-
if defined? Emojidex::Vectors
|
9
|
-
@vector_source_path = Emojidex::Vectors.path + '/utf/'
|
10
|
-
load_local_collection @vector_source_path
|
11
|
-
end
|
12
|
-
if defined? Emojidex::Rasters
|
13
|
-
@raster_source_path = Emojidex::Rasters.path + '/utf/'
|
14
|
-
load_local_collection @raster_source_path
|
15
|
-
end
|
16
|
-
# TODO: load from service
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
data/spec/api/categories_spec.rb
DELETED
@@ -1,49 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe Emojidex::API::Categories do
|
4
|
-
|
5
|
-
subject { Emojidex::Client.new(host: 'http://localhost') }
|
6
|
-
let!(:api_url) { 'http://localhost/api/v1' }
|
7
|
-
|
8
|
-
describe '#categories' do
|
9
|
-
before do
|
10
|
-
stub_get("#{api_url}/categories.json")
|
11
|
-
.to_return(
|
12
|
-
body: fixture('categories.json'),
|
13
|
-
headers: { content_type: 'application/json' }
|
14
|
-
)
|
15
|
-
end
|
16
|
-
|
17
|
-
it 'requests the correct resource' do
|
18
|
-
subject.categories
|
19
|
-
expect(a_get("#{api_url}/categories.json")).to have_been_made
|
20
|
-
end
|
21
|
-
|
22
|
-
it 'returns the requested categories' do
|
23
|
-
categories = subject.categories
|
24
|
-
expect(categories).to be_an Array
|
25
|
-
expect(categories.first).to be_a Hash
|
26
|
-
end
|
27
|
-
end
|
28
|
-
|
29
|
-
describe '#category' do
|
30
|
-
before do
|
31
|
-
stub_get("#{api_url}/categories/category.json")
|
32
|
-
.to_return(
|
33
|
-
body: fixture('category.json'),
|
34
|
-
headers: { content_type: 'application/json' }
|
35
|
-
)
|
36
|
-
end
|
37
|
-
|
38
|
-
it 'requests the correct resource' do
|
39
|
-
subject.category
|
40
|
-
expect(a_get("#{api_url}/categories/category.json")).to have_been_made
|
41
|
-
end
|
42
|
-
|
43
|
-
it 'returns the requested category' do
|
44
|
-
category = subject.category
|
45
|
-
expect(category).to be_a Hash
|
46
|
-
end
|
47
|
-
end
|
48
|
-
|
49
|
-
end
|
data/spec/api/emoji_spec.rb
DELETED
@@ -1,89 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe Emojidex::API::Emoji do
|
4
|
-
subject { Emojidex::Client.new(host: 'http://localhost') }
|
5
|
-
let!(:api_url) { 'http://localhost/api/v1' }
|
6
|
-
|
7
|
-
describe '#emoji' do
|
8
|
-
before do
|
9
|
-
stub_get("#{api_url}/emoji.json")
|
10
|
-
.to_return(
|
11
|
-
body: fixture('emoji.json'),
|
12
|
-
headers: { content_type: 'application/json' }
|
13
|
-
)
|
14
|
-
end
|
15
|
-
|
16
|
-
it 'requests the correct resource' do
|
17
|
-
subject.emoji
|
18
|
-
expect(a_get("#{api_url}/emoji.json")).to have_been_made
|
19
|
-
end
|
20
|
-
|
21
|
-
it 'returns the requested emoji' do
|
22
|
-
emoji = subject.emoji
|
23
|
-
expect(emoji).to be_an Array
|
24
|
-
expect(emoji.first).to be_a Hash
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
describe '#emoji_detailed' do
|
29
|
-
before do
|
30
|
-
stub_get("#{api_url}/emoji/detailed.json")
|
31
|
-
.to_return(
|
32
|
-
body: fixture('emoji_detailed.json'),
|
33
|
-
headers: { content_type: 'application/json' }
|
34
|
-
)
|
35
|
-
end
|
36
|
-
|
37
|
-
it 'requests the correct resource' do
|
38
|
-
subject.emoji_detailed
|
39
|
-
expect(a_get("#{api_url}/emoji/detailed.json")).to have_been_made
|
40
|
-
end
|
41
|
-
|
42
|
-
it 'returns the requested emoji' do
|
43
|
-
emoji = subject.emoji_detailed
|
44
|
-
expect(emoji).to be_an Array
|
45
|
-
expect(emoji.first).to be_a Hash
|
46
|
-
end
|
47
|
-
end
|
48
|
-
|
49
|
-
describe '#single_emoji' do
|
50
|
-
before do
|
51
|
-
stub_get("#{api_url}/emoji/emoji.json")
|
52
|
-
.to_return(
|
53
|
-
body: fixture('single_emoji.json'),
|
54
|
-
headers: { content_type: 'application/json' }
|
55
|
-
)
|
56
|
-
end
|
57
|
-
|
58
|
-
it 'requests the correct resource' do
|
59
|
-
subject.single_emoji
|
60
|
-
expect(a_get("#{api_url}/emoji/emoji.json")).to have_been_made
|
61
|
-
end
|
62
|
-
|
63
|
-
it 'returns the requested emoji' do
|
64
|
-
emoji = subject.single_emoji
|
65
|
-
expect(emoji).to be_a Hash
|
66
|
-
end
|
67
|
-
end
|
68
|
-
|
69
|
-
describe '#single_emoji_detailed' do
|
70
|
-
before do
|
71
|
-
stub_get("#{api_url}/emoji/1/detailed.json")
|
72
|
-
.to_return(
|
73
|
-
body: fixture('single_emoji_detailed.json'),
|
74
|
-
headers: { content_type: 'application/json' }
|
75
|
-
)
|
76
|
-
end
|
77
|
-
|
78
|
-
it 'requests the correct resource' do
|
79
|
-
subject.single_emoji_detailed
|
80
|
-
expect(a_get("#{api_url}/emoji/1/detailed.json")).to have_been_made
|
81
|
-
end
|
82
|
-
|
83
|
-
it 'returns the requested emoji' do
|
84
|
-
emoji = subject.single_emoji_detailed
|
85
|
-
expect(emoji).to be_a Hash
|
86
|
-
end
|
87
|
-
end
|
88
|
-
|
89
|
-
end
|
@@ -1,30 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe Emojidex::API::Search::Emoji do
|
4
|
-
subject { Emojidex::Client.new(host: 'http://localhost') }
|
5
|
-
let!(:api_url) { 'http://localhost/api/v1' }
|
6
|
-
|
7
|
-
describe '#emoji' do
|
8
|
-
before do
|
9
|
-
stub_get("#{api_url}/search/emoji.json")
|
10
|
-
.with(query: { 'q[code_cont]' => 't' })
|
11
|
-
.to_return(
|
12
|
-
body: fixture('search_emoji.json'),
|
13
|
-
headers: { content_type: 'application/json' }
|
14
|
-
)
|
15
|
-
end
|
16
|
-
|
17
|
-
it 'requests the correct resource' do
|
18
|
-
subject.emoji_code_cont('t')
|
19
|
-
expect(a_get("#{api_url}/search/emoji.json")
|
20
|
-
.with(query: { 'q[code_cont]' => 't' })).to have_been_made
|
21
|
-
end
|
22
|
-
|
23
|
-
it 'returns the requested search' do
|
24
|
-
results = subject.emoji_code_cont('t')
|
25
|
-
expect(results).to be_an Array
|
26
|
-
expect(results.first).to be_a Hash
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
end
|
data/spec/client_spec.rb
DELETED
@@ -1,24 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe Emojidex::Client do
|
4
|
-
|
5
|
-
describe 'initialize' do
|
6
|
-
it 'sets default host' do
|
7
|
-
client = Emojidex::Client.new
|
8
|
-
expect(client.host).to eq 'https://www.emojidex.com/'
|
9
|
-
end
|
10
|
-
|
11
|
-
it 'sets custom host' do
|
12
|
-
client = Emojidex::Client.new(host: 'example.com')
|
13
|
-
expect(client.host).to eq 'example.com'
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
describe 'user_agent' do
|
18
|
-
it 'sets user_agent' do
|
19
|
-
client = Emojidex::Client.new
|
20
|
-
expect(client.user_agent).to eq 'Emojidex Toolkit Client'
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
end
|