yello 0.0.3 → 0.0.4
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/.pryrc +8 -0
- data/lib/yello/cli/import.rb +18 -2
- data/lib/yello/find_members.rb +23 -0
- data/lib/yello/import.rb +4 -35
- data/lib/yello/share.rb +19 -0
- data/lib/yello/to_trello.rb +37 -0
- data/lib/yello/version.rb +1 -1
- data/spec/{import_spec.rb → to_trello_spec.rb} +2 -7
- data/yello.gemspec +1 -0
- metadata +22 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fa38dcc0d6d8d7bf792fb0f90dee9527bf09a47d
|
4
|
+
data.tar.gz: 18d05d53fec82d8cfef63c1603b945e140322ba9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8430231958a2110460f8b0412844bd1d5013d089f0e38b0ad80bcd6167c3707e2e64e95bb14a831c850862be4a5bbe183bb9e18cbd4b5e23291421e6c7f1826f
|
7
|
+
data.tar.gz: 82f55476060bdd9d977953bed1d72cafd3cf32850fa595d6f00a5fe16ce7f195afaf0aad28389d894ab02966c8f04b65a26591f2c636abf09ac7b035a891c348
|
data/.pryrc
ADDED
data/lib/yello/cli/import.rb
CHANGED
@@ -1,13 +1,21 @@
|
|
1
1
|
require 'thor'
|
2
2
|
require 'yello/from_yaml'
|
3
|
-
require 'yello/
|
3
|
+
require 'yello/to_trello'
|
4
|
+
require 'yello/share'
|
5
|
+
require 'yello/find_members'
|
4
6
|
|
5
7
|
module Yello
|
6
8
|
class CLI < Thor
|
7
9
|
desc 'import', 'Import a board.'
|
8
10
|
option :file, aliases: :f, banner: "<file>"
|
11
|
+
option :share, aliases: :s, banner: "<email1,email2,...>"
|
9
12
|
def import(board)
|
10
|
-
|
13
|
+
find_members.tap do |members|
|
14
|
+
Yello.to_trello(board, Yello.from_yaml(input)).tap do |board|
|
15
|
+
share(board, members)
|
16
|
+
puts board.url
|
17
|
+
end
|
18
|
+
end
|
11
19
|
end
|
12
20
|
|
13
21
|
no_tasks do
|
@@ -18,6 +26,14 @@ module Yello
|
|
18
26
|
def file
|
19
27
|
options[:file]
|
20
28
|
end
|
29
|
+
|
30
|
+
def find_members
|
31
|
+
Yello.find_members(options[:share])
|
32
|
+
end
|
33
|
+
|
34
|
+
def share(board, members)
|
35
|
+
Yello.share(board, members)
|
36
|
+
end
|
21
37
|
end
|
22
38
|
end
|
23
39
|
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module Yello
|
2
|
+
class << self
|
3
|
+
def find_members(emails)
|
4
|
+
Yello::FindMembers.new.run(emails)
|
5
|
+
end
|
6
|
+
end
|
7
|
+
|
8
|
+
class FindMembers
|
9
|
+
include Trello
|
10
|
+
|
11
|
+
def run(*emails)
|
12
|
+
puts "find members: #{emails}"
|
13
|
+
emails.map do |email|
|
14
|
+
begin
|
15
|
+
client.find(:member, email)
|
16
|
+
rescue Trello::Error => bang
|
17
|
+
# Raise our own error - the trello error is not specific enough.
|
18
|
+
raise "Member #{email} not found."
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
data/lib/yello/import.rb
CHANGED
@@ -1,36 +1,5 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
class << self
|
6
|
-
def import(name, lists)
|
7
|
-
Yello::Import.new.run(name, lists)
|
8
|
-
end
|
9
|
-
end
|
10
|
-
|
11
|
-
class Import
|
12
|
-
include Trello
|
13
|
-
|
14
|
-
def run(name, lists)
|
15
|
-
board = client.create(:boards, 'name'=>name)
|
16
|
-
board.lists.each do |l|
|
17
|
-
l.closed = true
|
18
|
-
l.save
|
19
|
-
end
|
20
|
-
|
21
|
-
lists.reverse.each do |l|
|
22
|
-
list = client.create(:list, l.attributes.merge('idBoard'=>board.id))
|
23
|
-
l.cards.reverse.each do |c|
|
24
|
-
card = client.create(:card, c.attributes.merge('idList'=>list.id))
|
25
|
-
c.checklists.each do |cl|
|
26
|
-
checklist = client.find(:checklist, JSON.parse(card.create_new_checklist(cl.name))['id'])
|
27
|
-
cl.items.each do |i|
|
28
|
-
checklist.add_item(i)
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
35
|
-
|
1
|
+
Dir.glob("#{__dir__}/*.rb").each do |f|
|
2
|
+
unless f =~ /import\.rb$/
|
3
|
+
require "yello/#{/((?<name>(\/.+?))+)\.rb$/.match(f)[:name]}"
|
4
|
+
end
|
36
5
|
end
|
data/lib/yello/share.rb
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
module Yello
|
2
|
+
class << self
|
3
|
+
def share(board, members)
|
4
|
+
Yello::Share.new.run(board, members)
|
5
|
+
end
|
6
|
+
end
|
7
|
+
|
8
|
+
class Share
|
9
|
+
include Trello
|
10
|
+
|
11
|
+
def run(board, members)
|
12
|
+
puts "sharing: #{members}"
|
13
|
+
members.each do |m|
|
14
|
+
client.put("/boards/#{board.id}/members/#{m.id}", type: 'normal')
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
@@ -0,0 +1,37 @@
|
|
1
|
+
require 'json'
|
2
|
+
require 'yello/trello'
|
3
|
+
module Yello
|
4
|
+
|
5
|
+
class << self
|
6
|
+
def to_trello(name, lists)
|
7
|
+
Yello::ToTrello.new.run(name, lists)
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
class ToTrello
|
12
|
+
include Trello
|
13
|
+
|
14
|
+
def run(name, lists)
|
15
|
+
client.create(:boards, 'name'=>name).tap do |board|
|
16
|
+
board.lists.each do |l|
|
17
|
+
l.closed = true
|
18
|
+
l.save
|
19
|
+
end
|
20
|
+
|
21
|
+
lists.reverse.each do |l|
|
22
|
+
list = client.create(:list, l.attributes.merge('idBoard'=>board.id))
|
23
|
+
l.cards.reverse.each do |c|
|
24
|
+
card = client.create(:card, c.attributes.merge('idList'=>list.id))
|
25
|
+
c.checklists.each do |cl|
|
26
|
+
checklist = client.find(:checklist, JSON.parse(card.create_new_checklist(cl.name))['id'])
|
27
|
+
cl.items.each do |i|
|
28
|
+
checklist.add_item(i)
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
data/lib/yello/version.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
require 'yello/from_yaml'
|
2
2
|
require 'spec_helper'
|
3
|
-
require 'yello/
|
3
|
+
require 'yello/to_trello'
|
4
4
|
require 'json'
|
5
5
|
|
6
6
|
module Yello
|
@@ -35,13 +35,8 @@ module Yello
|
|
35
35
|
expect(client).to receive(:find).with(:checklist, 'CHECKLIST-ID'){checklist}
|
36
36
|
expect(checklist).to receive(:add_item).with('ITEM')
|
37
37
|
|
38
|
-
Yello.
|
38
|
+
Yello.to_trello('BOARD', input)
|
39
39
|
end
|
40
|
-
|
41
|
-
it 'should export a board' do
|
42
|
-
|
43
|
-
end
|
44
|
-
|
45
40
|
end
|
46
41
|
end
|
47
42
|
|
data/yello.gemspec
CHANGED
@@ -21,6 +21,7 @@ Gem::Specification.new do |spec|
|
|
21
21
|
spec.add_development_dependency 'rake', '~> 10.0'
|
22
22
|
spec.add_development_dependency 'rspec', '~>3.0'
|
23
23
|
spec.add_development_dependency 'simplecov', '~> 0.9'
|
24
|
+
spec.add_development_dependency 'pry', '~> 0.10'
|
24
25
|
|
25
26
|
spec.add_dependency 'highline', '~> 1.6'
|
26
27
|
spec.add_dependency 'os', '~> 0.9'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: yello
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mike Shea
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-11-
|
11
|
+
date: 2014-11-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -66,6 +66,20 @@ dependencies:
|
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0.9'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: pry
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0.10'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0.10'
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
84
|
name: highline
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -159,6 +173,7 @@ extensions: []
|
|
159
173
|
extra_rdoc_files: []
|
160
174
|
files:
|
161
175
|
- ".gitignore"
|
176
|
+
- ".pryrc"
|
162
177
|
- Gemfile
|
163
178
|
- LICENSE.txt
|
164
179
|
- README.md
|
@@ -170,6 +185,7 @@ files:
|
|
170
185
|
- lib/yello/cli/export.rb
|
171
186
|
- lib/yello/cli/import.rb
|
172
187
|
- lib/yello/cli/login.rb
|
188
|
+
- lib/yello/find_members.rb
|
173
189
|
- lib/yello/from_trello.rb
|
174
190
|
- lib/yello/from_yaml.rb
|
175
191
|
- lib/yello/import.rb
|
@@ -178,6 +194,8 @@ files:
|
|
178
194
|
- lib/yello/model/card.rb
|
179
195
|
- lib/yello/model/checklist.rb
|
180
196
|
- lib/yello/model/list.rb
|
197
|
+
- lib/yello/share.rb
|
198
|
+
- lib/yello/to_trello.rb
|
181
199
|
- lib/yello/to_yaml.rb
|
182
200
|
- lib/yello/trello.rb
|
183
201
|
- lib/yello/version.rb
|
@@ -185,9 +203,9 @@ files:
|
|
185
203
|
- spec/create.yml
|
186
204
|
- spec/from_trello_spec.rb
|
187
205
|
- spec/from_yaml_spec.rb
|
188
|
-
- spec/import_spec.rb
|
189
206
|
- spec/spec_helper.rb
|
190
207
|
- spec/test.yml
|
208
|
+
- spec/to_trello_spec.rb
|
191
209
|
- spec/to_yaml_spec.rb
|
192
210
|
- yello.gemspec
|
193
211
|
homepage: http://github.com/sheax0r/yello
|
@@ -219,7 +237,7 @@ test_files:
|
|
219
237
|
- spec/create.yml
|
220
238
|
- spec/from_trello_spec.rb
|
221
239
|
- spec/from_yaml_spec.rb
|
222
|
-
- spec/import_spec.rb
|
223
240
|
- spec/spec_helper.rb
|
224
241
|
- spec/test.yml
|
242
|
+
- spec/to_trello_spec.rb
|
225
243
|
- spec/to_yaml_spec.rb
|