autowow 0.8.0 → 0.8.1

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.
data/Rakefile CHANGED
@@ -1,59 +1,59 @@
1
- require "bundler/gem_tasks"
2
- require "rspec/core/rake_task"
3
- require "logger"
4
- @logger = Logger.new(STDOUT)
5
-
6
- RSpec::Core::RakeTask.new(:spec)
7
-
8
- desc "Check if source can be required and is correctly required"
9
- task :require do
10
- dir = File.dirname(__FILE__)
11
- gemspec = load_gemspec(dir)
12
-
13
- # Order is important, assert_can_be_required should be run first
14
- assert_can_be_required(dir, gemspec)
15
- check_source_files_required(dir, gemspec)
16
- check_source_files_included(dir, gemspec)
17
- end
18
-
19
- def load_gemspec(dir)
20
- require "bundler/setup"
21
- Gem::Specification.find do |spec|
22
- spec.full_gem_path.include?(File.dirname(__FILE__))
23
- end
24
- end
25
-
26
- def check_source_files_required(dir, gemspec)
27
- require_gem(gemspec)
28
- ruby_files = Dir.glob("#{dir}/**/*.rb").reject{ |f| f.include?('/spec/') }
29
- required_ruby_files = $LOADED_FEATURES.select { |f| f.include?(dir) }
30
- (ruby_files - required_ruby_files).each do |file|
31
- @logger.warn("Source file not required when loading gem: #{file.sub("#{dir}/", '')}")
32
- end
33
- end
34
-
35
- def check_source_files_included(dir, gemspec)
36
- ruby_files_relative = Dir.glob("#{dir}/**/*.rb").reject { |f| f.include?('/spec/') }.map { |f| f.sub("#{dir}/", '') }
37
- (ruby_files_relative - gemspec.files.select { |f| f.end_with?('.rb') }).each do |file|
38
- @logger.warn("File ignored when building gem because it's not added to git: #{file}")
39
- end
40
- end
41
-
42
- def assert_can_be_required(dir, gemspec)
43
- local_load_paths = $LOAD_PATH.select { |path| path.include?(dir) }
44
- $LOAD_PATH.reject! { |path| local_load_paths.include?(path) }
45
- begin
46
- require_gem(gemspec)
47
- rescue LoadError => e
48
- @logger.error("Gem source cannot be required relatively: #{e}")
49
- raise
50
- ensure
51
- $LOAD_PATH.push(*local_load_paths)
52
- end
53
- end
54
-
55
- def require_gem(gemspec)
56
- require_relative "lib/#{gemspec.name.gsub('-', '/')}"
57
- end
58
-
59
- task :default => [:require, :spec]
1
+ require "bundler/gem_tasks"
2
+ require "rspec/core/rake_task"
3
+ require "logger"
4
+ @logger = Logger.new(STDOUT)
5
+
6
+ RSpec::Core::RakeTask.new(:spec)
7
+
8
+ desc "Check if source can be required and is correctly required"
9
+ task :require do
10
+ dir = File.dirname(__FILE__)
11
+ gemspec = load_gemspec(dir)
12
+
13
+ # Order is important, assert_can_be_required should be run first
14
+ assert_can_be_required(dir, gemspec)
15
+ check_source_files_required(dir, gemspec)
16
+ check_source_files_included(dir, gemspec)
17
+ end
18
+
19
+ def load_gemspec(dir)
20
+ require "bundler/setup"
21
+ Gem::Specification.find do |spec|
22
+ spec.full_gem_path.include?(File.dirname(__FILE__))
23
+ end
24
+ end
25
+
26
+ def check_source_files_required(dir, gemspec)
27
+ require_gem(gemspec)
28
+ ruby_files = Dir.glob("#{dir}/**/*.rb").reject { |f| f.include?("/spec/") }
29
+ required_ruby_files = $LOADED_FEATURES.select { |f| f.include?(dir) }
30
+ (ruby_files - required_ruby_files).each do |file|
31
+ @logger.warn("Source file not required when loading gem: #{file.sub("#{dir}/", '')}")
32
+ end
33
+ end
34
+
35
+ def check_source_files_included(dir, gemspec)
36
+ ruby_files_relative = Dir.glob("#{dir}/**/*.rb").reject { |f| f.include?("/spec/") }.map { |f| f.sub("#{dir}/", "") }
37
+ (ruby_files_relative - gemspec.files.select { |f| f.end_with?(".rb") }).each do |file|
38
+ @logger.warn("File ignored when building gem because it's not added to git: #{file}")
39
+ end
40
+ end
41
+
42
+ def assert_can_be_required(dir, gemspec)
43
+ local_load_paths = $LOAD_PATH.select { |path| path.include?(dir) }
44
+ $LOAD_PATH.reject! { |path| local_load_paths.include?(path) }
45
+ begin
46
+ require_gem(gemspec)
47
+ rescue LoadError => e
48
+ @logger.error("Gem source cannot be required relatively: #{e}")
49
+ raise
50
+ ensure
51
+ $LOAD_PATH.push(*local_load_paths)
52
+ end
53
+ end
54
+
55
+ def require_gem(gemspec)
56
+ require_relative "lib/#{gemspec.name.gsub('-', '/')}"
57
+ end
58
+
59
+ task default: [:require, :spec]
data/autowow.gemspec CHANGED
@@ -1,41 +1,41 @@
1
- # coding: utf-8
2
- lib = File.expand_path("../lib", __FILE__)
3
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require "autowow/version"
5
-
6
- Gem::Specification.new do |spec|
7
- spec.name = "autowow"
8
- spec.version = Autowow::VERSION
9
- spec.authors = ["thisismydesign"]
10
- spec.email = ["thisismydesign@users.noreply.github.com"]
11
-
12
- spec.summary = %q{Set of commands to AUTOmate Way Of Working}
13
- spec.homepage = "https://github.com/thisismydesign/autowow"
14
- spec.license = "MIT"
15
-
16
- spec.files = `git ls-files -z`.split("\x0").reject do |f|
17
- f.match(%r{^(test|spec|features)/})
18
- end
19
- spec.bindir = "bin"
20
- spec.executables << 'autowow'
21
- spec.executables << 'aw'
22
- spec.require_paths = ["lib"]
23
-
24
- spec.add_dependency "easy_logging", ">= 0.3.0" # Include logger easily, without redundancy
25
- spec.add_dependency "thor" # CLI
26
- spec.add_dependency "pastel" # Colorize output of own logger
27
- spec.add_dependency "time_difference", "= 0.5.0" # Calculate project age. Fixed version because we refine it :(
28
- spec.add_dependency "launchy" # Open project in browser
29
- spec.add_dependency "tty-command", ">= 0.7.0" # Execute system commands nicely
30
- spec.add_dependency "reflection_utils", ">= 0.3.0" # Invoke module methods without including the module
31
- spec.add_dependency "rubocop" # Style check
32
- spec.add_dependency "rubocop-rspec" # Style check
33
-
34
- spec.add_development_dependency "bundler", "~> 1.15"
35
- spec.add_development_dependency "rake", "~> 10.0"
36
- spec.add_development_dependency "rspec", "~> 3.0"
37
- spec.add_development_dependency "guard"
38
- spec.add_development_dependency "guard-bundler"
39
- spec.add_development_dependency "guard-rspec"
40
- spec.add_development_dependency "coveralls"
41
- end
1
+ # coding: utf-8
2
+ lib = File.expand_path("../lib", __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require "autowow/version"
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "autowow"
8
+ spec.version = Autowow::VERSION
9
+ spec.authors = ["thisismydesign"]
10
+ spec.email = ["thisismydesign@users.noreply.github.com"]
11
+
12
+ spec.summary = %q{Set of commands to AUTOmate Way Of Working}
13
+ spec.homepage = "https://github.com/thisismydesign/autowow"
14
+ spec.license = "MIT"
15
+
16
+ spec.files = `git ls-files -z`.split("\x0").reject do |f|
17
+ f.match(%r{^(test|spec|features)/})
18
+ end
19
+ spec.bindir = "bin"
20
+ spec.executables << 'autowow'
21
+ spec.executables << 'aw'
22
+ spec.require_paths = ["lib"]
23
+
24
+ spec.add_dependency "easy_logging", ">= 0.3.0" # Include logger easily, without redundancy
25
+ spec.add_dependency "thor" # CLI
26
+ spec.add_dependency "pastel" # Colorize output of own logger
27
+ spec.add_dependency "time_difference", "= 0.5.0" # Calculate project age. Fixed version because we refine it :(
28
+ spec.add_dependency "launchy" # Open project in browser
29
+ spec.add_dependency "tty-command", ">= 0.7.0" # Execute system commands nicely
30
+ spec.add_dependency "reflection_utils", ">= 0.3.0" # Invoke module methods without including the module
31
+ spec.add_dependency "rubocop" # Style check
32
+ spec.add_dependency "rubocop-rspec" # Style check
33
+
34
+ spec.add_development_dependency "bundler", "~> 1.15"
35
+ spec.add_development_dependency "rake", "~> 10.0"
36
+ spec.add_development_dependency "rspec", "~> 3.0"
37
+ spec.add_development_dependency "guard"
38
+ spec.add_development_dependency "guard-bundler"
39
+ spec.add_development_dependency "guard-rspec"
40
+ spec.add_development_dependency "coveralls"
41
+ end
data/bin/autowow CHANGED
@@ -1,5 +1,5 @@
1
- #!/usr/bin/env ruby
2
-
3
- require 'autowow'
4
-
5
- Autowow::CLI.start
1
+ #!/usr/bin/env ruby
2
+
3
+ require "autowow"
4
+
5
+ Autowow::CLI.start
data/bin/aw CHANGED
@@ -1,5 +1,5 @@
1
- #!/usr/bin/env ruby
2
-
3
- require 'autowow'
4
-
5
- Autowow::CLI.start
1
+ #!/usr/bin/env ruby
2
+
3
+ require "autowow"
4
+
5
+ Autowow::CLI.start
data/bin/console CHANGED
@@ -1,14 +1,14 @@
1
- #!/usr/bin/env ruby
2
-
3
- require "bundler/setup"
4
- require "autowow"
5
-
6
- # You can add fixtures and/or initialization code here to make experimenting
7
- # with your gem easier. You can also use a different console, if you like.
8
-
9
- # (If you use this, don't forget to add pry to your Gemfile!)
10
- # require "pry"
11
- # Pry.start
12
-
13
- require "irb"
14
- IRB.start(__FILE__)
1
+ #!/usr/bin/env ruby
2
+
3
+ require "bundler/setup"
4
+ require "autowow"
5
+
6
+ # You can add fixtures and/or initialization code here to make experimenting
7
+ # with your gem easier. You can also use a different console, if you like.
8
+
9
+ # (If you use this, don't forget to add pry to your Gemfile!)
10
+ # require "pry"
11
+ # Pry.start
12
+
13
+ require "irb"
14
+ IRB.start(__FILE__)
data/bin/setup CHANGED
@@ -1,8 +1,8 @@
1
- #!/usr/bin/env bash
2
- set -euo pipefail
3
- IFS=$'\n\t'
4
- set -vx
5
-
6
- bundle install
7
-
8
- # Do any other automated setup that you need to do here
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+ set -vx
5
+
6
+ bundle install
7
+
8
+ # Do any other automated setup that you need to do here
data/lib/autowow.rb CHANGED
@@ -1,13 +1,13 @@
1
- require 'easy_logging'
2
- require 'reflection_utils'
3
-
4
- require_relative 'autowow/log_formatter'
5
-
6
- EasyLogging.level = Logger::DEBUG
7
- EasyLogging.formatter = proc do |severity, datetime, progname, msg|
8
- Autowow::LogFormatter.beautify(severity, msg)
9
- end
10
-
11
- require_relative 'autowow/cli'
12
-
13
- module Autowow; end
1
+ require "easy_logging"
2
+ require "reflection_utils"
3
+
4
+ require_relative "autowow/log_formatter"
5
+
6
+ EasyLogging.level = Logger::DEBUG
7
+ EasyLogging.formatter = proc do |severity, datetime, progname, msg|
8
+ Autowow::LogFormatter.beautify(severity, msg)
9
+ end
10
+
11
+ require_relative "autowow/cli"
12
+
13
+ module Autowow; end
data/lib/autowow/cli.rb CHANGED
@@ -1,91 +1,91 @@
1
- require 'thor'
2
-
3
- require_relative 'executor'
4
- require_relative 'decorators/string_decorator'
5
-
6
- require_relative 'features/rbenv'
7
- require_relative 'features/gem'
8
- require_relative 'features/vcs'
9
- require_relative 'features/os'
10
- require_relative 'features/fs'
11
-
12
- require_relative 'commands/gem'
13
-
14
- module Autowow
15
- class CLI < Thor
16
- map %w[bm] => :branch_merged
17
- map %w[grls] => :gem_release
18
- map %w[up] => :update_projects
19
- map %w[cb] => :clear_branches
20
- map %w[au] => :add_upstream
21
- map %w[gc] => :gem_clean
22
- map %w[rv] => :ruby_versions
23
- map %w[gr] => :greet
24
- map %w[rpa] => :rubocop_parallel_autocorrect
25
-
26
- desc "branch_merged", "clean working branch and return to master"
27
- def branch_merged
28
- Autowow::Features::Vcs.branch_merged
29
- end
30
-
31
- desc "gem_release", "release gem and return to master"
32
- def gem_release
33
- Autowow::Features::Gem.gem_release
34
- end
35
-
36
- desc "update_projects", "updates idle projects"
37
- def update_projects
38
- Autowow::Features::Vcs.update_projects
39
- end
40
-
41
- desc "clear_branches", "removes unused branches"
42
- def clear_branches
43
- Autowow::Features::Vcs.clear_branches
44
- end
45
-
46
- desc "add_upstream", "adds upstream branch if available"
47
- def add_upstream
48
- Autowow::Features::Vcs.add_upstream
49
- end
50
-
51
- desc "hi", "day starter routine"
52
- def hi
53
- Autowow::Features::Vcs.hi
54
- end
55
-
56
- desc "hi!", "day starter routine for a new start"
57
- def hi!
58
- Autowow::Features::Vcs.hi!
59
- end
60
-
61
- desc "open", "opens project URL in browser"
62
- def open
63
- Autowow::Features::Vcs.open
64
- end
65
-
66
- desc "gem_clean", "cleans unused gems"
67
- def gem_clean
68
- Autowow::Features::Gem.gem_clean
69
- end
70
-
71
- desc "ruby_versions", "shows ruby versions in use"
72
- def ruby_versions
73
- Autowow::Features::Rbenv.ruby_versions
74
- end
75
-
76
- desc "greet", "shows report of repos"
77
- def greet
78
- Autowow::Features::Vcs.greet
79
- end
80
-
81
- desc "rubocop_parallel_autocorrect", "runs rubocop in parallel mode, autocorrects offenses on single thread"
82
- def rubocop_parallel_autocorrect
83
- Autowow::Features::Gem.rubocop_parallel_autocorrect
84
- end
85
-
86
- desc "exec", "runs command"
87
- def exec(*cmd)
88
- Autowow::Executor.pretty_with_output.run(cmd)
89
- end
90
- end
91
- end
1
+ require "thor"
2
+
3
+ require_relative "executor"
4
+ require_relative "decorators/string_decorator"
5
+
6
+ require_relative "features/rbenv"
7
+ require_relative "features/gem"
8
+ require_relative "features/vcs"
9
+ require_relative "features/os"
10
+ require_relative "features/fs"
11
+
12
+ require_relative "commands/gem"
13
+
14
+ module Autowow
15
+ class CLI < Thor
16
+ map %w[bm] => :branch_merged
17
+ map %w[grls] => :gem_release
18
+ map %w[up] => :update_projects
19
+ map %w[cb] => :clear_branches
20
+ map %w[au] => :add_upstream
21
+ map %w[gc] => :gem_clean
22
+ map %w[rv] => :ruby_versions
23
+ map %w[gr] => :greet
24
+ map %w[rpa] => :rubocop_parallel_autocorrect
25
+
26
+ desc "branch_merged", "clean working branch and return to master"
27
+ def branch_merged
28
+ Autowow::Features::Vcs.branch_merged
29
+ end
30
+
31
+ desc "gem_release", "release gem and return to master"
32
+ def gem_release
33
+ Autowow::Features::Gem.gem_release
34
+ end
35
+
36
+ desc "update_projects", "updates idle projects"
37
+ def update_projects
38
+ Autowow::Features::Vcs.update_projects
39
+ end
40
+
41
+ desc "clear_branches", "removes unused branches"
42
+ def clear_branches
43
+ Autowow::Features::Vcs.clear_branches
44
+ end
45
+
46
+ desc "add_upstream", "adds upstream branch if available"
47
+ def add_upstream
48
+ Autowow::Features::Vcs.add_upstream
49
+ end
50
+
51
+ desc "hi", "day starter routine"
52
+ def hi
53
+ Autowow::Features::Vcs.hi
54
+ end
55
+
56
+ desc "hi!", "day starter routine for a new start"
57
+ def hi!
58
+ Autowow::Features::Vcs.hi!
59
+ end
60
+
61
+ desc "open", "opens project URL in browser"
62
+ def open
63
+ Autowow::Features::Vcs.open
64
+ end
65
+
66
+ desc "gem_clean", "cleans unused gems"
67
+ def gem_clean
68
+ Autowow::Features::Gem.gem_clean
69
+ end
70
+
71
+ desc "ruby_versions", "shows ruby versions in use"
72
+ def ruby_versions
73
+ Autowow::Features::Rbenv.ruby_versions
74
+ end
75
+
76
+ desc "greet", "shows report of repos"
77
+ def greet
78
+ Autowow::Features::Vcs.greet
79
+ end
80
+
81
+ desc "rubocop_parallel_autocorrect", "runs rubocop in parallel mode, autocorrects offenses on single thread"
82
+ def rubocop_parallel_autocorrect
83
+ Autowow::Features::Gem.rubocop_parallel_autocorrect
84
+ end
85
+
86
+ desc "exec", "runs command"
87
+ def exec(*cmd)
88
+ Autowow::Executor.pretty_with_output.run(cmd)
89
+ end
90
+ end
91
+ end