lita-teamwork 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 +7 -0
- data/.gitignore +18 -0
- data/.travis.yml +8 -0
- data/Gemfile +3 -0
- data/README.md +21 -0
- data/Rakefile +6 -0
- data/lib/account.rb +21 -0
- data/lib/account_repo.rb +32 -0
- data/lib/lita-teamwork.rb +12 -0
- data/lib/lita/handlers/teamwork.rb +25 -0
- data/lita-teamwork.gemspec +24 -0
- data/locales/en.yml +4 -0
- data/spec/lita/account_repo_spec.rb +34 -0
- data/spec/lita/handlers/teamwork_spec.rb +27 -0
- data/spec/spec_helper.rb +6 -0
- data/templates/.gitkeep +0 -0
- metadata +147 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 6de1ff6467aef07f1dbafd30d9be436ce233eafa
|
4
|
+
data.tar.gz: 2f752432e40e5d3c2e980ff485ff04eb87748182
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: eaf4a8b723ac8a1a836aa13a577ad52337ae05762427ccd852cfbc1a01a5076c349cb51c4c5923d7ab91472676d5cb9257b5e6150e04fab21d80104218973c72
|
7
|
+
data.tar.gz: d8c9964fb3530ce6a9587f9f9f5c7b76dc83acdb534edd2ade63bccf4c7c7835e00fab6d3c324b7a66d3ae0648adb349ac76245c4bdcea5575b9f8b1b29f56e2
|
data/.gitignore
ADDED
data/.travis.yml
ADDED
data/Gemfile
ADDED
data/README.md
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
# lita-teamwork
|
2
|
+
|
3
|
+
[](https://travis-ci.org/yutakakinjyo/lita-teamwork)
|
4
|
+
|
5
|
+
TODO: Add a description of the plugin.
|
6
|
+
|
7
|
+
## Installation
|
8
|
+
|
9
|
+
Add lita-teamwork to your Lita instance's Gemfile:
|
10
|
+
|
11
|
+
``` ruby
|
12
|
+
gem "lita-teamwork"
|
13
|
+
```
|
14
|
+
|
15
|
+
## Configuration
|
16
|
+
|
17
|
+
TODO: Describe any configuration attributes the plugin exposes.
|
18
|
+
|
19
|
+
## Usage
|
20
|
+
|
21
|
+
TODO: Describe the plugin's features and how to use them.
|
data/Rakefile
ADDED
data/lib/account.rb
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'account_repo'
|
2
|
+
|
3
|
+
class Account
|
4
|
+
|
5
|
+
def initialize
|
6
|
+
@repo = AccountRepo.instance
|
7
|
+
end
|
8
|
+
|
9
|
+
def name(assignee)
|
10
|
+
return "no one" if assignee.nil?
|
11
|
+
account_mapping(assignee.login)
|
12
|
+
end
|
13
|
+
|
14
|
+
private
|
15
|
+
|
16
|
+
def account_mapping(login)
|
17
|
+
account = @repo.find_by(login)
|
18
|
+
account ? account : login
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
data/lib/account_repo.rb
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
require 'singleton'
|
2
|
+
|
3
|
+
class AccountRepo
|
4
|
+
|
5
|
+
include Singleton
|
6
|
+
|
7
|
+
def initialize
|
8
|
+
@accounts = {}
|
9
|
+
end
|
10
|
+
|
11
|
+
def find_by(name)
|
12
|
+
@accounts[name]
|
13
|
+
end
|
14
|
+
|
15
|
+
def regist(login:, slack_name:)
|
16
|
+
@accounts[login] = slack_name
|
17
|
+
end
|
18
|
+
|
19
|
+
def list
|
20
|
+
@accounts
|
21
|
+
end
|
22
|
+
|
23
|
+
def delete(name)
|
24
|
+
@accounts.delete(name)
|
25
|
+
end
|
26
|
+
|
27
|
+
def clear
|
28
|
+
@accounts = {}
|
29
|
+
end
|
30
|
+
|
31
|
+
|
32
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require "lita"
|
2
|
+
|
3
|
+
Lita.load_locales Dir[File.expand_path(
|
4
|
+
File.join("..", "..", "locales", "*.yml"), __FILE__
|
5
|
+
)]
|
6
|
+
|
7
|
+
require "lita/handlers/teamwork"
|
8
|
+
|
9
|
+
Lita::Handlers::Teamwork.template_root File.expand_path(
|
10
|
+
File.join("..", "..", "templates"),
|
11
|
+
__FILE__
|
12
|
+
)
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module Lita
|
2
|
+
module Handlers
|
3
|
+
class Teamwork < Handler
|
4
|
+
|
5
|
+
route(/list/, :list)
|
6
|
+
route(/regist\s+(.+)/, :regist)
|
7
|
+
|
8
|
+
def list(response)
|
9
|
+
@repo = AccountRepo.instance
|
10
|
+
@repo.list.each do |key,value|
|
11
|
+
response.reply(value + " is " + key + " in GitHub")
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
def regist(response)
|
16
|
+
@repo = AccountRepo.instance
|
17
|
+
@repo.regist(login: response.match_data[1], slack_name: response.user.name)
|
18
|
+
response.reply("register \"" + response.user.name + "\" to " + response.match_data[1])
|
19
|
+
end
|
20
|
+
|
21
|
+
|
22
|
+
Lita.register_handler(self)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
Gem::Specification.new do |spec|
|
2
|
+
spec.name = "lita-teamwork"
|
3
|
+
spec.version = "0.1.0"
|
4
|
+
spec.authors = ["yutakakinjyo"]
|
5
|
+
spec.email = ["yutakakinjyo@gmail.com"]
|
6
|
+
spec.description = "for teamwork on chat. alpha version"
|
7
|
+
spec.summary = spec.description
|
8
|
+
spec.homepage = "https://github.com/yutakakinjyo/lita-teamwork"
|
9
|
+
spec.license = "MIT"
|
10
|
+
spec.metadata = { "lita_plugin_type" => "handler" }
|
11
|
+
|
12
|
+
spec.files = `git ls-files`.split($/)
|
13
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
14
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
15
|
+
spec.require_paths = ["lib"]
|
16
|
+
|
17
|
+
spec.add_runtime_dependency "lita", ">= 4.6"
|
18
|
+
|
19
|
+
spec.add_development_dependency "bundler", "~> 1.3"
|
20
|
+
spec.add_development_dependency "pry-byebug"
|
21
|
+
spec.add_development_dependency "rake"
|
22
|
+
spec.add_development_dependency "rack-test"
|
23
|
+
spec.add_development_dependency "rspec", ">= 3.0.0"
|
24
|
+
end
|
data/locales/en.yml
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
require 'account_repo'
|
3
|
+
|
4
|
+
describe AccountRepo do
|
5
|
+
|
6
|
+
before(:each) do
|
7
|
+
@repo = AccountRepo.instance
|
8
|
+
@repo.clear
|
9
|
+
end
|
10
|
+
|
11
|
+
it "regist account name" do
|
12
|
+
@repo.regist(login: 'taro_github', slack_name: 'taro_slack')
|
13
|
+
expect('taro_slack').to eq(@repo.find_by('taro_github'))
|
14
|
+
end
|
15
|
+
|
16
|
+
it "show list" do
|
17
|
+
list = {'yutakakinjyo' => 'yutaka', 'taro_github' => 'taro_slack'}
|
18
|
+
@repo.regist(login: 'yutakakinjyo', slack_name: 'yutaka')
|
19
|
+
@repo.regist(login: 'taro_github', slack_name: 'taro_slack')
|
20
|
+
expect(list).to eq(@repo.list)
|
21
|
+
end
|
22
|
+
|
23
|
+
it "delete account by key" do
|
24
|
+
@repo.regist(login: 'yutakakinjyo', slack_name: 'yutaka')
|
25
|
+
@repo.regist(login: 'taro_github', slack_name: 'taro_slack')
|
26
|
+
|
27
|
+
@repo.delete('yutakakinjyo')
|
28
|
+
expect(1).to eq(@repo.list.count)
|
29
|
+
end
|
30
|
+
|
31
|
+
|
32
|
+
|
33
|
+
|
34
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
describe Lita::Handlers::Teamwork, lita_handler: true do
|
4
|
+
|
5
|
+
before(:each) do
|
6
|
+
AccountRepo.instance.clear
|
7
|
+
end
|
8
|
+
|
9
|
+
it { is_expected.to route("list") }
|
10
|
+
it { is_expected.to route("list").to(:list) }
|
11
|
+
|
12
|
+
it { is_expected.to route('regist yutaka') }
|
13
|
+
it { is_expected.to route('regist yutaka').to(:regist) }
|
14
|
+
|
15
|
+
it "regist" do
|
16
|
+
send_message("regist yutaka")
|
17
|
+
expect(replies.last).to eq("register \"" + user.name + "\" to yutaka")
|
18
|
+
end
|
19
|
+
|
20
|
+
it "list" do
|
21
|
+
send_message("regist yutakakinjyo")
|
22
|
+
send_message("list")
|
23
|
+
expect(replies.last).to eq(user.name + " is yutakakinjyo in GitHub")
|
24
|
+
end
|
25
|
+
|
26
|
+
|
27
|
+
end
|
data/spec/spec_helper.rb
ADDED
data/templates/.gitkeep
ADDED
File without changes
|
metadata
ADDED
@@ -0,0 +1,147 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: lita-teamwork
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- yutakakinjyo
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2015-12-05 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: lita
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '4.6'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '4.6'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: bundler
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '1.3'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '1.3'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: pry-byebug
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rake
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rack-test
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: rspec
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 3.0.0
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: 3.0.0
|
97
|
+
description: for teamwork on chat. alpha version
|
98
|
+
email:
|
99
|
+
- yutakakinjyo@gmail.com
|
100
|
+
executables: []
|
101
|
+
extensions: []
|
102
|
+
extra_rdoc_files: []
|
103
|
+
files:
|
104
|
+
- ".gitignore"
|
105
|
+
- ".travis.yml"
|
106
|
+
- Gemfile
|
107
|
+
- README.md
|
108
|
+
- Rakefile
|
109
|
+
- lib/account.rb
|
110
|
+
- lib/account_repo.rb
|
111
|
+
- lib/lita-teamwork.rb
|
112
|
+
- lib/lita/handlers/teamwork.rb
|
113
|
+
- lita-teamwork.gemspec
|
114
|
+
- locales/en.yml
|
115
|
+
- spec/lita/account_repo_spec.rb
|
116
|
+
- spec/lita/handlers/teamwork_spec.rb
|
117
|
+
- spec/spec_helper.rb
|
118
|
+
- templates/.gitkeep
|
119
|
+
homepage: https://github.com/yutakakinjyo/lita-teamwork
|
120
|
+
licenses:
|
121
|
+
- MIT
|
122
|
+
metadata:
|
123
|
+
lita_plugin_type: handler
|
124
|
+
post_install_message:
|
125
|
+
rdoc_options: []
|
126
|
+
require_paths:
|
127
|
+
- lib
|
128
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
129
|
+
requirements:
|
130
|
+
- - ">="
|
131
|
+
- !ruby/object:Gem::Version
|
132
|
+
version: '0'
|
133
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
134
|
+
requirements:
|
135
|
+
- - ">="
|
136
|
+
- !ruby/object:Gem::Version
|
137
|
+
version: '0'
|
138
|
+
requirements: []
|
139
|
+
rubyforge_project:
|
140
|
+
rubygems_version: 2.4.5.1
|
141
|
+
signing_key:
|
142
|
+
specification_version: 4
|
143
|
+
summary: for teamwork on chat. alpha version
|
144
|
+
test_files:
|
145
|
+
- spec/lita/account_repo_spec.rb
|
146
|
+
- spec/lita/handlers/teamwork_spec.rb
|
147
|
+
- spec/spec_helper.rb
|