emoji_differ 0.1.0.beta → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|