komonjo 0.1.5 → 0.1.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 537ef54ea6c023d185079f12aa7429a9d582f9e8
4
- data.tar.gz: 22a919f18d5fdce9c122816fb7980dcb639cf2f9
3
+ metadata.gz: fd80c77b4ddf2ba6e0032a4206b93e05b3436ad0
4
+ data.tar.gz: 5b22fd3436ed123140bb106f54b7de4e8eb01856
5
5
  SHA512:
6
- metadata.gz: 1f2b8b2a9b18f78098e89c5aeabfdda65ca30ef5c15a626fbf5ef4821993bca40c52b131f3cef6f6e984f16eef7375bfef9c8bf7df0f9ec8dee73adff9a64662
7
- data.tar.gz: 798e8fa81e66f4ac1f5f3188e47bc59129e148d500414854ee07d749b58724464c2393728890adbb5aab47ff5366247461bb8b9c61108d4fc79c7e7447b3fa7d
6
+ metadata.gz: 398a4fc94d40e006789df1223865436ef59b4cf2c80ee34bd7ca03793326c673994eb8d1987d2ff312929c718997adcbc8e25f0523aa2af3c1b9f4c43b29401e
7
+ data.tar.gz: bdf90fa95ea05a33b28c04acfc09e17b7ea4a0dd6ef8ad5a171a95d213e09aae58c0595615349c0714684ac2064e4895bc9e150be1b31bb84780dc6c28d7116b
@@ -6,13 +6,16 @@ require 'komonjo/connections/slack_connection'
6
6
  require 'komonjo/extensions/to_json'
7
7
  require 'komonjo/gateways/channels_gateway'
8
8
  require 'komonjo/gateways/messages_gateway'
9
+ require 'komonjo/gateways/emojis_gateway'
9
10
  require 'komonjo/models/api/response_base'
10
11
  require 'komonjo/models/channel'
11
12
  require 'komonjo/models/message'
12
13
  require 'komonjo/models/profile'
13
14
  require 'komonjo/models/user'
15
+ require 'komonjo/models/emoji'
14
16
  require 'komonjo/mocks/slack_mock'
15
17
  require 'komonjo/services/slack_service'
16
18
  require 'komonjo/services/channels_service'
17
19
  require 'komonjo/services/login_service'
18
20
  require 'komonjo/services/messages_service'
21
+ require 'komonjo/services/emojis_service'
@@ -32,5 +32,11 @@ module Komonjo
32
32
  s.instance_variable_set('@connection', Komonjo::Mock::SlackMock) if @debug
33
33
  s.messages(opts)
34
34
  end
35
+
36
+ def emoji(opts = {})
37
+ s = Komonjo::Service::EmojisService.new(@api_token)
38
+ s.instance_variable_set('@connection', Komonjo::Mock::SlackMock) if @debug
39
+ s.emoji(opts)
40
+ end
35
41
  end
36
42
  end
@@ -44,6 +44,15 @@ module Komonjo
44
44
  ret['ok']
45
45
  end
46
46
 
47
+ #
48
+ # returns an object, whose key is emoji-name and whose value is url.
49
+ #
50
+ def emoji_list(opts = {})
51
+ ret = client.emoji_list
52
+ raise 'error' unless ret['ok']
53
+ ret['emoji']
54
+ end
55
+
47
56
  private
48
57
 
49
58
  def channel_id(channel_name)
@@ -0,0 +1,22 @@
1
+ require 'cgi'
2
+
3
+ module Komonjo
4
+ module Gateway
5
+ # Returns an object { name, url }
6
+ class EmojisGateway
7
+ using HashExtensions
8
+ def initialize(emoji)
9
+ @emoji = emoji
10
+ end
11
+
12
+ def emoji
13
+ list = @emoji.map { |k, v| Komonjo::Model::Emoji.create(k, v) }
14
+ list.select(&:alias?).each do |e|
15
+ target = list.find { |i| i.name == e.alias_name }
16
+ e.url = target.url
17
+ end
18
+ list
19
+ end
20
+ end
21
+ end
22
+ end
@@ -79,6 +79,14 @@ module Komonjo
79
79
  'unread_count_display': 0
80
80
  }]
81
81
  end
82
+
83
+ def emoji_list(opts = {})
84
+ {
85
+ "bowtie": "https:\/\/my.slack.com\/emoji\/bowtie\/46ec6f2bb0.png",
86
+ "squirrel": "https:\/\/my.slack.com\/emoji\/squirrel\/f35f40c0e0.png",
87
+ "shipit": "alias:squirrel",
88
+ }
89
+ end
82
90
  end
83
91
  end
84
92
  end
@@ -0,0 +1,24 @@
1
+ module Komonjo
2
+ module Model
3
+ # slack emoji
4
+ class Emoji
5
+ attr_accessor :name, :url, :alias_name
6
+ attr_writer :alias
7
+
8
+ def self.create(name, url)
9
+ new.tap do |e|
10
+ e.name = name.to_s
11
+ e.url = url.to_s
12
+ url.match(/^alias:(?<alias_name>\S+)$/) do |m|
13
+ e.alias = true
14
+ e.alias_name = m[:alias_name]
15
+ end
16
+ end
17
+ end
18
+
19
+ def alias?
20
+ @alias
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,17 @@
1
+ module Komonjo
2
+ module Service
3
+ # A service for emoji
4
+ class EmojisService < Komonjo::Service::SlackService
5
+ def initialize(api_token)
6
+ @api_token = api_token
7
+ end
8
+
9
+ def emoji(opts = {})
10
+ connection = connection(@api_token)
11
+ emoji = connection.emoji_list(opts)
12
+ gateway = Komonjo::Gateway::EmojisGateway.new(emoji)
13
+ gateway.emoji
14
+ end
15
+ end
16
+ end
17
+ end
@@ -1,3 +1,3 @@
1
1
  module Komonjo
2
- VERSION = "0.1.5".freeze
2
+ VERSION = "0.1.6".freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: komonjo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - hkdnet
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-05-28 00:00:00.000000000 Z
11
+ date: 2016-09-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: slack-api
@@ -103,14 +103,17 @@ files:
103
103
  - lib/komonjo/extensions/hash_extensions.rb
104
104
  - lib/komonjo/extensions/to_json.rb
105
105
  - lib/komonjo/gateways/channels_gateway.rb
106
+ - lib/komonjo/gateways/emojis_gateway.rb
106
107
  - lib/komonjo/gateways/messages_gateway.rb
107
108
  - lib/komonjo/mocks/slack_mock.rb
108
109
  - lib/komonjo/models/api/response_base.rb
109
110
  - lib/komonjo/models/channel.rb
111
+ - lib/komonjo/models/emoji.rb
110
112
  - lib/komonjo/models/message.rb
111
113
  - lib/komonjo/models/profile.rb
112
114
  - lib/komonjo/models/user.rb
113
115
  - lib/komonjo/services/channels_service.rb
116
+ - lib/komonjo/services/emojis_service.rb
114
117
  - lib/komonjo/services/login_service.rb
115
118
  - lib/komonjo/services/messages_service.rb
116
119
  - lib/komonjo/services/slack_service.rb