emoji_data 0.0.2 → 0.0.3
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/.travis.yml +1 -0
- data/CHANGELOG.md +9 -1
- data/lib/emoji_data.rb +5 -1
- data/lib/emoji_data/version.rb +1 -1
- metadata +13 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c7a2b01097e18162bdb426c05bfb76f871ca7f39
|
4
|
+
data.tar.gz: 5e75e18ab2252aab634cd17863a6b7cbb471119b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 23f834f7c47f8015bf14a80623cdaf95ebfd45a2d33f9eeeda0434232146311c439b895476ac7b65382e12c0a8b7038cd7508b6352871d643474acf20f32d838
|
7
|
+
data.tar.gz: 7a93b457a18d7bfec72cf3914527a9426abe03aab8b186812b6e7d8fd3cf3ee576cf57c1f88ba415862ce10dba388215e014e10f204ad625d52d6e1e2aeb6526
|
data/.travis.yml
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,13 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## 0.0.3 (1 April 2013)
|
4
|
+
|
5
|
+
* On initialization, create hashmaps to cache lookups for `.find_by_unified()`.
|
6
|
+
|
7
|
+
In a quick benchmark in MRI 2.1.1, this reduces the time needed for one million lookups from `13.5s` to `0.3s`!
|
8
|
+
|
9
|
+
This is only for lookup by unified ID for now, since the other `find_by_*()` methods are actually searches that can return multiple values. I'll look at nested hashmaps for those if there is a pressing performance need later.
|
10
|
+
|
3
11
|
## 0.0.2 (3 December 2013)
|
4
12
|
|
5
13
|
* Remove JSON gem dependency since no longer supporting Ruby 1.8.7 anyhow.
|
@@ -9,4 +17,4 @@
|
|
9
17
|
|
10
18
|
## 0.0.1 (7 June 2013)
|
11
19
|
|
12
|
-
* Initial release
|
20
|
+
* Initial release
|
data/lib/emoji_data.rb
CHANGED
@@ -8,6 +8,9 @@ module EmojiData
|
|
8
8
|
EMOJI_MAP = JSON.parse( RAW_JSON )
|
9
9
|
EMOJI_CHARS = EMOJI_MAP.map { |em| EmojiChar.new(em) }
|
10
10
|
|
11
|
+
# hashmap for fast unified lookups
|
12
|
+
EMOJICHAR_UNIFIED_MAP = Hash[EMOJI_CHARS.map { |u| [u.unified, u] }]
|
13
|
+
|
11
14
|
def self.all
|
12
15
|
EMOJI_CHARS
|
13
16
|
end
|
@@ -29,7 +32,8 @@ module EmojiData
|
|
29
32
|
end
|
30
33
|
|
31
34
|
def self.find_by_unified(cp)
|
32
|
-
EMOJI_CHARS.detect { |ec| ec.unified == cp.upcase }
|
35
|
+
# EMOJI_CHARS.detect { |ec| ec.unified == cp.upcase }
|
36
|
+
EMOJICHAR_UNIFIED_MAP[cp.upcase]
|
33
37
|
end
|
34
38
|
|
35
39
|
def self.find_by_str(str)
|
data/lib/emoji_data/version.rb
CHANGED
metadata
CHANGED
@@ -1,55 +1,55 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: emoji_data
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matthew Rothenberg
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2014-04-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - ~>
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '1.3'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - ~>
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '1.3'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rspec
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
55
|
description: Provides classes and helpers for dealing with emoji character data as
|
@@ -61,8 +61,8 @@ executables: []
|
|
61
61
|
extensions: []
|
62
62
|
extra_rdoc_files: []
|
63
63
|
files:
|
64
|
-
- .gitignore
|
65
|
-
- .travis.yml
|
64
|
+
- ".gitignore"
|
65
|
+
- ".travis.yml"
|
66
66
|
- CHANGELOG.md
|
67
67
|
- Gemfile
|
68
68
|
- LICENSE.txt
|
@@ -86,17 +86,17 @@ require_paths:
|
|
86
86
|
- lib
|
87
87
|
required_ruby_version: !ruby/object:Gem::Requirement
|
88
88
|
requirements:
|
89
|
-
- -
|
89
|
+
- - ">="
|
90
90
|
- !ruby/object:Gem::Version
|
91
91
|
version: 1.9.2
|
92
92
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- -
|
94
|
+
- - ">="
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '0'
|
97
97
|
requirements: []
|
98
98
|
rubyforge_project:
|
99
|
-
rubygems_version: 2.
|
99
|
+
rubygems_version: 2.2.2
|
100
100
|
signing_key:
|
101
101
|
specification_version: 4
|
102
102
|
summary: Provides classes and methods for dealing with emoji character data as unicode.
|