lita-trello 0.0.5 → 0.0.6
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/.rubocop.yml +19 -0
- data/.travis.yml +7 -0
- data/CONTRIBUTING.md +9 -0
- data/Gemfile +1 -1
- data/README.md +7 -0
- data/Rakefile +5 -3
- data/lib/lita-trello.rb +7 -5
- data/lib/lita/handlers/trello.rb +66 -49
- data/lita-trello.gemspec +22 -19
- data/locales/en.yml +24 -0
- data/spec/lita/handlers/trello_spec.rb +82 -1
- data/spec/spec_helper.rb +27 -2
- metadata +47 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0d32024858f2d30359789fef493b73a6ae0ca3f4
|
4
|
+
data.tar.gz: 31c611c68f82b5642f725767ef981363e52811b4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b5d42862e8507662c722e923de7279472fc035dc34b9e5130a64ea4e9e6b8761e2bedffa90826c426f5fa4feec209b041a7a26b77b544c7e3b26f1a8d413fb89
|
7
|
+
data.tar.gz: b7db10dc4818cebe752404729a89749ef1d11455ec6c2ded92ca0b2c3c4834f62a016c546d617f3264773f2287ca05a172bf72d70921c061c9c4a70ab6cf01db
|
data/.rubocop.yml
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
Documentation:
|
2
|
+
Exclude:
|
3
|
+
- lib/lita/handlers/trello.rb
|
4
|
+
|
5
|
+
FileName:
|
6
|
+
Exclude:
|
7
|
+
- lib/lita-trello.rb
|
8
|
+
|
9
|
+
Metrics/AbcSize:
|
10
|
+
Max: 23
|
11
|
+
|
12
|
+
Metrics/ClassLength:
|
13
|
+
Max: 115
|
14
|
+
|
15
|
+
Metrics/LineLength:
|
16
|
+
Max: 115
|
17
|
+
|
18
|
+
Metrics/MethodLength:
|
19
|
+
Max: 18
|
data/.travis.yml
ADDED
data/CONTRIBUTING.md
ADDED
@@ -0,0 +1,9 @@
|
|
1
|
+
Pull requests are awesome! Pull requests with tests are even more awesome!
|
2
|
+
|
3
|
+
## Quick steps
|
4
|
+
|
5
|
+
1. Fork the repo.
|
6
|
+
2. Run the tests: `bundle && rake`
|
7
|
+
3. Add a test for your change. Only refactoring and documentation changes require no new tests. If you are adding functionality or fixing a bug, it needs a test!
|
8
|
+
4. Make the test pass.
|
9
|
+
5. Push to your fork and submit a pull request.
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,5 +1,12 @@
|
|
1
1
|
# lita-trello
|
2
2
|
|
3
|
+
[](https://travis-ci.org/RWJMurphy/lita-trello)
|
4
|
+
[](https://tldrlegal.com/license/mit-license)
|
5
|
+
[](https://rubygems.org/gems/lita-trello)
|
6
|
+
[](https://coveralls.io/r/RWJMurphy/lita-trello)
|
7
|
+
[](https://codeclimate.com/github/RWJMurphy/lita-trello)
|
8
|
+
[](https://gemnasium.com/RWJMurphy/lita-trello)
|
9
|
+
|
3
10
|
Manage your Trello board from Lita.
|
4
11
|
|
5
12
|
Inspired by [hubot-trello](https://github.com/hubot-scripts/hubot-trello).
|
data/Rakefile
CHANGED
@@ -1,6 +1,8 @@
|
|
1
|
-
require
|
2
|
-
require
|
1
|
+
require 'bundler/gem_tasks'
|
2
|
+
require 'rspec/core/rake_task'
|
3
|
+
require 'rubocop/rake_task'
|
3
4
|
|
4
5
|
RSpec::Core::RakeTask.new(:spec)
|
6
|
+
RuboCop::RakeTask.new(:rubocop)
|
5
7
|
|
6
|
-
task default: :spec
|
8
|
+
task default: [:spec, :rubocop]
|
data/lib/lita-trello.rb
CHANGED
@@ -1,12 +1,14 @@
|
|
1
|
-
require
|
1
|
+
require 'lita'
|
2
2
|
|
3
3
|
Lita.load_locales Dir[File.expand_path(
|
4
|
-
File.join(
|
4
|
+
File.join('..', '..', 'locales', '*.yml'), __FILE__
|
5
5
|
)]
|
6
6
|
|
7
|
-
require
|
7
|
+
require 'trello'
|
8
|
+
|
9
|
+
require 'lita/handlers/trello'
|
8
10
|
|
9
11
|
Lita::Handlers::Trello.template_root File.expand_path(
|
10
|
-
File.join(
|
11
|
-
|
12
|
+
File.join('..', '..', 'templates'),
|
13
|
+
__FILE__
|
12
14
|
)
|
data/lib/lita/handlers/trello.rb
CHANGED
@@ -1,5 +1,3 @@
|
|
1
|
-
require 'trello'
|
2
|
-
|
3
1
|
module Lita
|
4
2
|
module Handlers
|
5
3
|
class Trello < Handler
|
@@ -7,90 +5,110 @@ module Lita
|
|
7
5
|
config :token
|
8
6
|
config :board
|
9
7
|
|
10
|
-
route(
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
8
|
+
route(
|
9
|
+
/^trello\s+new\s+(?<list_name>(\w+|"[^"]+"))\s+(?<name>.*)/i,
|
10
|
+
:new,
|
11
|
+
command: true,
|
12
|
+
help: {
|
13
|
+
t('help.new.syntax') => t('help.new.desc')
|
14
|
+
}
|
15
|
+
)
|
16
|
+
|
17
|
+
route(
|
18
|
+
%r{^trello\s+move\s+https://trello.com/c/(?<card_id>\w+)\s+(?<list_name>(\w+|"[^"]+"))},
|
19
|
+
:move,
|
20
|
+
command: true,
|
21
|
+
help: {
|
22
|
+
t('help.move.syntax') => t('help.move.desc')
|
23
|
+
}
|
24
|
+
)
|
25
|
+
|
26
|
+
route(
|
27
|
+
/^trello\s+list\s+(?<list_name>(\w+|"[^"]+"))/i,
|
28
|
+
:list,
|
29
|
+
command: true,
|
30
|
+
help: {
|
31
|
+
t('help.list.syntax') => t('help.list.desc')
|
32
|
+
}
|
33
|
+
)
|
34
|
+
|
35
|
+
route(
|
36
|
+
/^trello\s+lists$/i,
|
37
|
+
:show_lists,
|
38
|
+
command: true,
|
39
|
+
help: {
|
40
|
+
t('help.lists.syntax') => t('help.lists.desc')
|
41
|
+
}
|
42
|
+
)
|
43
|
+
|
44
|
+
def new(r)
|
45
|
+
list_name = r.match_data['list_name']
|
46
|
+
name = r.match_data['name']
|
16
47
|
|
17
48
|
list_id = lists[list_name.downcase].id
|
18
49
|
if list_id.nil?
|
19
|
-
r.reply
|
50
|
+
r.reply t('error.no_list', list_name: list_name)
|
20
51
|
return
|
21
52
|
end
|
22
53
|
|
23
|
-
r.reply
|
54
|
+
r.reply t('card.creating', user_name: r.user.name, list_name: list_name)
|
24
55
|
begin
|
25
56
|
card = new_card(name, list_id)
|
26
|
-
r.reply
|
57
|
+
r.reply t('card.created', url: card.short_url)
|
27
58
|
rescue
|
28
|
-
r.reply
|
59
|
+
r.reply t('error.generic')
|
29
60
|
end
|
30
61
|
end
|
31
62
|
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
def handle_move_card(r)
|
36
|
-
card_id = r.args[1]
|
37
|
-
list_name = r.args[2]
|
63
|
+
def move(r)
|
64
|
+
card_id = r.match_data['card_id']
|
65
|
+
list_name = r.match_data['list_name']
|
38
66
|
|
39
67
|
list = lists[list_name.downcase]
|
40
68
|
if list.nil?
|
41
|
-
r.reply
|
69
|
+
r.reply t('error.no_list', list_name: list_name)
|
42
70
|
return
|
43
71
|
end
|
44
72
|
|
45
|
-
card_id = card_id.gsub(/(^<|>$)/, '')
|
46
|
-
if %r{^https?://trello.com/c/([^/]+)/?$} =~ card_id
|
47
|
-
card_id = $1
|
48
|
-
end
|
49
|
-
|
50
73
|
card = trello.find(:card, card_id)
|
51
74
|
if card.nil?
|
52
|
-
r.reply
|
75
|
+
r.reply t('error.no_card')
|
53
76
|
return
|
54
77
|
end
|
55
78
|
|
56
79
|
begin
|
57
80
|
card.move_to_list(list)
|
58
|
-
r.reply
|
81
|
+
r.reply t('card.moved', user_name: r.user.name, list_name: list_name)
|
59
82
|
rescue
|
60
|
-
r.reply
|
83
|
+
r.reply t('error.generic')
|
61
84
|
end
|
62
85
|
end
|
63
86
|
|
64
|
-
|
65
|
-
|
66
|
-
})
|
67
|
-
def handle_list_cards(r)
|
68
|
-
list_name = r.args[1]
|
87
|
+
def list(r)
|
88
|
+
list_name = r.match_data['list_name']
|
69
89
|
list = lists[list_name.downcase]
|
70
90
|
if list.nil?
|
71
|
-
r.reply
|
91
|
+
r.reply t('error.no_list', list_name: list_name)
|
72
92
|
return
|
73
93
|
end
|
74
94
|
|
75
|
-
r.reply(
|
76
|
-
|
77
|
-
|
95
|
+
r.reply(t('card.list', list_name: list_name) +
|
96
|
+
list.cards.map { |card| "* #{card.name} - #{card.short_url}" }.join("\n")
|
97
|
+
)
|
78
98
|
end
|
79
99
|
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
r.reply("Here are all the lists on your board:\n\n" +
|
85
|
-
lists.keys.map { |list_name| "* #{list_name}" }.join("\n")
|
86
|
-
)
|
100
|
+
def show_lists(r)
|
101
|
+
r.reply(t('list.list') +
|
102
|
+
lists.keys.map { |list_name| "* #{list_name}" }.join("\n")
|
103
|
+
)
|
87
104
|
end
|
88
105
|
|
89
106
|
private
|
107
|
+
|
90
108
|
def trello
|
91
109
|
@trello ||= ::Trello::Client.new(
|
92
110
|
developer_public_key: config.public_key,
|
93
|
-
member_token: config.token
|
111
|
+
member_token: config.token
|
94
112
|
)
|
95
113
|
end
|
96
114
|
|
@@ -108,13 +126,12 @@ module Lita
|
|
108
126
|
@default_list_id ||= redis.get('default_list_id')
|
109
127
|
end
|
110
128
|
|
111
|
-
def new_card(name, list_id=nil)
|
129
|
+
def new_card(name, list_id = nil)
|
112
130
|
trello.create(:card,
|
113
|
-
|
114
|
-
|
115
|
-
|
131
|
+
'name' => name,
|
132
|
+
'idList' => list_id || default_list_id
|
133
|
+
)
|
116
134
|
end
|
117
|
-
|
118
135
|
end
|
119
136
|
|
120
137
|
Lita.register_handler(Trello)
|
data/lita-trello.gemspec
CHANGED
@@ -1,27 +1,30 @@
|
|
1
1
|
Gem::Specification.new do |spec|
|
2
|
-
spec.name =
|
3
|
-
spec.version =
|
4
|
-
spec.authors = [
|
5
|
-
spec.email = [
|
6
|
-
spec.description =
|
7
|
-
spec.summary =
|
8
|
-
spec.homepage =
|
9
|
-
spec.license =
|
10
|
-
spec.metadata = {
|
2
|
+
spec.name = 'lita-trello'
|
3
|
+
spec.version = '0.0.6'
|
4
|
+
spec.authors = ['Reed Kraft-Murphy']
|
5
|
+
spec.email = ['reed@reedmurphy.net']
|
6
|
+
spec.description = 'Manage your Trello board from Lita'
|
7
|
+
spec.summary = 'Manage your Trello board from Lita'
|
8
|
+
spec.homepage = 'https://github.com/RWJMurphy/lita-trello'
|
9
|
+
spec.license = 'MIT'
|
10
|
+
spec.metadata = { 'lita_plugin_type' => 'handler' }
|
11
11
|
|
12
|
-
spec.files = `git ls-files`.split(
|
12
|
+
spec.files = `git ls-files`.split($INPUT_RECORD_SEPARATOR)
|
13
13
|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
14
14
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
15
|
-
spec.require_paths = [
|
15
|
+
spec.require_paths = ['lib']
|
16
16
|
|
17
|
-
spec.required_ruby_version =
|
17
|
+
spec.required_ruby_version = '>= 2.1.0'
|
18
18
|
|
19
|
-
spec.add_runtime_dependency
|
20
|
-
spec.add_runtime_dependency
|
19
|
+
spec.add_runtime_dependency 'lita', '>= 4.3'
|
20
|
+
spec.add_runtime_dependency 'ruby-trello', '~> 1.1'
|
21
21
|
|
22
|
-
spec.add_development_dependency
|
23
|
-
spec.add_development_dependency
|
24
|
-
spec.add_development_dependency
|
25
|
-
spec.add_development_dependency
|
26
|
-
spec.add_development_dependency
|
22
|
+
spec.add_development_dependency 'bundler', '~> 1.3'
|
23
|
+
spec.add_development_dependency 'coveralls'
|
24
|
+
spec.add_development_dependency 'pry-byebug'
|
25
|
+
spec.add_development_dependency 'rake'
|
26
|
+
spec.add_development_dependency 'rack-test'
|
27
|
+
spec.add_development_dependency 'rspec', '>= 3.0.0'
|
28
|
+
spec.add_development_dependency 'rubocop'
|
29
|
+
spec.add_development_dependency 'simplecov'
|
27
30
|
end
|
data/locales/en.yml
CHANGED
@@ -2,3 +2,27 @@ en:
|
|
2
2
|
lita:
|
3
3
|
handlers:
|
4
4
|
trello:
|
5
|
+
error:
|
6
|
+
generic: Something failed.
|
7
|
+
no_list: "I couldn't find a list named %{list_name}."
|
8
|
+
no_card: "I couldn't find that card."
|
9
|
+
help:
|
10
|
+
new:
|
11
|
+
syntax: trello new LIST Do the thing
|
12
|
+
desc: Create a new card in LIST called 'Do the thing'
|
13
|
+
move:
|
14
|
+
syntax: trello move https://trello.com/c/CARD_ID LIST
|
15
|
+
desc: Move a card to LIST
|
16
|
+
list:
|
17
|
+
syntax: trello list LIST
|
18
|
+
desc: Show all cards in LIST
|
19
|
+
lists:
|
20
|
+
syntax: trello lists
|
21
|
+
desc: Show all lists on your board
|
22
|
+
card:
|
23
|
+
creating: "Ok %{user_name}, I'm creating a new card in %{list_name}."
|
24
|
+
created: "Here you go: %{url}"
|
25
|
+
moved: "Ok %{user_name}, I moved that card to %{list_name}."
|
26
|
+
list: "Here are the cards in %{list_name}:\n\n"
|
27
|
+
list:
|
28
|
+
list: "Here are all the lists on your board:\n\n"
|
@@ -1,4 +1,85 @@
|
|
1
|
-
require
|
1
|
+
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Lita::Handlers::Trello, lita_handler: true do
|
4
|
+
it { is_expected.to route_command('trello new LIST Do the thing').to(:new) }
|
5
|
+
it { is_expected.to route_command('trello new "A LIST" Do the thing').to(:new) }
|
6
|
+
it { is_expected.to route_command('trello move https://trello.com/c/CARD_ID LIST').to(:move) }
|
7
|
+
it { is_expected.to route_command('trello move https://trello.com/c/CARD_ID "A LIST"').to(:move) }
|
8
|
+
it { is_expected.to route_command('trello list LIST').to(:list) }
|
9
|
+
it { is_expected.to route_command('trello list "A LIST"').to(:list) }
|
10
|
+
it { is_expected.to route_command('trello lists').to(:show_lists) }
|
11
|
+
|
12
|
+
before do
|
13
|
+
registry.config.handlers.trello.public_key = 'foo'
|
14
|
+
registry.config.handlers.trello.token = 'bar'
|
15
|
+
registry.config.handlers.trello.board = 'baz'
|
16
|
+
end
|
17
|
+
|
18
|
+
let(:card) do
|
19
|
+
card = double
|
20
|
+
allow(card).to receive(:name) { 'cardname' }
|
21
|
+
allow(card).to receive(:short_url) { 'http://example.com/cardshorturl' }
|
22
|
+
allow(card).to receive(:move_to_list).with(anything) { true }
|
23
|
+
card
|
24
|
+
end
|
25
|
+
|
26
|
+
let(:list) do
|
27
|
+
list = double
|
28
|
+
allow(list).to receive(:name) { 'listname' }
|
29
|
+
allow(list).to receive(:cards) { [card] }
|
30
|
+
allow(list).to receive(:id) { 1 }
|
31
|
+
list
|
32
|
+
end
|
33
|
+
|
34
|
+
let(:board) do
|
35
|
+
board = double
|
36
|
+
allow(board).to receive(:lists) { [list] }
|
37
|
+
board
|
38
|
+
end
|
39
|
+
|
40
|
+
let(:client) do
|
41
|
+
client = double
|
42
|
+
allow(client).to receive(:find).with(:board, kind_of(String)) { board }
|
43
|
+
allow(client).to receive(:find).with(:card, kind_of(String)) { card }
|
44
|
+
allow(client).to receive(:create) { card }
|
45
|
+
client
|
46
|
+
end
|
47
|
+
|
48
|
+
describe '#new' do
|
49
|
+
it 'creates a card' do
|
50
|
+
expect(::Trello::Client).to receive(:new) { client }
|
51
|
+
send_command('trello new listname Do the thing')
|
52
|
+
expect(replies.last).to eq('Here you go: http://example.com/cardshorturl')
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
describe '#move' do
|
57
|
+
it 'moves a card' do
|
58
|
+
expect(::Trello::Client).to receive(:new) { client }
|
59
|
+
send_command('trello move https://trello.com/c/CARD_ID listname')
|
60
|
+
expect(replies.last).to eq('Ok Test User, I moved that card to listname.')
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
describe '#list' do
|
65
|
+
it 'shows cards for a list' do
|
66
|
+
expect(::Trello::Client).to receive(:new) { client }
|
67
|
+
send_command('trello list listname')
|
68
|
+
expect(replies.last).to eq("Here are the cards in listname:\n\n* cardname - http://example.com/cardshorturl")
|
69
|
+
end
|
70
|
+
|
71
|
+
it 'shows an error if there is no list' do
|
72
|
+
expect(::Trello::Client).to receive(:new) { client }
|
73
|
+
send_command('trello list badname')
|
74
|
+
expect(replies.last).to eq("I couldn't find a list named badname.")
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
describe '#show_lists' do
|
79
|
+
it 'shows lists' do
|
80
|
+
expect(::Trello::Client).to receive(:new) { client }
|
81
|
+
send_command('trello lists')
|
82
|
+
expect(replies.last).to eq("Here are all the lists on your board:\n\n* listname")
|
83
|
+
end
|
84
|
+
end
|
4
85
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,6 +1,31 @@
|
|
1
|
-
require
|
2
|
-
require
|
1
|
+
require 'simplecov'
|
2
|
+
require 'coveralls'
|
3
|
+
SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
|
4
|
+
SimpleCov::Formatter::HTMLFormatter,
|
5
|
+
Coveralls::SimpleCov::Formatter
|
6
|
+
]
|
7
|
+
SimpleCov.start { add_filter '/spec/' }
|
8
|
+
|
9
|
+
require 'lita-trello'
|
10
|
+
require 'lita/rspec'
|
3
11
|
|
4
12
|
# A compatibility mode is provided for older plugins upgrading from Lita 3. Since this plugin
|
5
13
|
# was generated with Lita 4, the compatibility mode should be left disabled.
|
6
14
|
Lita.version_3_compatibility_mode = false
|
15
|
+
|
16
|
+
RSpec.configure do |config|
|
17
|
+
config.expect_with :rspec do |expectations|
|
18
|
+
expectations.include_chain_clauses_in_custom_matcher_descriptions = true
|
19
|
+
end
|
20
|
+
|
21
|
+
config.mock_with :rspec do |mocks|
|
22
|
+
mocks.verify_partial_doubles = true
|
23
|
+
end
|
24
|
+
|
25
|
+
config.filter_run :focus
|
26
|
+
config.run_all_when_everything_filtered = true
|
27
|
+
config.default_formatter = 'doc' if config.files_to_run.one?
|
28
|
+
config.order = :random
|
29
|
+
|
30
|
+
Kernel.srand config.seed
|
31
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lita-trello
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Reed Kraft-Murphy
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-10-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: lita
|
@@ -52,6 +52,20 @@ dependencies:
|
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '1.3'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: coveralls
|
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'
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
70
|
name: pry-byebug
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -108,6 +122,34 @@ dependencies:
|
|
108
122
|
- - ">="
|
109
123
|
- !ruby/object:Gem::Version
|
110
124
|
version: 3.0.0
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: rubocop
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - ">="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - ">="
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: simplecov
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - ">="
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '0'
|
146
|
+
type: :development
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - ">="
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0'
|
111
153
|
description: Manage your Trello board from Lita
|
112
154
|
email:
|
113
155
|
- reed@reedmurphy.net
|
@@ -116,6 +158,9 @@ extensions: []
|
|
116
158
|
extra_rdoc_files: []
|
117
159
|
files:
|
118
160
|
- ".gitignore"
|
161
|
+
- ".rubocop.yml"
|
162
|
+
- ".travis.yml"
|
163
|
+
- CONTRIBUTING.md
|
119
164
|
- Gemfile
|
120
165
|
- LICENSE.txt
|
121
166
|
- README.md
|