rabbitt-githooks 1.3.2 → 1.4.1

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: d8a2ed779870b84aa9cc8d2a61a1cec2b9ce00bb
4
- data.tar.gz: 74d1c181b0fb1f3ead9de7fba24cf55485d5e5fc
3
+ metadata.gz: 4f5a527f752152557546b7e9b09af917a80d2ac5
4
+ data.tar.gz: 83fde6252879d9215bab34d6d35f8269b471c43c
5
5
  SHA512:
6
- metadata.gz: 8b5aa0a35e390045e234980f8a132eb4cbf112444df25811e1d7becb50f3a79e85c25810445585743a2a79dcb324c1a50cee34c4202ccd8976fe0f4760b8e759
7
- data.tar.gz: 3408b935632cb28b2c1ff13f6aacd2b83fdc407b4b3acc881ae29ed76f7d0e6b60ce8edd187fe95fc8b0b53d91b64085066451425d9a554ab0ea2b266b01959a
6
+ metadata.gz: cb9e232c8acb6960027b60d9802e77b4242755440cec278a24f137dff0b9f77508aabf003ca222da849600fb05db8bf80408b3e4f820f7bc9a9de20445213521
7
+ data.tar.gz: 4fbbcb4f21183799a1daddbed62c1a2b63bafd1d3fff591d18a168b5e8bba71d83852aedadf4d57685a236bade4569566d09db146a672a717b7e157709671aa3
data/CONTRIBUTORS.txt ADDED
@@ -0,0 +1,2 @@
1
+ Miscellaneous Bugfixes:
2
+ - Robert Widmer (https://github.com/rdubya)
data/Gemfile.lock CHANGED
@@ -1,8 +1,8 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rabbitt-githooks (1.3.2)
5
- colorize (~> 0.7.0)
4
+ rabbitt-githooks (1.4.1)
5
+ rainbow (~> 2.0.0)
6
6
  thor (~> 0.18)
7
7
 
8
8
  GEM
@@ -11,7 +11,6 @@ GEM
11
11
  ast (2.0.0)
12
12
  astrolabe (1.3.0)
13
13
  parser (>= 2.2.0.pre.3, < 3.0)
14
- colorize (0.7.5)
15
14
  diff-lcs (1.2.5)
16
15
  docile (1.1.5)
17
16
  multi_json (1.10.1)
@@ -48,6 +47,7 @@ GEM
48
47
  yard (0.8.7.6)
49
48
 
50
49
  PLATFORMS
50
+ java
51
51
  ruby
52
52
 
53
53
  DEPENDENCIES
data/bin/githooks CHANGED
@@ -1,8 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- if ENV['GITHOOKS_DEV']
4
- require 'pathname'
5
- $:.unshift Pathname.new(__FILE__).dirname.parent.join('lib').realpath.to_s
3
+ if ENV.include? 'GITHOOKS_DEV'
4
+ $:.unshift File.expand_path('../../lib', __FILE__)
6
5
  end
7
6
  require 'githooks'
8
7
 
@@ -12,5 +11,4 @@ rescue GitHooks::Error => e
12
11
  puts e.message
13
12
  exit 1
14
13
  end
15
-
16
14
  exit 0
data/bin/githooks-runner CHANGED
@@ -1,26 +1,22 @@
1
1
  #!/usr/bin/env ruby
2
2
  # rubocop:disable FileName
3
3
 
4
- if ENV['GITHOOKS_DEV']
5
- require 'pathname'
6
- path = Pathname.new(__FILE__).dirname
7
- $:.unshift(
8
- if path.to_s.end_with? '.git/hooks'
9
- path.parent.parent
10
- else
11
- path.parent
12
- end.join('lib').realpath.to_s
13
- )
4
+ if ENV.include? 'GITHOOKS_DEV'
5
+ if __FILE__.include? '.git/hooks'
6
+ $:.unshift File.expand_path('../../../lib', __FILE__)
7
+ else
8
+ $:.unshift File.expand_path('../../lib', __FILE__)
9
+ end
14
10
  end
15
11
  require 'githooks'
16
12
 
17
13
  begin
18
- GitHooks::Runner.run(
14
+ result = GitHooks::Runner.new(
19
15
  'args' => ARGV,
20
16
  'hook' => ENV['GITHOOKS_HOOK']
21
- )
17
+ ).run
22
18
  rescue GitHooks::Error => e
23
19
  puts e.message
24
20
  exit 1
25
21
  end
26
- exit 0
22
+ exit result.to_i
@@ -19,7 +19,6 @@ with this program; if not, write to the Free Software Foundation, Inc.,
19
19
 
20
20
  require 'set'
21
21
  require 'stringio'
22
- require 'colorize'
23
22
  require_relative 'repository'
24
23
 
25
24
  module GitHooks
@@ -35,7 +34,7 @@ module GitHooks
35
34
  @title = title
36
35
  @section = section
37
36
  @on = nil
38
- @limiters = Set.new
37
+ @limiters = section.limiters
39
38
  @success = true
40
39
  @errors = []
41
40
  @warnings = []
@@ -118,8 +117,7 @@ module GitHooks
118
117
  end
119
118
 
120
119
  def respond_to_missing?(method, include_private = false)
121
- return super unless section.hook.find_command(method)
122
- true
120
+ section.hook.find_command(method) || super
123
121
  end
124
122
 
125
123
  def method_missing(method, *args, &block)
@@ -130,10 +128,27 @@ module GitHooks
130
128
 
131
129
  # DSL Methods
132
130
 
131
+ def config_path
132
+ GitHooks.hooks_root.join('configs')
133
+ end
134
+
135
+ def config_file(*path_components)
136
+ config_path.join(*path_components)
137
+ end
138
+
139
+ def lib_path
140
+ GitHooks.hooks_root.join('lib')
141
+ end
142
+
143
+ def lib_file(*path_components)
144
+ lib_path.join(*path_components)
145
+ end
146
+
133
147
  def limit(type)
134
- (find_limiter(type) || Repository::Limiter.new(type)).tap do |limiter|
135
- @limiters << limiter
148
+ unless @limiters.include? type
149
+ @limiters[type] ||= Repository::Limiter.new(type)
136
150
  end
151
+ @limiters[type]
137
152
  end
138
153
 
139
154
  def on_each_file(&block)
@@ -154,10 +169,6 @@ module GitHooks
154
169
 
155
170
  private
156
171
 
157
- def find_limiter(type)
158
- @limiters.select { |l| l.type == type }.first
159
- end
160
-
161
172
  def run_command(command, *args, &block)
162
173
  prefix = nil
163
174
  args.extract_options.tap { |options|
@@ -30,7 +30,7 @@ module GitHooks
30
30
 
31
31
  GitHooks.verbose = !!options['verbose']
32
32
  GitHooks.debug = !!options['debug']
33
- options['repo'] ||= GitHooks::Repository.root_path
33
+ options['repo'] ||= GitHooks::Repository.path
34
34
 
35
35
  repo_data = GitHooks::Repository::Config.new.get(
36
36
  option_name,
@@ -59,7 +59,7 @@ module GitHooks
59
59
  def set(option_name, option_value) # rubocop:disable AbcSize
60
60
  GitHooks.verbose = !!options['verbose']
61
61
  GitHooks.debug = !!options['debug']
62
- options['repo'] ||= GitHooks::Repository.root_path
62
+ options['repo'] ||= GitHooks::Repository.path
63
63
 
64
64
  GitHooks::Repository::Config.new.set(
65
65
  option_name,
@@ -76,7 +76,7 @@ module GitHooks
76
76
  def unset(option_name, option_value = nil) # rubocop:disable AbcSize
77
77
  GitHooks.verbose = !!options['verbose']
78
78
  GitHooks.debug = !!options['debug']
79
- options['repo'] ||= GitHooks::Repository.root_path
79
+ options['repo'] ||= GitHooks::Repository.path
80
80
 
81
81
  GitHooks::Repository::Config.new.unset(
82
82
  option_name,
@@ -93,7 +93,7 @@ module GitHooks
93
93
  GitHooks.verbose = !!options['verbose']
94
94
  GitHooks.debug = !!options['debug']
95
95
 
96
- options['repo'] ||= GitHooks::Repository.root_path
96
+ options['repo'] ||= GitHooks::Repository.path
97
97
  config = GitHooks::Repository::Config.new
98
98
 
99
99
  githooks = config.list(global: options['global'], repo_path: options['repo'])['githooks']
data/lib/githooks/cli.rb CHANGED
@@ -4,13 +4,21 @@ require_relative 'runner'
4
4
 
5
5
  module GitHooks
6
6
  module CLI
7
- autoload :Config, 'githooks/commands/config'
7
+ autoload :Config, 'githooks/cli/config'
8
8
 
9
9
  # rubocop:disable AbcSize
10
10
  class Base < Thor
11
11
  class_option :verbose, aliases: '-v', type: :boolean, desc: 'verbose output', default: false
12
12
  class_option :debug, aliases: '-d', type: :boolean, desc: 'debug output', default: false
13
13
 
14
+ desc :version, 'display version information'
15
+ def version
16
+ puts "GitHooks: #{GitHooks::VERSION}"
17
+ puts "Git : #{%x{git --version | grep git}.split(/\s+/).last}"
18
+ puts "Bundler : #{Bundler::VERSION}"
19
+ puts "Ruby : #{RUBY_ENGINE} #{RUBY_VERSION}p#{RUBY_PATCHLEVEL} (#{RUBY_RELEASE_DATE})"
20
+ end
21
+
14
22
  # githook attach [--hook <hook1,hookN>] [--script <path> | --path <path>] [--bootstrap <path>]
15
23
  # -- attaches the listed hooks (or all if none specified) to the githook runner
16
24
  # optionally sets the script XOR path
@@ -33,7 +41,7 @@ module GitHooks
33
41
  fail ArgumentError, %q"Neither 'path' nor 'script' were specified - please provide at least one."
34
42
  end
35
43
 
36
- Runner.attach(options)
44
+ Runner.new(options.dup).attach
37
45
  end
38
46
 
39
47
  # githook dettach [--hook <hook1,hookN>]
@@ -49,7 +57,7 @@ module GitHooks
49
57
  def detach
50
58
  GitHooks.verbose = !!options['verbose']
51
59
  GitHooks.debug = !!options['debug']
52
- Runner.detach(options['repo'], options['hooks'])
60
+ Runner.new(options.dup).detach(options['hooks'])
53
61
  end
54
62
 
55
63
  # githook list [--hook <hook1,hook2,hookN>]
@@ -59,7 +67,7 @@ module GitHooks
59
67
  def list
60
68
  GitHooks.verbose = !!options['verbose']
61
69
  GitHooks.debug = !!options['debug']
62
- Runner.list(options['repo'])
70
+ Runner.new(options.dup).list
63
71
  end
64
72
 
65
73
  # githooks execute [--[no-]staged] [--tracked] [--untracked] [--args -- one two three ...]
@@ -78,10 +86,11 @@ module GitHooks
78
86
  method_option :'skip-bundler', type: :boolean, desc: %q"Don't load bundler gemfile", default: false
79
87
  method_option :args, type: :array, desc: 'Args to pass to pre/post scripts and main testing script', default: []
80
88
  def execute
81
- GitHooks.verbose = !!options['verbose']
82
- GitHooks.debug = !!options['debug']
89
+ GitHooks.verbose = options['verbose']
90
+ GitHooks.debug = options['debug']
83
91
 
84
- opts = (options).dup
92
+ opts = options.dup
93
+ opts['staged'] ||= !(opts['tracked'] || opts['untracked'])
85
94
 
86
95
  if opts['staged']
87
96
  if opts['tracked']
@@ -93,9 +102,9 @@ module GitHooks
93
102
  end
94
103
  end
95
104
 
96
- opts['staged'] = !(opts['tracked'] || opts['untracked']) if opts['staged'].nil?
105
+ opts['skip-bundler'] ||= !!ENV['GITHOOKS_SKIP_BUNDLER']
97
106
 
98
- GitHooks::Runner.run(opts)
107
+ Runner.new(opts).run
99
108
  end
100
109
 
101
110
  desc :config, 'manage githooks configuration'
@@ -1,3 +1,21 @@
1
+ =begin
2
+ Copyright (C) 2013 Carl P. Corliss
3
+
4
+ This program is free software; you can redistribute it and/or modify
5
+ it under the terms of the GNU General Public License as published by
6
+ the Free Software Foundation; either version 2 of the License, or
7
+ (at your option) any later version.
8
+
9
+ This program is distributed in the hope that it will be useful,
10
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
+ GNU General Public License for more details.
13
+
14
+ You should have received a copy of the GNU General Public License along
15
+ with this program; if not, write to the Free Software Foundation, Inc.,
16
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17
+ =end
18
+
1
19
  class Array
2
20
  def extract_options!
3
21
  last.is_a?(Hash) ? pop : {}
@@ -1,3 +1,21 @@
1
+ =begin
2
+ Copyright (C) 2013 Carl P. Corliss
3
+
4
+ This program is free software; you can redistribute it and/or modify
5
+ it under the terms of the GNU General Public License as published by
6
+ the Free Software Foundation; either version 2 of the License, or
7
+ (at your option) any later version.
8
+
9
+ This program is distributed in the hope that it will be useful,
10
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
+ GNU General Public License for more details.
13
+
14
+ You should have received a copy of the GNU General Public License along
15
+ with this program; if not, write to the Free Software Foundation, Inc.,
16
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17
+ =end
18
+
1
19
  class Array
2
20
  def select_with_index(regexp = nil, &block)
3
21
  [].tap do |collection|
@@ -1,3 +1,21 @@
1
+ =begin
2
+ Copyright (C) 2013 Carl P. Corliss
3
+
4
+ This program is free software; you can redistribute it and/or modify
5
+ it under the terms of the GNU General Public License as published by
6
+ the Free Software Foundation; either version 2 of the License, or
7
+ (at your option) any later version.
8
+
9
+ This program is distributed in the hope that it will be useful,
10
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
+ GNU General Public License for more details.
13
+
14
+ You should have received a copy of the GNU General Public License along
15
+ with this program; if not, write to the Free Software Foundation, Inc.,
16
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17
+ =end
18
+
1
19
  require_relative 'array/min_max'
2
20
  require_relative 'array/select_with_index'
3
21
  require_relative 'array/extract_options'
@@ -1 +1,19 @@
1
+ =begin
2
+ Copyright (C) 2013 Carl P. Corliss
3
+
4
+ This program is free software; you can redistribute it and/or modify
5
+ it under the terms of the GNU General Public License as published by
6
+ the Free Software Foundation; either version 2 of the License, or
7
+ (at your option) any later version.
8
+
9
+ This program is distributed in the hope that it will be useful,
10
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
+ GNU General Public License for more details.
13
+
14
+ You should have received a copy of the GNU General Public License along
15
+ with this program; if not, write to the Free Software Foundation, Inc.,
16
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17
+ =end
18
+
1
19
  require_relative 'numbers/infinity'
@@ -1,3 +1,21 @@
1
+ =begin
2
+ Copyright (C) 2013 Carl P. Corliss
3
+
4
+ This program is free software; you can redistribute it and/or modify
5
+ it under the terms of the GNU General Public License as published by
6
+ the Free Software Foundation; either version 2 of the License, or
7
+ (at your option) any later version.
8
+
9
+ This program is distributed in the hope that it will be useful,
10
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
+ GNU General Public License for more details.
13
+
14
+ You should have received a copy of the GNU General Public License along
15
+ with this program; if not, write to the Free Software Foundation, Inc.,
16
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17
+ =end
18
+
1
19
  class Object
2
20
  def deep_dup
3
21
  Marshal.load(Marshal.dump(self))
@@ -0,0 +1,44 @@
1
+ =begin
2
+ Copyright (C) 2013 Carl P. Corliss
3
+
4
+ This program is free software; you can redistribute it and/or modify
5
+ it under the terms of the GNU General Public License as published by
6
+ the Free Software Foundation; either version 2 of the License, or
7
+ (at your option) any later version.
8
+
9
+ This program is distributed in the hope that it will be useful,
10
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
+ GNU General Public License for more details.
13
+
14
+ You should have received a copy of the GNU General Public License along
15
+ with this program; if not, write to the Free Software Foundation, Inc.,
16
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17
+ =end
18
+
19
+ require 'ostruct'
20
+ require 'thor/core_ext/hash_with_indifferent_access'
21
+
22
+ class IndifferentAccessOpenStruct < OpenStruct
23
+ def new_ostruct_member(name)
24
+ return super unless name.to_s.include? '-'
25
+
26
+ original_name, sanitized_name = name, name.to_s.gsub('-', '_').to_sym
27
+ return if respond_to?(sanitized_name)
28
+
29
+ define_singleton_method(sanitized_name) { @table[original_name] }
30
+ define_singleton_method("#{sanitized_name}=") { |x| @table[original_name] = x }
31
+ end
32
+
33
+ def [](k)
34
+ public_send(k)
35
+ end
36
+
37
+ def []=(k, v)
38
+ public_send("#{k}=", v)
39
+ end
40
+
41
+ def to_h
42
+ Thor::CoreExt::HashWithIndifferentAccess.new(@table)
43
+ end
44
+ end
@@ -1,3 +1,21 @@
1
+ =begin
2
+ Copyright (C) 2013 Carl P. Corliss
3
+
4
+ This program is free software; you can redistribute it and/or modify
5
+ it under the terms of the GNU General Public License as published by
6
+ the Free Software Foundation; either version 2 of the License, or
7
+ (at your option) any later version.
8
+
9
+ This program is distributed in the hope that it will be useful,
10
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
+ GNU General Public License for more details.
13
+
14
+ You should have received a copy of the GNU General Public License along
15
+ with this program; if not, write to the Free Software Foundation, Inc.,
16
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17
+ =end
18
+
1
19
  require 'pathname'
2
20
 
3
21
  if RUBY_ENGINE == 'jruby'
@@ -26,3 +44,13 @@ if RUBY_ENGINE == 'jruby'
26
44
  private :java_realpath
27
45
  end
28
46
  end
47
+
48
+ class Pathname
49
+ def include?(component)
50
+ to_s.split(File::SEPARATOR).include?(component)
51
+ end
52
+
53
+ def exclude?(component)
54
+ !include?(component)
55
+ end
56
+ end
@@ -0,0 +1,40 @@
1
+ =begin
2
+ Copyright (C) 2013 Carl P. Corliss
3
+
4
+ This program is free software; you can redistribute it and/or modify
5
+ it under the terms of the GNU General Public License as published by
6
+ the Free Software Foundation; either version 2 of the License, or
7
+ (at your option) any later version.
8
+
9
+ This program is distributed in the hope that it will be useful,
10
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
+ GNU General Public License for more details.
13
+
14
+ You should have received a copy of the GNU General Public License along
15
+ with this program; if not, write to the Free Software Foundation, Inc.,
16
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17
+ =end
18
+
19
+ require 'rainbow/ext/string'
20
+
21
+ module Rainbow
22
+ module Ext
23
+ module String
24
+ module InstanceMethods
25
+ def success!
26
+ color(:green).bright
27
+ end
28
+
29
+ def failure!
30
+ color(:red).bright
31
+ end
32
+
33
+ def unknown!
34
+ color(:yellow).bright
35
+ end
36
+ alias_method :warning!, :unknown!
37
+ end
38
+ end
39
+ end
40
+ end
@@ -1,3 +1,21 @@
1
+ =begin
2
+ Copyright (C) 2013 Carl P. Corliss
3
+
4
+ This program is free software; you can redistribute it and/or modify
5
+ it under the terms of the GNU General Public License as published by
6
+ the Free Software Foundation; either version 2 of the License, or
7
+ (at your option) any later version.
8
+
9
+ This program is distributed in the hope that it will be useful,
10
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
+ GNU General Public License for more details.
13
+
14
+ You should have received a copy of the GNU General Public License along
15
+ with this program; if not, write to the Free Software Foundation, Inc.,
16
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17
+ =end
18
+
1
19
  class String
2
20
  def git_option_path_split
3
21
  section, *subsection, option = split('.')
@@ -1,3 +1,21 @@
1
+ =begin
2
+ Copyright (C) 2013 Carl P. Corliss
3
+
4
+ This program is free software; you can redistribute it and/or modify
5
+ it under the terms of the GNU General Public License as published by
6
+ the Free Software Foundation; either version 2 of the License, or
7
+ (at your option) any later version.
8
+
9
+ This program is distributed in the hope that it will be useful,
10
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
+ GNU General Public License for more details.
13
+
14
+ You should have received a copy of the GNU General Public License along
15
+ with this program; if not, write to the Free Software Foundation, Inc.,
16
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17
+ =end
18
+
1
19
  =begin
2
20
  Mostly borrowed from Rails' ActiveSupport::Inflections
3
21
  =end
@@ -1,3 +1,21 @@
1
+ =begin
2
+ Copyright (C) 2013 Carl P. Corliss
3
+
4
+ This program is free software; you can redistribute it and/or modify
5
+ it under the terms of the GNU General Public License as published by
6
+ the Free Software Foundation; either version 2 of the License, or
7
+ (at your option) any later version.
8
+
9
+ This program is distributed in the hope that it will be useful,
10
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
+ GNU General Public License for more details.
13
+
14
+ You should have received a copy of the GNU General Public License along
15
+ with this program; if not, write to the Free Software Foundation, Inc.,
16
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17
+ =end
18
+
1
19
  require_relative '../array/extract_options'
2
20
 
3
21
  class String
@@ -1,3 +1,21 @@
1
+ =begin
2
+ Copyright (C) 2013 Carl P. Corliss
3
+
4
+ This program is free software; you can redistribute it and/or modify
5
+ it under the terms of the GNU General Public License as published by
6
+ the Free Software Foundation; either version 2 of the License, or
7
+ (at your option) any later version.
8
+
9
+ This program is distributed in the hope that it will be useful,
10
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
+ GNU General Public License for more details.
13
+
14
+ You should have received a copy of the GNU General Public License along
15
+ with this program; if not, write to the Free Software Foundation, Inc.,
16
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17
+ =end
18
+
1
19
  require_relative 'string/git_option_path_split'
2
20
  require_relative 'string/inflections'
3
21
  require_relative 'string/sanitize'
@@ -18,7 +18,8 @@ with this program; if not, write to the Free Software Foundation, Inc.,
18
18
 
19
19
  require_relative 'core_ext/object'
20
20
  require_relative 'core_ext/array'
21
- require_relative 'core_ext/colorize'
21
+ require_relative 'core_ext/rainbow'
22
22
  require_relative 'core_ext/numbers'
23
23
  require_relative 'core_ext/string'
24
24
  require_relative 'core_ext/pathname'
25
+ require_relative 'core_ext/ostruct'