giteaucrat 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
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