yello 0.0.3 → 0.0.4

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: aabee71da49699c3b6ff833dcb30b04f09fcea09
4
- data.tar.gz: 0c5a39f06e3e9515b109ffacb36b41d4b62b974f
3
+ metadata.gz: fa38dcc0d6d8d7bf792fb0f90dee9527bf09a47d
4
+ data.tar.gz: 18d05d53fec82d8cfef63c1603b945e140322ba9
5
5
  SHA512:
6
- metadata.gz: 4c4393f355eb2bc2c2efe19caad19f35df179b4122c470fab21394a4fc879729de197748f369ac7e8a8cb987e96769b658a07e07ca4e3695b21ec1075b81dd56
7
- data.tar.gz: 953370abcb1399d5aa3d322d446b6a2dea1595ab87d848bee712820ccc16f6be5b94e4559585a3ee7e9e03a44eef4f7bedb6b4edf8ac07093f86df7fc14a9df3
6
+ metadata.gz: 8430231958a2110460f8b0412844bd1d5013d089f0e38b0ad80bcd6167c3707e2e64e95bb14a831c850862be4a5bbe183bb9e18cbd4b5e23291421e6c7f1826f
7
+ data.tar.gz: 82f55476060bdd9d977953bed1d72cafd3cf32850fa595d6f00a5fe16ce7f195afaf0aad28389d894ab02966c8f04b65a26591f2c636abf09ac7b035a891c348
data/.pryrc ADDED
@@ -0,0 +1,8 @@
1
+ $: << 'lib'
2
+ require 'yello/import'
3
+ include Yello::Trello
4
+
5
+ Trello.configure do |c|
6
+ c.developer_public_key = auth.key
7
+ c.member_token = auth.token
8
+ end
@@ -1,13 +1,21 @@
1
1
  require 'thor'
2
2
  require 'yello/from_yaml'
3
- require 'yello/import'
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
- Yello.import(board, Yello.from_yaml(input))
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
- require 'json'
2
- require 'yello/trello'
3
- module Yello
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
@@ -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,3 +1,3 @@
1
1
  module Yello
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end
@@ -1,6 +1,6 @@
1
1
  require 'yello/from_yaml'
2
2
  require 'spec_helper'
3
- require 'yello/import'
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.import('BOARD', input)
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.3
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-24 00:00:00.000000000 Z
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