totrello 0.3.03 → 0.3.04

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,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- M2UyMzJkZDk4OTIwNjQwZWQ3OGZmMTBhMTBjNTRiMWE4ODc2YTlkNA==
4
+ OTI2OGIzZWUzZWY3OGFkZDFhNzVjNGIzNWI2OTBiYTM1YjNjMmZmYQ==
5
5
  data.tar.gz: !binary |-
6
- ZDg0NTRjZDNkMjNhYTlkMmYxZWEwNTUyYTY5NjJhZTRiYjNjOTg0Ng==
6
+ ODNjYjZmY2Y2MGE4NThlYzZmODg2Yzg2ZjJjNDhhNmE2ZmUwYjdiYg==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- MDFhNTllNzY2ZTAyMDQyMjUxOTRjMjk4MzIxMWYyNzIyMGQyYTFhZDUxYzA2
10
- ZDY4ZTM1MWYwNmZkZTAxZDNiOWY3ZDMwNzlkYTE2MzI2YTY5YWJjYjM2NTFk
11
- YjI3N2U5OTM2ZGQ0NzJlZmNlMzJmOTkwYjlhMWMyN2NiZGE4OWM=
9
+ NzkyNTk0N2RmZGJiNmQ4YzcwOGJmMTZkNWJlOTkxY2U1ODkzMDBjZWFkZWM0
10
+ NmQ5ZGY0MGY2N2E3NDQ2MzU5NGU4Zjg0NjFjZjZiM2RjZTE1NDZhMzE3NDRh
11
+ ODllYjgxODVmMzA5Yzk1ZDQ0ZWIxZmM1ODViOTY3ZTExNTNkMTY=
12
12
  data.tar.gz: !binary |-
13
- NjMzZjNhM2QxNjg3MDBlNzZiMTQyNDk2MjRkZmMwZTYwMzljYWExODJmODRj
14
- YmFjYThhZDI5ZDQwYzc3Njg0YmY1MjhmNGI1ZTU2ZmM5ZjM3MDEzMmRkM2Fi
15
- ZmFmYmU0OGM5OTRlM2ViMjI2MDhhZDM5NWQxNGY2NzY5MjRiMmQ=
13
+ YjQ3ODMxMzZiNzc0Y2FhYTdkOTQwNzBkOGU4MDQ0ODYzMGExZDkxNTMyNjZj
14
+ N2NlMjg4MjQ1OWU3NjVmNDAzZTAyZWRjZWQ0MzU0MmIyMzg3MWVjMTIwNWQ4
15
+ ZjUwMjM5MWZjOGYwOTYxZTNlNGQxZmViY2I0ODc4M2YxMTIyMzE=
data/.travis.yml CHANGED
@@ -1,5 +1,7 @@
1
1
  language: ruby
2
2
  rvm:
3
+ - 2.2.0
4
+ - 2.1.5
3
5
  - 2.1.2
4
6
  - 2.1.1
5
7
  - 2.0.0-p247
data/bin/ToTrello CHANGED
@@ -32,11 +32,20 @@ def main
32
32
 
33
33
 
34
34
  puts "You've specified to work in: #{dir}"
35
-
36
35
  trel = Totrello::Trelloize.new(dir)
37
- trel.find_todo_items
36
+ puts 'Generating your board'
37
+ board = trel.create_or_gen_board
38
+ return -1 if board.nil?
39
+ puts "Created or found a board with the ID: #{board.name}"
40
+ puts 'Finding your todo items... '
41
+ todos = trel.get_todos
42
+ puts "Woot! We've got'em"
43
+ trel.create_cards(board, todos)
44
+ puts "And you're ready to go!"
45
+
38
46
 
39
47
  end
48
+
40
49
  end
41
50
 
42
51
 
data/lib/to_do_find.rb CHANGED
@@ -5,23 +5,18 @@ class ToDoFind
5
5
  # This will search a given directory
6
6
  #
7
7
  def search(directory, excludes_dirs, todo_styles, file_types, comment_styles)
8
- files_to_search = []
9
-
10
- directory ||= Dir.pwd
11
8
 
12
9
  todos= {directory: directory.split('/').last, :todo_list=>[] }
13
10
 
14
11
  files_to_search = exclude_folders(get_folders(directory, file_types), Array(excludes_dirs))
15
12
 
13
+ files_to_search.each do |my_code_file|
16
14
 
17
- files_to_search.each do |my_text_file|
18
-
19
- found_todo = find_todo(my_text_file, todo_styles, comment_styles)
20
-
15
+ found_todo = find_todo(my_code_file, todo_styles, comment_styles)
21
16
 
22
17
  if found_todo
23
18
  todos[:todo_list].append(
24
- {:file=> my_text_file.gsub(directory,''),
19
+ {:file=> my_code_file.gsub(directory,''),
25
20
  :todos => found_todo}
26
21
  )
27
22
  end
@@ -30,16 +25,14 @@ class ToDoFind
30
25
  todos
31
26
  end
32
27
 
33
- def get_folders(directory, file_types)
28
+ def get_todos(files_to_search, found_todo)
34
29
 
35
- files = []
36
- directory ||= Dir.pwd
37
30
 
38
- file_types.each do |ft|
39
- file = File.join("#{directory}/**", "*#{ft.to_s}")
40
- files.concat(Dir.glob(file))
41
- end
42
- files
31
+ end
32
+
33
+ def get_folders(directory, file_types)
34
+ directory ||= Dir.pwd
35
+ files = get_internal_folders(directory, file_types)
43
36
  end
44
37
 
45
38
  def exclude_folders(file_array, excludes_array)
@@ -51,17 +44,30 @@ class ToDoFind
51
44
 
52
45
  def find_todo(file, todo_styles, comment_styles)
53
46
  @out = []
54
- code_lines = File.readlines(file)
55
- code_lines= code_lines.map.with_index { |x,i| {:todo => x, :location => i + 1}}
56
47
 
57
48
  todo_styles.each do |tds|
58
- @out.concat((code_lines.find_all { |i| is_todo?(i[:todo], (tds))}))
49
+ @out.concat((get_code(file).find_all { |i| is_todo?(i[:todo], (tds))}))
59
50
  end
60
51
 
61
52
  clean_todos(@out, todo_styles, comment_styles).sort_by { |hsh| hsh[:todo] }
62
53
  end
63
54
 
64
55
  private
56
+
57
+ def get_internal_folders(directory, file_types)
58
+ files = []
59
+ file_types.each do |ft|
60
+ file = File.join("#{directory}/**", "*#{ft.to_s}")
61
+ files.concat(Dir.glob(file))
62
+ end
63
+ files
64
+ end
65
+
66
+ def get_code(file)
67
+ code_lines = File.readlines(file)
68
+ code_lines.map.with_index { |x,i| {:todo => x, :location => i + 1}}
69
+ end
70
+
65
71
  def clean_todos(todo_array, todo_styles, comment_styles)
66
72
  todo_array.each do |found_todos|
67
73
  todo_styles.each do |tds|
data/lib/totrello.rb CHANGED
@@ -18,27 +18,9 @@ module Totrello
18
18
  @config = totrello_config.build_hash
19
19
  end
20
20
 
21
- def find_todo_items
22
-
23
- puts 'Generating your board'
24
-
25
- puts "Creating the board: #{@config[:board_name].to_s}"
26
-
27
- board = create_or_gen_board(@config[:board_name].to_s)
28
-
29
- return -1 if board.nil?
30
-
31
- puts "Created or found a board with the ID: #{board.name}"
32
-
33
-
34
- create_cards(board)
35
- puts "And you're ready to go!"
36
-
37
- end
38
-
39
- def create_or_gen_board(board_name)
40
- board = @trello.find_board(board_name)
41
- board ||= @trello.create_board(board_name, 'Auto Generated by ToTrello Gem')
21
+ def create_or_gen_board
22
+ board = @trello.find_board(@config[:board_name].to_s)
23
+ board ||= @trello.create_board(@config[:board_name].to_s, 'Auto Generated by ToTrello Gem')
42
24
  end
43
25
 
44
26
  def create_trello_card(board, list, todo, filename)
@@ -48,52 +30,32 @@ module Totrello
48
30
 
49
31
  def gen_description(file, todo, project_name)
50
32
  out = "TODO item found by the [ToTrello](https://rubygems.org/gems/totrello) gem\n"
51
- out += "===========================\n"
52
33
  out += "**Project name:** #{project_name}\n"
53
34
  out += "**Filename**: #{file}\n"
54
35
  out += "**Action item**: #{todo[:todo]}\n"
55
36
  out += "**Location (at or near) line**: #{todo[:location]}\n"
56
37
  end
57
38
 
58
- private
59
- def create_cards(board)
60
-
61
-
62
- processes = []
63
- todos = get_todos
64
-
65
- puts 'Talking to Trello, this is the longest part...'
66
-
67
- todos[:todo_list].each do |tdl|
68
- tdl[:todos].each do |td|
69
- unless td == ''
70
- processes.append(fork {create_trello_card(board, @config[:default_list], td, tdl[:file])})
71
- #create_trello_card(board, @config[:default_list], td, tdl[:file])
72
-
73
- end
39
+ def create_cards(board, todos)
40
+ todos[:todo_list].each do |tdl|
41
+ tdl[:todos].each do |td|
42
+ unless td == ''
43
+ create_trello_card(board, @config[:default_list], td, tdl[:file])
74
44
  end
75
45
  end
76
-
77
- process_manager(processes)
78
46
  end
47
+ end
79
48
 
80
- def process_manager(processes)
81
- processes.each {|pro| Process.waitpid(pro)}
82
- end
83
-
84
- def get_todos
85
- puts 'Finding your todo items... '
86
- todo = ToDoFind.new
87
- todos = todo.search(@directory,
88
- Array( @config[:excludes]),
89
- Array( @config[:todo_types]),
90
- Array( @config[:file_types]),
91
- Array( @config[:comment_style]))
92
- puts "Woot! We've got'em"
93
- todos
94
- end
95
-
96
-
49
+ def get_todos
50
+ todo = ToDoFind.new
51
+ todos = todo.search(@directory,
52
+ Array( @config[:excludes]),
53
+ Array( @config[:todo_types]),
54
+ Array( @config[:file_types]),
55
+ Array( @config[:comment_style]))
56
+ todos
97
57
  end
98
58
 
59
+ end
60
+
99
61
  end
@@ -1,3 +1,3 @@
1
1
  module Totrello
2
- VERSION = "0.3.03"
2
+ VERSION = "0.3.04"
3
3
  end
@@ -33,7 +33,6 @@ class TotrelloConfig
33
33
  trello_yml = Dir.glob(totrello_config_file)[0]
34
34
 
35
35
  unless trello_yml.nil?
36
- puts "Found yml file file: #{trello_yml}"
37
36
  config = YAML.load_file(trello_yml )
38
37
  config['totrello'].each { |key, value| instance_variable_set("@#{key}", value) }
39
38
  end
@@ -20,7 +20,7 @@ describe 'Totrello' do
20
20
  directory = "#{Dir.pwd}/test/test_data"
21
21
 
22
22
  t = Totrello::Trelloize.new(directory)
23
- board = t.create_or_gen_board(directory.split('/').last)
23
+ board = t.create_or_gen_board
24
24
 
25
25
  expect(board.name.downcase).to eq(directory.split('/').last.downcase)
26
26
 
@@ -35,7 +35,7 @@ describe 'Totrello' do
35
35
  directory = "#{Dir.pwd}/test/test_data"
36
36
 
37
37
  t = Totrello::Trelloize.new(directory)
38
- board = t.create_or_gen_board(directory.split('/').last)
38
+ board = t.create_or_gen_board
39
39
 
40
40
  card_name = Digest::SHA1.hexdigest Time.now.to_s
41
41
 
@@ -47,5 +47,21 @@ describe 'Totrello' do
47
47
 
48
48
  end
49
49
 
50
+ describe 'create_cards' do
51
+ it 'loop over the cards and create them' do
52
+ # Missing test
53
+ end
54
+ end
55
+
56
+ describe 'get_todos' do
57
+ it 'should return an hash map of todos' do
58
+ directory = "#{Dir.pwd}/test/test_data"
59
+ t = Totrello::Trelloize.new(directory)
60
+ todos = t.get_todos
61
+ expect(todos).to include(:todo_list)
62
+ expect(todos).to be_a_kind_of(Hash)
63
+ end
64
+ end
65
+
50
66
  end
51
67
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: totrello
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.03
4
+ version: 0.3.04
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josh Teeter
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-11 00:00:00.000000000 Z
11
+ date: 2015-01-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -128,7 +128,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
128
128
  version: '0'
129
129
  requirements: []
130
130
  rubyforge_project:
131
- rubygems_version: 2.4.1
131
+ rubygems_version: 2.4.5
132
132
  signing_key:
133
133
  specification_version: 4
134
134
  summary: Turns todo items into trello cards.