trello_cli 0.2.1 → 0.3.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/CHANGELOG.md +5 -0
- data/lib/trello_cli.rb +1 -0
- data/lib/trello_cli/cli/card/create.rb +5 -1
- data/lib/trello_cli/cli/commands/card.rb +3 -0
- data/lib/trello_cli/errors.rb +4 -0
- data/lib/trello_cli/requests.rb +1 -0
- data/lib/trello_cli/requests/create_card.rb +25 -4
- data/lib/trello_cli/requests/members.rb +41 -0
- data/lib/trello_cli/version.rb +1 -1
- data/spec/requests/create_card_spec.rb +30 -11
- data/spec/requests/members_spec.rb +35 -0
- data/trello_cli.gemspec +4 -3
- metadata +30 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 67d3269ab8c44f68e1ecdadb52a096162df122d3
|
4
|
+
data.tar.gz: 0995679927099f04e253b604d145f8d414665c18
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a52aaeac10cf59ac1fdf54e614c83bcd3cbf0703ce545e3b699cdbc146ac74705847dd9b4701e1ab5d771c0789f31dac790d23349de5de56b6f8fe9c716dd21c
|
7
|
+
data.tar.gz: 01a9dcce612760fd26d7e3c3b83efff6cb683df5d9d394d73c81dd9430aab96a374d01303d3a7610064353b9bdbbdad13ffbd1e152e46a7adba33b1f60ae689b
|
data/CHANGELOG.md
CHANGED
data/lib/trello_cli.rb
CHANGED
@@ -4,7 +4,7 @@ module TrelloCli
|
|
4
4
|
class Create
|
5
5
|
|
6
6
|
def initialize
|
7
|
-
@options = {}
|
7
|
+
@options = { members: [] }
|
8
8
|
end
|
9
9
|
|
10
10
|
def run
|
@@ -42,6 +42,10 @@ module TrelloCli
|
|
42
42
|
@options[:list_id] = l
|
43
43
|
end
|
44
44
|
|
45
|
+
opts.on("-m", "--member [MEMBER_NAME]", "Member name to assign to card") do |m|
|
46
|
+
@options[:members] << m
|
47
|
+
end
|
48
|
+
|
45
49
|
opts.on("-n", "--name [NAME]", "Name Of Card") do |n|
|
46
50
|
@options[:name] = n
|
47
51
|
end
|
data/lib/trello_cli/requests.rb
CHANGED
@@ -9,13 +9,34 @@ module TrelloCli
|
|
9
9
|
end
|
10
10
|
|
11
11
|
def create(args)
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
12
|
+
@board_id = args[:board_id]
|
13
|
+
|
14
|
+
args[:members].each do |member_username|
|
15
|
+
unless members.member_exists_in_board? member_username
|
16
|
+
msg = "member '#{member_username}' does not exist in board '#{@board_id}'."
|
17
|
+
raise Errors.new msg
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
member_ids = args[:members].map do |member_username|
|
22
|
+
m = members.find_member_by_username_in_board member_username
|
23
|
+
m.attributes[:id]
|
24
|
+
end
|
25
|
+
|
26
|
+
card = Trello::Card.new 'name' => args[:name],
|
27
|
+
'desc' => args[:description],
|
28
|
+
'idBoard' => @board_id,
|
29
|
+
'idList' => args[:list_id],
|
30
|
+
'idMembers' => member_ids.join(",")
|
16
31
|
card.save
|
17
32
|
end
|
18
33
|
|
34
|
+
private
|
35
|
+
|
36
|
+
def members
|
37
|
+
@members ||= Members.new @board_id
|
38
|
+
end
|
39
|
+
|
19
40
|
end
|
20
41
|
end
|
21
42
|
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
module TrelloCli
|
2
|
+
module Requests
|
3
|
+
class Members
|
4
|
+
|
5
|
+
include Shared
|
6
|
+
|
7
|
+
def initialize(board_id)
|
8
|
+
connect_to_trello
|
9
|
+
|
10
|
+
@board_id = board_id
|
11
|
+
end
|
12
|
+
|
13
|
+
def member_exists_in_board?(member_username)
|
14
|
+
!!find_member_by_username_in_board(member_username)
|
15
|
+
end
|
16
|
+
|
17
|
+
def find_member_by_username_in_board(member_username)
|
18
|
+
members.each do |m|
|
19
|
+
return m if m.attributes[:username] == member_username
|
20
|
+
end
|
21
|
+
|
22
|
+
false
|
23
|
+
end
|
24
|
+
|
25
|
+
private
|
26
|
+
|
27
|
+
def member_id?(name)
|
28
|
+
Trello::Member.find(name)
|
29
|
+
end
|
30
|
+
|
31
|
+
def members
|
32
|
+
@members ||= board.members
|
33
|
+
end
|
34
|
+
|
35
|
+
def board
|
36
|
+
@board ||= Trello::Board.find @board_id
|
37
|
+
end
|
38
|
+
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
data/lib/trello_cli/version.rb
CHANGED
@@ -5,20 +5,39 @@ describe TrelloCli::Requests::CreateCard do
|
|
5
5
|
Trello.should_receive(:configure)
|
6
6
|
end
|
7
7
|
|
8
|
+
let(:members_mock) { double "members" }
|
9
|
+
let(:trello_card_mock) { double 'trello card' }
|
10
|
+
let(:member_struct) { Struct.new(:attributes) }
|
11
|
+
|
12
|
+
before do
|
13
|
+
@args = { :name => 'name',
|
14
|
+
:description => 'desc',
|
15
|
+
:board_id => '123',
|
16
|
+
:list_id => '321',
|
17
|
+
:members => ["user1", "user2"] }
|
18
|
+
@options = { 'name' => @args[:name],
|
19
|
+
'desc' => @args[:description],
|
20
|
+
'idBoard' => @args[:board_id],
|
21
|
+
'idList' => @args[:list_id],
|
22
|
+
'idMembers' => "id1,id2" }
|
23
|
+
end
|
24
|
+
|
8
25
|
it "should create the requested card" do
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
26
|
+
TrelloCli::Requests::Members.should_receive(:new).
|
27
|
+
with("123").
|
28
|
+
and_return members_mock
|
29
|
+
@args[:members].each do |m|
|
30
|
+
members_mock.should_receive(:member_exists_in_board?).with(m).and_return true
|
31
|
+
end
|
32
|
+
members_mock.should_receive(:find_member_by_username_in_board).
|
33
|
+
with("user1").and_return member_struct.new(id: "id1")
|
34
|
+
members_mock.should_receive(:find_member_by_username_in_board).
|
35
|
+
with("user2").and_return member_struct.new(id: "id2")
|
36
|
+
|
18
37
|
Trello::Card.should_receive(:new).
|
19
|
-
with(options).
|
38
|
+
with(@options).
|
20
39
|
and_return trello_card_mock
|
21
40
|
trello_card_mock.should_receive(:save)
|
22
|
-
subject.create args
|
41
|
+
subject.create @args
|
23
42
|
end
|
24
43
|
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe TrelloCli::Requests::Members do
|
4
|
+
before do
|
5
|
+
Trello.should_receive(:configure)
|
6
|
+
end
|
7
|
+
|
8
|
+
let(:subject) { TrelloCli::Requests::Members.new "123" }
|
9
|
+
let(:board_mock) { double "board" }
|
10
|
+
let(:member_object) { Struct.new(:attributes) }
|
11
|
+
let(:member1) { member_object.new(username: "member1") }
|
12
|
+
let(:member2) { member_object.new(username: "member2") }
|
13
|
+
let(:members) { [member1, member2] }
|
14
|
+
|
15
|
+
before do
|
16
|
+
Trello::Board.should_receive(:find).with("123").and_return board_mock
|
17
|
+
board_mock.should_receive(:members).and_return members
|
18
|
+
end
|
19
|
+
|
20
|
+
describe "#member_exists_in_board?" do
|
21
|
+
it "should return true if the member exists" do
|
22
|
+
subject.member_exists_in_board?("member1").should == true
|
23
|
+
end
|
24
|
+
it "should return false if the member does not exists" do
|
25
|
+
subject.member_exists_in_board?("member999").should == false
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
describe "#find_member_by_username_in_board" do
|
30
|
+
it "should return the member object for a given username" do
|
31
|
+
subject.find_member_by_username_in_board("member1").should == member1
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
data/trello_cli.gemspec
CHANGED
@@ -18,8 +18,9 @@ Gem::Specification.new do |gem|
|
|
18
18
|
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
19
19
|
gem.require_paths = ["lib"]
|
20
20
|
|
21
|
-
gem.add_development_dependency "rspec"
|
22
|
-
gem.add_development_dependency "rake"
|
21
|
+
gem.add_development_dependency "rspec", "~> 2.14"
|
22
|
+
gem.add_development_dependency "rake", "~> 10.1"
|
23
23
|
|
24
|
-
gem.add_runtime_dependency '
|
24
|
+
gem.add_runtime_dependency 'json', '1.8.0' # Added to resolve version conflict
|
25
|
+
gem.add_runtime_dependency 'ruby-trello', '1.1.1'
|
25
26
|
end
|
metadata
CHANGED
@@ -1,57 +1,71 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: trello_cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brett Weaver
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-12-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '2.14'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '2.14'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '10.1'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '10.1'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: json
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - '='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 1.8.0
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - '='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 1.8.0
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
56
|
name: ruby-trello
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
44
58
|
requirements:
|
45
59
|
- - '='
|
46
60
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
61
|
+
version: 1.1.1
|
48
62
|
type: :runtime
|
49
63
|
prerelease: false
|
50
64
|
version_requirements: !ruby/object:Gem::Requirement
|
51
65
|
requirements:
|
52
66
|
- - '='
|
53
67
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
68
|
+
version: 1.1.1
|
55
69
|
description: Simple Trello Command Line Interface
|
56
70
|
email:
|
57
71
|
- brett@weav.net
|
@@ -82,11 +96,13 @@ files:
|
|
82
96
|
- lib/trello_cli/cli/list.rb
|
83
97
|
- lib/trello_cli/cli/list/list.rb
|
84
98
|
- lib/trello_cli/cli/run.rb
|
99
|
+
- lib/trello_cli/errors.rb
|
85
100
|
- lib/trello_cli/requests.rb
|
86
101
|
- lib/trello_cli/requests/create_card.rb
|
87
102
|
- lib/trello_cli/requests/list_boards.rb
|
88
103
|
- lib/trello_cli/requests/list_cards.rb
|
89
104
|
- lib/trello_cli/requests/list_lists.rb
|
105
|
+
- lib/trello_cli/requests/members.rb
|
90
106
|
- lib/trello_cli/requests/move_card.rb
|
91
107
|
- lib/trello_cli/requests/shared.rb
|
92
108
|
- lib/trello_cli/version.rb
|
@@ -97,6 +113,7 @@ files:
|
|
97
113
|
- spec/requests/list_boards_spec.rb
|
98
114
|
- spec/requests/list_card_spec.rb
|
99
115
|
- spec/requests/list_lists_spec.rb
|
116
|
+
- spec/requests/members_spec.rb
|
100
117
|
- spec/requests/move_card_spec.rb
|
101
118
|
- spec/requests/shared_spec.rb
|
102
119
|
- spec/spec_helper.rb
|
@@ -132,6 +149,7 @@ test_files:
|
|
132
149
|
- spec/requests/list_boards_spec.rb
|
133
150
|
- spec/requests/list_card_spec.rb
|
134
151
|
- spec/requests/list_lists_spec.rb
|
152
|
+
- spec/requests/members_spec.rb
|
135
153
|
- spec/requests/move_card_spec.rb
|
136
154
|
- spec/requests/shared_spec.rb
|
137
155
|
- spec/spec_helper.rb
|