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 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