giteaucrat 0.0.2 → 0.0.3

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
- YWQ5ZjA3Yzk3OGU1OTIwNWU3NmYyMjkyYzJmNGFjYzk0NTY4MGU1ZQ==
4
+ NDljY2ZhYWJmNTMxNmJiYzJhN2UwMGIyYzU0YmExYTY1Njc4MmQ0Nw==
5
5
  data.tar.gz: !binary |-
6
- NDlhZWYxZDU2ZjIxMmY3MWIzZTA2NDk2ZjVmMWFmNDY1Y2M1NTFkYg==
6
+ MDQyZWVlN2RlMjg2ZjU0OTFjZTI3ZDIwMDYwODY2ZThhMDFjMTlmYQ==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- MDJkMjJmZDIwNzIyODE4ZTYxNWQ3YzQ3MGYxMDE3NmMxNzJmMzlkNjFjMjk4
10
- MzVlNjRkNjY1ZDdkNGExOWRlMWQ0YWIxYWEwZjk2ZGIxYzZlMjljY2U4NDU1
11
- ZDYwY2E2MGZkNWI4M2MzZGM0Mjc3ODE1NzdlMTZmYjc0MmNkM2I=
9
+ MzU3MWI4YTkzMzE3MWYzYTY5NWFmNmEwMzhhYWIyZGYyMjBiNjYxYTU3ZDA5
10
+ NDkxNDI4YWUyMzZiZTZiNGJkZDYyNzM3NjQyN2Y2MTU5N2NhODAxOGVkODYx
11
+ ZDg2ZjM0Y2M2M2ZhMGEwNGE5NGFmNGM3YjA4Mjk1YzdlZjdjNDk=
12
12
  data.tar.gz: !binary |-
13
- NDAxMGFiNGY1NzdlNzZiMjAyZDMyNWY2MzFlMmY0NjZhYWUxZjUxZWVkYzI4
14
- YWMzNzlhYTZkNjE5YmM3MmU4Y2E4OWRmZTEwOTYyZmFkYjE3YTJiNzkxMDU2
15
- ZTRmYmYxMDRkZGY4OTM5MDM5NWFiMTc4ZGRmOWNmYWY3MGRkZGU=
13
+ M2U1OGU3NzkxYzY2YWRkMWE4NTdiOTJiZTkxMjQ2Y2IyODU1NTVhZjcxZDRj
14
+ ZTI5ZjU2NmM0MTNlMDMyYzA1MjE4NjA3NGRmMWI0NGQ5OGIzMzdhMTMxMzQ2
15
+ YjhhOGVhMjkzZmQ1NWI1YTUyMjRhZTc4YWU2ZWJjNGM0N2Q3ZDc=
data/MIT-LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ © Alexander Semyonov, 2013
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md CHANGED
@@ -27,3 +27,5 @@ You can see all available options using:
27
27
  3. Commit your changes (`git commit -am 'Add some feature'`)
28
28
  4. Push to the branch (`git push origin my-new-feature`)
29
29
  5. Create new Pull Request
30
+
31
+ © Alexander Semyonov, 2013. See MIT-LICENSE for details
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  commit_keyword: "#giteaucrat"
3
3
  copyright_owner: Alexander Semyonov
4
- copyright_format: "© %{owner}, %{years}"
4
+ copyright_format: "© %{owner}, %{years}, %{license}"
5
5
  include_encoding: true
6
+ license: MIT License
@@ -1,7 +1,7 @@
1
1
  # coding: utf-8
2
2
 
3
3
  ################################################
4
- # © Alexander Semyonov, 2013—2013 #
4
+ # © Alexander Semyonov, 2013—2013, MIT License #
5
5
  # Author: Alexander Semyonov <al@semyonov.us> #
6
6
  ################################################
7
7
 
@@ -1,7 +1,7 @@
1
1
  # coding: utf-8
2
2
 
3
3
  ################################################
4
- # © Alexander Semyonov, 2013—2013 #
4
+ # © Alexander Semyonov, 2013—2013, MIT License #
5
5
  # Author: Alexander Semyonov <al@semyonov.us> #
6
6
  ################################################
7
7
 
@@ -1,13 +1,14 @@
1
1
  # coding: utf-8
2
2
 
3
3
  ################################################
4
- # © Alexander Semyonov, 2013—2013 #
4
+ # © Alexander Semyonov, 2013—2013, MIT License #
5
5
  # Author: Alexander Semyonov <al@semyonov.us> #
6
6
  ################################################
7
7
 
8
8
  require 'giteaucrat'
9
9
  require 'grit'
10
10
  require 'core_ext/grit/blame'
11
+ require 'giteaucrat/formatters'
11
12
 
12
13
  module Giteaucrat
13
14
  class File
@@ -24,7 +25,7 @@ module Giteaucrat
24
25
  blame = repo.git_repo.blame(name)
25
26
  lines = blame.lines
26
27
  commits = lines.map { |line| line.commit }.uniq.find_all do |commit|
27
- !ignored_commit?(commit)
28
+ !repo.ignored_commit?(commit)
28
29
  end
29
30
  commits.inject(Set.new) do |authors, commit|
30
31
  author = Author.find_by_git_person(commit.author)
@@ -34,78 +35,26 @@ module Giteaucrat
34
35
  end
35
36
  end
36
37
 
37
- def write_copyright!
38
- first, middle, last = comment
39
- first = Regexp.escape(first)
40
- middle = Regexp.escape(middle)
41
- last = Regexp.escape(last)
42
- contents = ::File.read(name)
43
- ruler = "(#{first}(#{middle})*#{last}\n)"
44
- coding = "\\A(#{first}\s*.*coding:\s*utf-8\s*\n+)?"
45
- header = /#{coding}#{ruler}(#{first}.*#{last}\n)*\2\n*/m
46
- if repo.include_encoding?
47
- contents.sub!(header, '')
48
- contents.sub!(/#{coding}/, '')
49
- contents = "#{copyright}\n\n#{contents}"
50
- else
51
- contents.sub!(/(#{coding})/, "\1#{copyright}\n\n")
38
+ def owner
39
+ @owner ||= begin
40
+ Author.find_by_git_person(repo.git_repo.log(name).last.author)
52
41
  end
53
- ::File.write(name, contents)
54
42
  end
55
43
 
56
- def copyright
57
- @copyright ||= begin
58
- lines = []
59
- lines << repo.copyright_label
60
-
61
- if authors.size > 0
62
- authors_label = (authors.size > 1) ? 'Authors: ' : 'Author: '
63
- author_names = self.authors.map { |a| a.identifier }.sort
64
- prepend = ' ' * authors_label.size
65
- lines << "#{authors_label}#{author_names.shift}"
66
- author_names.each do |author|
67
- lines << "#{prepend}#{author}"
68
- end
69
- end
70
-
71
- first, middle, last = self.comment
72
-
73
- max_line_size = lines.max { |a, b| a.size <=> b.size }.size
74
- max_line_size += 1 if max_line_size.odd?
75
-
76
- width = first.size + 1 + max_line_size + 1 + last.size
77
- ruler = "#{first}#{middle * ((width / middle.size - first.size - last.size))}#{last}"
78
- lines = lines.map do |line|
79
- blank = ' ' * (max_line_size - line.size) if line.size < max_line_size
80
- "#{first} #{line}#{blank} #{last}"
81
- end
44
+ def read_contents
45
+ ::File.read(name)
46
+ end
82
47
 
83
- lines.unshift(ruler)
84
- lines << ruler
85
- if repo.include_encoding?
86
- lines.unshift("#{first} coding: utf-8\n")
87
- end
88
- lines.join("\n")
89
- end
48
+ def write_contents(contents)
49
+ ::File.write(name, contents)
90
50
  end
91
51
 
92
- # @see Giteaucrat::Repo#ignored_commit?
93
- def ignored_commit?(commit)
94
- repo.ignored_commit?(commit)
52
+ def formatter
53
+ @formatter ||= Formatters.formatter_for(self)
95
54
  end
96
55
 
97
- # @return [<String, String, String>]
98
- def comment
99
- case ::File.extname(name)
100
- when '.rb', '.coffee', '.sass'
101
- %w(# # #)
102
- when '.js', '.css', '.scss'
103
- %w(/* * */)
104
- when '.erl'
105
- %w(% % %)
106
- else
107
- raise 'Unknown file type'
108
- end
56
+ def write_copyright!
57
+ formatter.write_copyright!
109
58
  end
110
59
  end
111
60
  end
@@ -0,0 +1,22 @@
1
+ # coding: utf-8
2
+
3
+ ################################################
4
+ # © Alexander Semyonov, 2013—2013, MIT License #
5
+ # Author: Alexander Semyonov <al@semyonov.us> #
6
+ ################################################
7
+
8
+ require 'giteaucrat/formatters/ruby_formatter'
9
+
10
+ module Giteaucrat
11
+ module Formatters
12
+ class CoffeeFormatter < RubyFormatter
13
+ def include_encoding?
14
+ false
15
+ end
16
+
17
+ def add_copyright!
18
+ @contents = [format_copyright, contents].join("\n\n")
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,126 @@
1
+ # coding: utf-8
2
+
3
+ ################################################
4
+ # © Alexander Semyonov, 2013—2013, MIT License #
5
+ # Author: Alexander Semyonov <al@semyonov.us> #
6
+ ################################################
7
+
8
+ require 'giteaucrat/formatters'
9
+ require 'delegate'
10
+
11
+ module Giteaucrat
12
+ module Formatters
13
+ class Formatter < SimpleDelegator
14
+ # @return [String]
15
+ def format_copyright
16
+ first, _, last = comment_parts
17
+ lines = copyright_lines
18
+
19
+ max_line_size = lines.max { |a, b| a.size <=> b.size }.size
20
+ max_line_size += 1 if max_line_size.odd?
21
+
22
+ lines = lines.map do |line|
23
+ blank = ' ' * (max_line_size - line.size) if line.size < max_line_size
24
+ "#{line}#{blank}"
25
+ end
26
+
27
+ line_width = first.size + 1 + max_line_size + 1 + last.size
28
+
29
+ formatted = []
30
+ formatted << header_ruler(line_width)
31
+ formatted << lines.map { |line| format_line(line) }
32
+ formatted << footer_ruler(line_width)
33
+ formatted.join("\n")
34
+ end
35
+
36
+ def comment_parts
37
+ self.class.const_get(:COMMENT_PARTS)
38
+ end
39
+
40
+ def header_ruler(line_width)
41
+ ruler(line_width)
42
+ end
43
+
44
+ def footer_ruler(line_width)
45
+ ruler(line_width)
46
+ end
47
+
48
+ def ruler(line_width)
49
+ first, middle, last = comment_parts
50
+ ruler_width = (line_width - first.size - last.size) / middle.size
51
+ "#{first}#{middle * ruler_width}#{last}"
52
+ end
53
+
54
+ def format_line(line)
55
+ " #{line} "
56
+ end
57
+
58
+ def remove_copyright!
59
+ contents.sub!(self.class.const_get(:COPYRIGHT_REGEXP), '')
60
+ if $~ && $~[:comment]
61
+ parse_comment($~[:comment])
62
+ end
63
+ end
64
+
65
+ def parse_comment(comment)
66
+ @comment_lines = comment.split("\n")
67
+ @copyright_lines = nil
68
+ end
69
+
70
+ def comment_lines
71
+ @comment_lines
72
+ end
73
+
74
+ def comment?
75
+ !!@comment_lines
76
+ end
77
+
78
+ # @return [String]
79
+ def write_copyright!
80
+ remove_copyright!
81
+ add_copyright!
82
+ write_contents(contents)
83
+ end
84
+
85
+ def add_copyright!
86
+ @contents = [format_copyright, contents].join("\n\n")
87
+ end
88
+
89
+ private
90
+
91
+ def copyright_lines
92
+ @copyright_lines ||= begin
93
+ lines = []
94
+
95
+ lines << repo.copyright_label
96
+
97
+ if owner || authors.size > 0
98
+ authors_label = (authors.size > 1) ? 'Authors: ' : 'Author: '
99
+ author_names = (authors - [owner]).map { |a| a.identifier }.sort
100
+ prepend = ' ' * authors_label.size
101
+ lines << "#{authors_label}#{owner.identifier}"
102
+ author_names.each do |author|
103
+ lines << "#{prepend}#{author}"
104
+ end
105
+ end
106
+
107
+ if comment?
108
+ lines << ''
109
+ lines += comment_lines
110
+ end
111
+
112
+ lines
113
+ end
114
+ end
115
+
116
+ # @return [Giteaucrat::File]
117
+ def file
118
+ __getobj__
119
+ end
120
+
121
+ def contents
122
+ @contents ||= read_contents
123
+ end
124
+ end
125
+ end
126
+ end
@@ -0,0 +1,37 @@
1
+ # coding: utf-8
2
+
3
+ ################################################
4
+ # © Alexander Semyonov, 2013—2013, MIT License #
5
+ # Author: Alexander Semyonov <al@semyonov.us> #
6
+ ################################################
7
+
8
+ require 'giteaucrat/formatters/formatter'
9
+
10
+ module Giteaucrat
11
+ module Formatters
12
+ class JavaFormatter < Formatter
13
+ COMMENT_PARTS = %w(/* * */)
14
+
15
+ COPYRIGHT_REGEXP = %r{/\*(?<ruler>\*+)\n(?<copyrights>(\s\*\s*[^\s\*]+.*\n)+)(\s\*\s*\*?\n(?<comment>(\s\*\s?.*\*?\n)+))?(\s\g<ruler>\**/\n+)}
16
+
17
+ def format_line(line)
18
+ " * #{line} *"
19
+ end
20
+
21
+ def header_ruler(line_width)
22
+ "/*#{'*' * (line_width - 3)}"
23
+ end
24
+
25
+ def footer_ruler(line_width)
26
+ " #{'*' * (line_width - 3)}*/"
27
+ end
28
+
29
+ def parse_comment(comment)
30
+ comment_lines = comment.split("\n").map do |line|
31
+ line.sub(/\A\s\*\s?/, '').sub(/\s*\*\s*\Z/, '')
32
+ end
33
+ @comment_lines = comment_lines
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,15 @@
1
+ # coding: utf-8
2
+
3
+ ################################################
4
+ # © Alexander Semyonov, 2013—2013, MIT License #
5
+ # Author: Alexander Semyonov <al@semyonov.us> #
6
+ ################################################
7
+
8
+ require 'giteaucrat/formatters/ruby_formatter'
9
+
10
+ module Giteaucrat
11
+ module Formatters
12
+ class PythonFormatter < RubyFormatter
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,58 @@
1
+ # coding: utf-8
2
+
3
+ ################################################
4
+ # © Alexander Semyonov, 2013—2013, MIT License #
5
+ # Author: Alexander Semyonov <al@semyonov.us> #
6
+ ################################################
7
+
8
+ require 'giteaucrat/formatters/formatter'
9
+
10
+ module Giteaucrat
11
+ module Formatters
12
+ class RubyFormatter < Formatter
13
+ COMMENT_PARTS = %w(# # #)
14
+
15
+ # @return [String]
16
+ CODING_REGEXP = /\A(#\s*.*coding:\s*utf-8\s*\n+)?/
17
+ COPYRIGHT_REGEXP = /(?<ruler>##+#\n)(?<copyright>(#\s*[^\s#]+.*\s#\n)+)(#\s+#?\n(?<comment>(#\s*.*#?\n)+))?\k<ruler>\n+/
18
+
19
+ def format_copyright
20
+ copyright = super
21
+ copyright = "# coding: utf-8\n\n#{copyright}" if include_encoding?
22
+ copyright
23
+ end
24
+
25
+ def format_line(line)
26
+ first, _, last = comment_parts
27
+ "#{first} #{line} #{last}"
28
+ end
29
+
30
+ def remove_copyright!
31
+ super
32
+ contents.sub!(CODING_REGEXP, '') if include_encoding?
33
+ end
34
+
35
+ def add_copyright!
36
+ if !include_encoding? && !!(contents =~ CODING_REGEXP)
37
+ lines = contents.split(/\n/).to_a
38
+ lines.insert(1, format_copyright)
39
+ @contents = lines.join("\n")
40
+ else
41
+ super
42
+ end
43
+ end
44
+
45
+ def parse_comment(comment)
46
+ middle = Regexp.escape(comment_parts[1])
47
+ comment_lines = comment.split("\n").map do |line|
48
+ line.sub(/\A#{middle}\s?/, '').sub(/\s*#{middle}\s*\Z/, '')
49
+ end
50
+ @comment_lines = comment_lines
51
+ end
52
+
53
+ def include_encoding?
54
+ repo.include_encoding?
55
+ end
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,25 @@
1
+ # coding: utf-8
2
+
3
+ ################################################
4
+ # © Alexander Semyonov, 2013—2013, MIT License #
5
+ # Author: Alexander Semyonov <al@semyonov.us> #
6
+ ################################################
7
+
8
+ require 'giteaucrat/formatters/ruby_formatter'
9
+
10
+ module Giteaucrat
11
+ module Formatters
12
+ class SassFormatter < RubyFormatter
13
+ COMMENT_PARTS = %w(// // //)
14
+ COPYRIGHT_REGEXP = %r{(?<ruler>//+\n)(?<copyright>(//\s*[^\s/]+.*\s//\n)+)(//\s+//?\n(?<comment>(//\s*.*//?\n)+))?\k<ruler>\n+}
15
+
16
+ def include_encoding?
17
+ false
18
+ end
19
+
20
+ def add_copyright!
21
+ @contents = [format_copyright, contents].join("\n\n")
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,40 @@
1
+ # coding: utf-8
2
+
3
+ ################################################
4
+ # © Alexander Semyonov, 2013—2013, MIT License #
5
+ # Author: Alexander Semyonov <al@semyonov.us> #
6
+ ################################################
7
+
8
+ require 'giteaucrat'
9
+
10
+ module Giteaucrat
11
+ module Formatters
12
+ UnknownFormatError = Class.new(StandardError)
13
+
14
+ EXTENSIONS = {
15
+ '.rb' => :RubyFormatter,
16
+ '.java' => :JavaFormatter,
17
+ '.py' => :PythonFormatter,
18
+ '.sass' => :SassFormatter,
19
+ '.scss' => :SassFormatter,
20
+ '.coffee' => :CoffeeFormatter,
21
+ }
22
+
23
+ module_function
24
+
25
+ def formatter_for(file)
26
+ extension = ::File.extname(file.name)
27
+ formatter = EXTENSIONS[extension]
28
+ raise(UnknownFormatError, extension) unless formatter
29
+ const_get(formatter).new(file)
30
+ end
31
+ end
32
+ end
33
+
34
+ require 'giteaucrat/formatters/formatter'
35
+
36
+ require 'giteaucrat/formatters/coffee_formatter'
37
+ require 'giteaucrat/formatters/java_formatter'
38
+ require 'giteaucrat/formatters/python_formatter'
39
+ require 'giteaucrat/formatters/ruby_formatter'
40
+ require 'giteaucrat/formatters/sass_formatter'
@@ -1,7 +1,7 @@
1
1
  # coding: utf-8
2
2
 
3
3
  ################################################
4
- # © Alexander Semyonov, 2013—2013 #
4
+ # © Alexander Semyonov, 2013—2013, MIT License #
5
5
  # Author: Alexander Semyonov <al@semyonov.us> #
6
6
  ################################################
7
7
 
@@ -42,8 +42,8 @@ module Giteaucrat
42
42
  def files
43
43
  @files ||= begin
44
44
  Dir.chdir(path) do
45
- %w(app lib script spec).inject([]) do |files, path|
46
- files + Dir[::File.join(path, '**/*.rb')]
45
+ patterns.inject([]) do |files, pattern|
46
+ files + Dir[pattern]
47
47
  end.map do |file_name|
48
48
  File.new(name: file_name, repo: self)
49
49
  end
@@ -57,6 +57,17 @@ module Giteaucrat
57
57
  end
58
58
  end
59
59
 
60
+ # @return [<String>]
61
+ def patterns
62
+ @patterns || %w(app/**/*.rb lib/**/*.rb script/**/*.rb spec/**/*.rb test/**/*.rb)
63
+ end
64
+
65
+ attr_writer :patterns
66
+
67
+ def patterns=(patterns)
68
+ @patterns = patterns
69
+ end
70
+
60
71
  def timeout
61
72
  Grit::Git.git_timeout
62
73
  end
@@ -1,7 +1,7 @@
1
1
  # coding: utf-8
2
2
 
3
3
  ################################################
4
- # © Alexander Semyonov, 2013—2013 #
4
+ # © Alexander Semyonov, 2013—2013, MIT License #
5
5
  # Author: Alexander Semyonov <al@semyonov.us> #
6
6
  ################################################
7
7
 
@@ -52,6 +52,11 @@ module Giteaucrat
52
52
  aliases: %w(-c),
53
53
  desc: 'Commit updated copyrights',
54
54
  group: :giteaucrat
55
+ class_option :patterns,
56
+ type: :array,
57
+ aliases: %w(-f),
58
+ desc: 'Files to copyright',
59
+ group: :giteaucrat
55
60
 
56
61
  desc 'copyrights', 'Update copyright information in files'
57
62
 
@@ -1,10 +1,10 @@
1
1
  # coding: utf-8
2
2
 
3
3
  ################################################
4
- # © Alexander Semyonov, 2013—2013 #
4
+ # © Alexander Semyonov, 2013—2013, MIT License #
5
5
  # Author: Alexander Semyonov <al@semyonov.us> #
6
6
  ################################################
7
7
 
8
8
  module Giteaucrat
9
- VERSION = '0.0.2'
9
+ VERSION = '0.0.3'
10
10
  end
data/lib/giteaucrat.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  # coding: utf-8
2
2
 
3
3
  ################################################
4
- # © Alexander Semyonov, 2013—2013 #
4
+ # © Alexander Semyonov, 2013—2013, MIT License #
5
5
  # Author: Alexander Semyonov <al@semyonov.us> #
6
6
  ################################################
7
7
 
@@ -11,6 +11,7 @@ module Giteaucrat
11
11
  autoload :Author, 'giteaucrat/author'
12
12
  autoload :Common, 'giteaucrat/common'
13
13
  autoload :File, 'giteaucrat/file'
14
+ autoload :Formatters, 'giteaucrat/formatters'
14
15
  autoload :Repo, 'giteaucrat/repo'
15
16
  autoload :Runner, 'giteaucrat/runner'
16
17
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: giteaucrat
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexander Semyonov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-08-19 00:00:00.000000000 Z
11
+ date: 2013-08-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -77,6 +77,7 @@ files:
77
77
  - .gitignore
78
78
  - Gemfile
79
79
  - LICENSE.txt
80
+ - MIT-LICENSE
80
81
  - README.md
81
82
  - Rakefile
82
83
  - bin/giteaucrat
@@ -87,6 +88,13 @@ files:
87
88
  - lib/giteaucrat/author.rb
88
89
  - lib/giteaucrat/common.rb
89
90
  - lib/giteaucrat/file.rb
91
+ - lib/giteaucrat/formatters.rb
92
+ - lib/giteaucrat/formatters/coffee_formatter.rb
93
+ - lib/giteaucrat/formatters/formatter.rb
94
+ - lib/giteaucrat/formatters/java_formatter.rb
95
+ - lib/giteaucrat/formatters/python_formatter.rb
96
+ - lib/giteaucrat/formatters/ruby_formatter.rb
97
+ - lib/giteaucrat/formatters/sass_formatter.rb
90
98
  - lib/giteaucrat/repo.rb
91
99
  - lib/giteaucrat/runner.rb
92
100
  - lib/giteaucrat/version.rb