emoji_differ 0.1.0.beta → 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/.gitignore +1 -0
- data/Gemfile.lock +1 -1
- data/exe/emoji_differ +28 -0
- data/lib/emoji_differ/emoji.rb +6 -0
- data/lib/emoji_differ/list.rb +24 -9
- data/lib/emoji_differ/slack_api.rb +1 -1
- data/lib/emoji_differ/version.rb +1 -1
- data/lib/emoji_differ.rb +11 -2
- metadata +6 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3248184166906a4068426e8f16ea21abc226ede3
|
4
|
+
data.tar.gz: 91fed0a6920d836ae43f43b4afa26a821b1a4f79
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '0979c10bc27b37e81aa175f6f0247b3fb73c218da9019e806cc95c47b3a0dad39326a0bf27516f4b5e77bcb6dbc62888ca1cdc2bf5dce7a616b46b26e1be0bfb'
|
7
|
+
data.tar.gz: dbf755fa2d6073a30714d2c212b20b906ada57edac1ecadb53724880cc716c740bbedbdaa4ee847181aac982bad88c91ebc6e2c2daa4131bf8a6d850fa506d21
|
data/.gitignore
CHANGED
data/Gemfile.lock
CHANGED
data/exe/emoji_differ
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'emoji_differ'
|
4
|
+
|
5
|
+
cmd = ARGV.shift
|
6
|
+
case
|
7
|
+
when (cmd == 'update')
|
8
|
+
EmojiDiffer.clear
|
9
|
+
EmojiDiffer.save
|
10
|
+
when (cmd == 'clear')
|
11
|
+
EmojiDiffer.clear
|
12
|
+
when (cmd == 'show')
|
13
|
+
subcommand = ARGV.shift
|
14
|
+
puts case
|
15
|
+
when (subcommand == 'old')
|
16
|
+
EmojiDiffer.load
|
17
|
+
when (subcommand == 'deleted')
|
18
|
+
EmojiDiffer.deleted
|
19
|
+
when (subcommand == 'current')
|
20
|
+
EmojiDiffer.current
|
21
|
+
when (subcommand == 'new')
|
22
|
+
EmojiDiffer.new_emoji
|
23
|
+
else
|
24
|
+
'Try emoji_differ show TYPE where type is one of old, deleted, current, new'
|
25
|
+
end
|
26
|
+
else
|
27
|
+
puts 'Try emoji_differ COMMAND where command is one of show, update, or clear'
|
28
|
+
end
|
data/lib/emoji_differ/emoji.rb
CHANGED
data/lib/emoji_differ/list.rb
CHANGED
@@ -5,33 +5,48 @@ module EmojiDiffer
|
|
5
5
|
class List
|
6
6
|
include Enumerable
|
7
7
|
|
8
|
-
def initialize(
|
9
|
-
@
|
10
|
-
|
8
|
+
def initialize(emoji=nil)
|
9
|
+
@emojis = emoji
|
10
|
+
end
|
11
|
+
|
12
|
+
def self.from_json(json)
|
13
|
+
new.parse(json)
|
11
14
|
end
|
12
15
|
|
13
16
|
def to_s
|
14
|
-
|
17
|
+
collection = emojis.map(&:to_s).join(" ")
|
18
|
+
"#{collection}\n Total: #{length}"
|
15
19
|
end
|
16
20
|
|
17
21
|
def each
|
18
|
-
|
22
|
+
emojis.each do |emoji|
|
19
23
|
yield emoji
|
20
24
|
end
|
21
25
|
end
|
22
26
|
|
27
|
+
def -(other)
|
28
|
+
other_names = other.emojis.to_a.map(&:name)
|
29
|
+
self.class.new(emojis.reject {|emoji| other_names.include?(emoji.name) })
|
30
|
+
end
|
31
|
+
|
23
32
|
def length
|
24
|
-
|
33
|
+
emojis.length
|
25
34
|
end
|
26
35
|
|
27
36
|
def to_json
|
28
37
|
JSON.generate(parsed) #cheeky eh
|
29
38
|
end
|
30
39
|
|
40
|
+
def emojis
|
41
|
+
@emojis ||= transform
|
42
|
+
end
|
43
|
+
|
44
|
+
def parse(json)
|
45
|
+
@parsed = JSON.parse(json)
|
46
|
+
self
|
47
|
+
end
|
48
|
+
|
31
49
|
private
|
32
|
-
def parse(json)
|
33
|
-
JSON.parse(json)
|
34
|
-
end
|
35
50
|
|
36
51
|
attr_reader :parsed
|
37
52
|
|
data/lib/emoji_differ/version.rb
CHANGED
data/lib/emoji_differ.rb
CHANGED
@@ -4,6 +4,7 @@ require 'emoji_differ/config'
|
|
4
4
|
|
5
5
|
module EmojiDiffer
|
6
6
|
class Error < StandardError; end
|
7
|
+
|
7
8
|
def self.config
|
8
9
|
@config ||= EmojiDiffer::Config.new
|
9
10
|
if block_given?
|
@@ -17,8 +18,16 @@ module EmojiDiffer
|
|
17
18
|
@current ||= EmojiDiffer::SlackApi.new(config.token).emoji
|
18
19
|
end
|
19
20
|
|
21
|
+
def self.cached
|
22
|
+
load
|
23
|
+
end
|
24
|
+
|
25
|
+
def self.deleted
|
26
|
+
load - current
|
27
|
+
end
|
28
|
+
|
20
29
|
def self.new_emoji
|
21
|
-
current
|
30
|
+
current - load
|
22
31
|
end
|
23
32
|
|
24
33
|
def self.save
|
@@ -41,7 +50,7 @@ module EmojiDiffer
|
|
41
50
|
while !f.eof? && (chunk = read_nb_chunk(f))
|
42
51
|
contents += chunk
|
43
52
|
end
|
44
|
-
EmojiDiffer::List.
|
53
|
+
EmojiDiffer::List.from_json(contents)
|
45
54
|
end
|
46
55
|
end
|
47
56
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: emoji_differ
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Justin George
|
@@ -72,7 +72,8 @@ description: This gem uses the Slack API to provide you a diff of the emojis ava
|
|
72
72
|
email:
|
73
73
|
- justin.george@instacart.com
|
74
74
|
- lev.kokotov@gmail.com
|
75
|
-
executables:
|
75
|
+
executables:
|
76
|
+
- emoji_differ
|
76
77
|
extensions: []
|
77
78
|
extra_rdoc_files: []
|
78
79
|
files:
|
@@ -88,6 +89,7 @@ files:
|
|
88
89
|
- bin/console
|
89
90
|
- bin/setup
|
90
91
|
- emoji_differ.gemspec
|
92
|
+
- exe/emoji_differ
|
91
93
|
- lib/emoji_differ.rb
|
92
94
|
- lib/emoji_differ/config.rb
|
93
95
|
- lib/emoji_differ/emoji.rb
|
@@ -113,9 +115,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
113
115
|
version: '0'
|
114
116
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
115
117
|
requirements:
|
116
|
-
- - "
|
118
|
+
- - ">="
|
117
119
|
- !ruby/object:Gem::Version
|
118
|
-
version:
|
120
|
+
version: '0'
|
119
121
|
requirements: []
|
120
122
|
rubyforge_project:
|
121
123
|
rubygems_version: 2.5.2.3
|