retrospec 0.4.0 → 0.5.0

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: 6babe7c886b994aea6dc72564d79fef92170cc78
4
- data.tar.gz: 8667464aba52550fa565d43f6f7ca5ba3974703d
3
+ metadata.gz: de9cb03c603a30dfd2960ee0e4a7fdcf3a778927
4
+ data.tar.gz: 51896d567e95b02289d4f8f38f7cfadb87fccffe
5
5
  SHA512:
6
- metadata.gz: 3c0ce0d81d0f96193a0b9ae5d1785fde481e69e0c204ca2532a265d812245499ce140d91a068e46028cd2c4d88686d9ee50a108f7b302f532051ff7fa7187643
7
- data.tar.gz: cec45e06072d9a46ce300528c2b535eea917fd06f12e755fbbf7ac9c109b2b3af9ccd13d849c51621c4a3c879c37e5b6f48753c0867eedf1d8374b1a3e03a466
6
+ metadata.gz: 27c57f7bb0898407b4c85743c98bb0081ce30b76c0ba7a91baf29adafaf074123dc5f8ebea49e74deab645bde18ce7177ef7db10bfd2b1947780dc9a203c0b84
7
+ data.tar.gz: ac71765db43b6f4d641924aa666dadc4d4ef0ddaa174a29d6d5a88b9d55bbdb2d787c6d294494f4f195e42e4ced264cbb9dca59a892ac82037b5ecee54d790f3
@@ -0,0 +1,49 @@
1
+ # rcov generated
2
+ coverage
3
+ coverage.data
4
+
5
+ # rdoc generated
6
+ rdoc
7
+
8
+ # yard generated
9
+ doc
10
+ .yardoc
11
+
12
+ # bundler
13
+ .bundle
14
+
15
+ # jeweler generated
16
+ pkg
17
+
18
+ # Have editor/IDE/OS specific files you need to ignore? Consider using a global gitignore:
19
+ #
20
+ # * Create a file at ~/.gitignore
21
+ # * Include files you want ignored
22
+ # * Run: git config --global core.excludesfile ~/.gitignore
23
+ #
24
+ # After doing this, these files will be ignored in all your git projects,
25
+ # saving you from having to 'pollute' every project you touch with them
26
+ #
27
+ # Not sure what to needs to be ignored for particular editors/OSes? Here's some ideas to get you started. (Remember, remove the leading # of the line)
28
+ #
29
+ # For MacOS:
30
+ #
31
+ #.DS_Store
32
+
33
+ # For TextMate
34
+ #*.tmproj
35
+ #tmtags
36
+
37
+ # For emacs:
38
+ #*~
39
+ #\#*
40
+ #.\#*
41
+
42
+ # For vim:
43
+ #*.swp
44
+
45
+ # For redcar:
46
+ #.redcar
47
+
48
+ # For rubinius:
49
+ #*.rbc
@@ -0,0 +1,16 @@
1
+ branches:
2
+ only:
3
+ - master
4
+ - development
5
+ language: ruby
6
+ script: "bundle exec rake spec SPEC_OPTS='--format documentation'"
7
+ rvm:
8
+ - 1.9.3
9
+ - 2.0
10
+ - 2.1
11
+ - 2.2
12
+ - 2.3.0
13
+
14
+ notifications:
15
+ email: corey@logicminds.biz
16
+
@@ -0,0 +1,3 @@
1
+ ## 0.5.0
2
+ * adds ability to overwrite files
3
+ * removes jeweler dependency, and uses bundler tasks instead
data/Gemfile CHANGED
@@ -4,9 +4,10 @@ gem 'trollop'
4
4
  group :development do
5
5
  gem "rspec", "~> 3.2"
6
6
  gem "rdoc", "~> 3.12"
7
+ gem 'rake'
7
8
  gem "bundler", "~> 1.0"
8
- gem "jeweler", "~> 2.0.1"
9
9
  gem "simplecov", ">= 0"
10
10
  gem 'pry'
11
11
  gem "fakefs", :require => "fakefs/safe"
12
+ gem 'rubocop'
12
13
  end
@@ -1,56 +1,21 @@
1
1
  GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
- addressable (2.3.8)
5
- builder (3.2.2)
4
+ ast (2.3.0)
6
5
  coderay (1.1.0)
7
- descendants_tracker (0.0.4)
8
- thread_safe (~> 0.3, >= 0.3.1)
9
6
  diff-lcs (1.2.5)
10
7
  docile (1.1.5)
11
8
  fakefs (0.6.7)
12
- faraday (0.9.1)
13
- multipart-post (>= 1.2, < 3)
14
- git (1.2.9.1)
15
- github_api (0.12.4)
16
- addressable (~> 2.3)
17
- descendants_tracker (~> 0.0.4)
18
- faraday (~> 0.8, < 0.10)
19
- hashie (>= 3.4)
20
- multi_json (>= 1.7.5, < 2.0)
21
- nokogiri (~> 1.6.6)
22
- oauth2
23
- hashie (3.4.2)
24
- highline (1.7.7)
25
- jeweler (2.0.1)
26
- builder
27
- bundler (>= 1.0)
28
- git (>= 1.2.5)
29
- github_api
30
- highline (>= 1.6.15)
31
- nokogiri (>= 1.5.10)
32
- rake
33
- rdoc
34
9
  json (1.8.3)
35
- jwt (1.5.1)
36
10
  method_source (0.8.2)
37
- mini_portile (0.6.2)
38
- multi_json (1.11.2)
39
- multi_xml (0.5.5)
40
- multipart-post (2.0.0)
41
- nokogiri (1.6.6.2)
42
- mini_portile (~> 0.6.0)
43
- oauth2 (1.0.0)
44
- faraday (>= 0.8, < 0.10)
45
- jwt (~> 1.0)
46
- multi_json (~> 1.3)
47
- multi_xml (~> 0.5)
48
- rack (~> 1.2)
11
+ parser (2.3.3.1)
12
+ ast (~> 2.2)
13
+ powerpack (0.1.1)
49
14
  pry (0.10.2)
50
15
  coderay (~> 1.1.0)
51
16
  method_source (~> 0.8.1)
52
17
  slop (~> 3.4)
53
- rack (1.6.4)
18
+ rainbow (2.2.1)
54
19
  rake (10.4.2)
55
20
  rdoc (3.12.2)
56
21
  json (~> 1.4)
@@ -67,14 +32,21 @@ GEM
67
32
  diff-lcs (>= 1.2.0, < 2.0)
68
33
  rspec-support (~> 3.3.0)
69
34
  rspec-support (3.3.0)
35
+ rubocop (0.47.1)
36
+ parser (>= 2.3.3.1, < 3.0)
37
+ powerpack (~> 0.1)
38
+ rainbow (>= 1.99.1, < 3.0)
39
+ ruby-progressbar (~> 1.7)
40
+ unicode-display_width (~> 1.0, >= 1.0.1)
41
+ ruby-progressbar (1.8.1)
70
42
  simplecov (0.10.0)
71
43
  docile (~> 1.1.0)
72
44
  json (~> 1.8)
73
45
  simplecov-html (~> 0.10.0)
74
46
  simplecov-html (0.10.0)
75
47
  slop (3.6.0)
76
- thread_safe (0.3.5)
77
48
  trollop (2.1.2)
49
+ unicode-display_width (1.1.3)
78
50
 
79
51
  PLATFORMS
80
52
  ruby
@@ -82,9 +54,13 @@ PLATFORMS
82
54
  DEPENDENCIES
83
55
  bundler (~> 1.0)
84
56
  fakefs
85
- jeweler (~> 2.0.1)
86
57
  pry
58
+ rake
87
59
  rdoc (~> 3.12)
88
60
  rspec (~> 3.2)
61
+ rubocop
89
62
  simplecov
90
63
  trollop
64
+
65
+ BUNDLED WITH
66
+ 1.13.6
data/README.md CHANGED
@@ -1,5 +1,6 @@
1
1
  # Retrospec
2
2
  [![Gem Version](https://badge.fury.io/rb/retrospec.svg)](http://badge.fury.io/rb/retrospec)
3
+ [![Build Status](https://travis-ci.org/nwops/retrospec.png)](https://travis-ci.org/nwops/retrospec)
3
4
 
4
5
  Retrospec is a framework that allows the automation of repetitive project file creation with just about any kind of programming
5
6
  project through the use of a pluggable architecture.
data/Rakefile CHANGED
@@ -1,35 +1,7 @@
1
1
  # encoding: utf-8
2
-
3
- require 'rubygems'
4
- require 'bundler'
5
- begin
6
- Bundler.setup(:default, :development)
7
- rescue Bundler::BundlerError => e
8
- $stderr.puts e.message
9
- $stderr.puts "Run `bundle install` to install missing gems"
10
- exit e.status_code
11
- end
12
- require 'rake'
13
-
14
- require 'jeweler'
15
- Jeweler::Tasks.new do |gem|
16
- # gem is a Gem::Specification... see http://guides.rubygems.org/specification-reference/ for more options
17
- gem.name = "retrospec"
18
- gem.homepage = "http://github.com/nwops/retrospec"
19
- gem.license = "MIT"
20
- gem.summary = %Q{A devops framework for automating your development workflow}
21
- gem.description = %Q{Retrospec is a framework that allows the automation of repetitive file creation with just about any kind of language through the use of a pluggable architecture.}
22
- gem.email = "corey@logicminds.biz"
23
- gem.authors = ["Corey Osman"]
24
- # dependencies defined in Gemfile
25
- end
26
- Jeweler::RubygemsDotOrgTasks.new
27
-
28
- require 'rspec/core'
2
+ require 'bundler/gem_tasks'
29
3
  require 'rspec/core/rake_task'
30
- RSpec::Core::RakeTask.new(:spec) do |spec|
31
- spec.pattern = FileList['spec/**/*_spec.rb']
32
- end
4
+ RSpec::Core::RakeTask.new(:spec)
33
5
 
34
6
  desc "Code coverage detail"
35
7
  task :simplecov do
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.4.0
1
+ 0.5.0
@@ -1,4 +1,4 @@
1
- require_relative 'version'
1
+ require_relative 'retrospec/version'
2
2
  # monkey patch in some color effects string methods
3
3
  class String
4
4
  def red; "\033[31m#{self}\033[0m" end
@@ -8,4 +8,17 @@ class String
8
8
  def warning; yellow end
9
9
  def fatal; red end
10
10
  def info; green end
11
+
12
+ def camel_case
13
+ return self if self !~ /_/ && self =~ /[A-Z]+.*/
14
+ split('_').map(&:capitalize).join
15
+ end
16
+
17
+ def underscore
18
+ self.gsub(/::/, '/').
19
+ gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2').
20
+ gsub(/([a-z\d])([A-Z])/,'\1_\2').
21
+ tr("-", "_").
22
+ downcase
23
+ end
11
24
  end
@@ -18,11 +18,15 @@ module Retrospec
18
18
  banner <<-EOS
19
19
  A framework to automate your development workflow by generating common files and test patterns.
20
20
 
21
- Usage: retrospec [global options] subcommand [subcommand options]
21
+ Usage: retrospec [global options] plugin [plugin options]
22
22
  Available subcommands:
23
23
  #{cmd_help}
24
24
 
25
25
  EOS
26
+ opt :enable_overwrite, "Enable overwriting of files, will prompt for each file",
27
+ :type => :boolean, :default => false
28
+ opt :enable_overwrite_all, "Always overwrites files without prompting",
29
+ :type => :boolean, :default => false
26
30
  opt :module_path, "The path (relative or absolute) to the module directory" ,
27
31
  :type => :string, :required => false, :default => File.expand_path('.')
28
32
  opt :config_map, "The global retrospec config file", :type => :string, :required => false, :default => File.expand_path(File.join(ENV['HOME'], '.retrospec', 'config.yaml' ))
@@ -30,8 +34,12 @@ Available subcommands:
30
34
  stop_on sub_commands
31
35
  end
32
36
  cmd = ARGV.shift # get the subcommand
37
+ # these variables are used in the module helpers to determine if we should overwrite files
38
+ ENV['RETROSPEC_OVERWRITE_ALL'] = global_opts[:enable_overwrite_all].to_s if global_opts[:enable_overwrite_all]
39
+ ENV['RETROSPEC_OVERWRITE_ENABLE'] = global_opts[:enable_overwrite].to_s if global_opts[:enable_overwrite]
40
+
33
41
  if plugin_class = cli.plugin_map[cmd]
34
- # this is what generates the cli options for the subcommand
42
+ # this is what generates the cli options for the plugin
35
43
  # this is also the main entry point that runs the plugin's cli
36
44
  global_config = Retrospec::Config.config_data(global_opts[:config_map])
37
45
  plugin_name = plugin_class.send(:plugin_name)
@@ -1,5 +1,5 @@
1
1
  require 'yaml'
2
- require 'retrospec/plugins/v1/module_helpers'
2
+ require_relative 'plugins/v1/module_helpers'
3
3
  require 'uri'
4
4
 
5
5
  module Retrospec
@@ -5,6 +5,72 @@ module Retrospec
5
5
  module Plugins
6
6
  module V1
7
7
  module ModuleHelpers
8
+
9
+ # stores the answer if the user wants to overwrite all files
10
+ # @return [Boolean] true if overwrite_all mode is enabled
11
+ def overwrite_all
12
+ @@overwrite_all ||= !ENV['RETROSPEC_OVERWRITE_ALL'].nil?
13
+ end
14
+
15
+ # @return [Boolean] true if overwrite mode is enabled
16
+ def overwrite_enabled?
17
+ !ENV['RETROSPEC_OVERWRITE_ENABLE'].nil?
18
+ end
19
+
20
+ # notifies the user of what action will be performed
21
+ # + creates a file
22
+ # - + overwrites a file
23
+ def notify(dest, overwrite=false)
24
+ if overwrite
25
+ puts " - + #{dest}".info
26
+ else
27
+ puts " + #{dest}".info
28
+ end
29
+ end
30
+
31
+ # creates the content, then notifies the user
32
+ def create_content(type, dest, src = nil, overwrite = false)
33
+ case type
34
+ when :file
35
+ File.open(dest, 'w') do |f|
36
+ f.puts(src)
37
+ end
38
+ when :dir
39
+ FileUtils.mkdir_p(dest)
40
+ when :link
41
+ FileUtils.copy_entry(src,dest,false,false,true) # always remove destination
42
+ when :mv
43
+ FileUtils.mv(src,dest)
44
+ when :touch
45
+ FileUtils.touch(dest)
46
+ when :cp
47
+ FileUtils.cp(src,dest)
48
+ end
49
+ notify(dest, overwrite)
50
+ end
51
+
52
+ # @returns [Boolean] true if the user wants to overwrite the dest
53
+ # sets @overwrite_all if the user chooses 'a' and saves for next time
54
+ # @param dest [String] - the destination of the file
55
+ def overwrite?(dest)
56
+ return true if overwrite_all
57
+ return false unless overwrite_enabled?
58
+ answer = prompt_for_overwrite(dest)
59
+ if answer == 'a'
60
+ print "Are you sure you wish to overwrite all generated files?(y/n): ".fatal
61
+ sure = gets.chomp.downcase
62
+ return @@overwrite_all = true if sure == 'y'
63
+ overwrite?(dest)
64
+ else
65
+ answer == 'y'
66
+ end
67
+ end
68
+
69
+ def prompt_for_overwrite(dest)
70
+ print "Overwrite #{dest}?(y/n/a): ".cyan
71
+ gets.chomp.downcase
72
+ end
73
+
8
74
  # only creates a directory if the directory doesn't already exist
9
75
  def safe_mkdir(dir)
10
76
  dir = File.expand_path(dir)
@@ -13,43 +79,34 @@ module Retrospec
13
79
  $stderr.puts "!! #{dir} already exists and is not a directory".fatal
14
80
  end
15
81
  else
16
- FileUtils.mkdir_p dir
17
- puts " + #{dir}/".info
82
+ create_content(:dir, dir)
18
83
  end
19
84
  end
20
85
 
86
+ # move the file, safely
21
87
  def safe_move_file(src,dest)
22
- if File.exists?(dest)
23
- $stderr.puts "!! #{dest} already exists and differs from template".warning
24
- else
25
- FileUtils.mv(src,dest)
26
- puts " + #{dest}".info
88
+ if File.exists?(dest) && !overwrite?(dest)
89
+ return $stderr.puts "!! #{dest} already exists and differs from template".warning
27
90
  end
91
+ create_content(:mv, dest, src)
28
92
  end
29
93
 
30
94
  # copy the symlink and preserve the link
31
95
  def safe_create_symlink(src,dest)
32
- if File.exists? dest
33
- $stderr.puts "!! #{dest} already exists and differs from template".warning
34
- else
35
- FileUtils.copy_entry(src,dest)
36
- puts " + #{dest}".info
96
+ if File.exists?(dest) && !overwrite?(dest)
97
+ return $stderr.puts "!! #{dest} already exists and differs from template".warning
37
98
  end
99
+ create_content(:link, dest, src)
38
100
  end
39
101
 
40
- # safely copy and existing file to another dest
102
+ # safely copy an existing file to another dest
41
103
  def safe_copy_file(src, dest)
42
- if File.exists?(dest) and not File.zero?(dest)
43
- $stderr.puts "!! #{dest} already exists".warning
44
- else
45
- if not File.exists?(src)
46
- safe_touch(src)
47
- else
48
- safe_mkdir(File.dirname(dest))
49
- FileUtils.cp(src,dest)
50
- end
51
- puts " + #{dest}".info
104
+ if File.exists?(dest) and !File.zero?(dest) && !overwrite?(dest)
105
+ return $stderr.puts "!! #{dest} already exists".warning
52
106
  end
107
+ return safe_touch(src) unless File.exists?(src)
108
+ safe_mkdir(File.dirname(dest))
109
+ create_content(:cp, dest, src)
53
110
  end
54
111
 
55
112
  # touch a file, this is useful for setting up trigger files
@@ -59,25 +116,21 @@ module Retrospec
59
116
  $stderr.puts "!! #{file} already exists and is not a regular file".fatal
60
117
  end
61
118
  else
62
- FileUtils.touch file
63
- puts " + #{file}".info
119
+ create_content(:touch, file)
64
120
  end
65
121
  end
66
122
 
67
123
  # safely creates a file and does not override the existing file
68
- def safe_create_file(filepath, content)
69
- if File.exists? filepath
70
- old_content = File.read(filepath)
124
+ def safe_create_file(dest, content)
125
+ if File.exists?(dest) && !overwrite?(dest)
126
+ old_content = File.read(dest)
71
127
  # if we did a better comparison of content we could be smarter about when we create files
72
- if old_content != content or not File.zero?(filepath)
73
- $stderr.puts "!! #{filepath} already exists and differs from template".warning
128
+ if old_content != content or not File.zero?(dest)
129
+ $stderr.puts "!! #{dest} already exists and differs from template".warning
74
130
  end
75
131
  else
76
- safe_mkdir(File.dirname(filepath)) unless File.exists? File.dirname(filepath)
77
- File.open(filepath, 'w') do |f|
78
- f.puts content
79
- end
80
- puts " + #{filepath}".info
132
+ safe_mkdir(File.dirname(dest)) unless File.exists? File.dirname(dest)
133
+ create_content(:file, dest, content)
81
134
  end
82
135
  end
83
136
 
@@ -1,4 +1,4 @@
1
1
  module Retrospec
2
- VERSION = '0.4.0'
2
+ VERSION = '0.5.0'
3
3
  end
4
4
 
@@ -1,91 +1,49 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
- # -*- encoding: utf-8 -*-
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'retrospec/version'
5
+ Gem::Specification.new do |spec|
6
+ spec.name = "retrospec"
7
+ spec.version = Retrospec::VERSION
8
+ spec.authors = ['Corey Osman']
9
+ spec.email = ['corey@nwops.io']
5
10
 
6
- Gem::Specification.new do |s|
7
- s.name = "retrospec"
8
- s.version = "0.4.0"
11
+ spec.summary = "A devops framework for automating your development workflow"
12
+ spec.date = "2017-02-01"
13
+ spec.homepage = "http://github.com/nwops/retrospec"
14
+ spec.description = "Retrospec is a framework that allows the automation of repetitive file creation with just about any kind of language through the use of a pluggable architecture."
15
+ spec.license = 'MIT'
16
+ # Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
17
+ # to allow pushing to a single host or delete this section to allow pushing to any host.
18
+ # if spec.respond_to?(:metadata)
19
+ # spec.metadata['allowed_push_host'] = "TODO: Set to 'http://mygemserver.com'"
20
+ # else
21
+ # raise "RubyGems 2.0 or newer is required to protect against " \
22
+ # "public gem pushes."
23
+ # end
9
24
 
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Corey Osman"]
12
- s.date = "2015-10-10"
13
- s.description = "Retrospec is a framework that allows the automation of repetitive file creation with just about any kind of language through the use of a pluggable architecture."
14
- s.email = "corey@logicminds.biz"
15
- s.executables = ["retrospec"]
16
- s.extra_rdoc_files = [
17
- "LICENSE.txt",
18
- "README.md"
25
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
26
+ spec.extra_rdoc_files = [
27
+ "LICENSE.txt",
28
+ "README.md"
19
29
  ]
20
- s.files = [
21
- ".document",
22
- ".rspec",
23
- "Gemfile",
24
- "Gemfile.lock",
25
- "LICENSE.txt",
26
- "README.md",
27
- "Rakefile",
28
- "VERSION",
29
- "available_plugins.yaml",
30
- "bin/retrospec",
31
- "config.yaml.sample",
32
- "lib/retrospec.rb",
33
- "lib/retrospec/cli.rb",
34
- "lib/retrospec/config.rb",
35
- "lib/retrospec/exceptions.rb",
36
- "lib/retrospec/plugin_loader.rb",
37
- "lib/retrospec/plugins.rb",
38
- "lib/retrospec/plugins/v1.rb",
39
- "lib/retrospec/plugins/v1/context_object.rb",
40
- "lib/retrospec/plugins/v1/module_helpers.rb",
41
- "lib/retrospec/plugins/v1/plugin.rb",
42
- "lib/version.rb",
43
- "plugin_development.md",
44
- "retrospec.gemspec",
45
- "spec/cli_spec.rb",
46
- "spec/config_spec.rb",
47
- "spec/plugin_loader_spec.rb",
48
- "spec/plugins_spec.rb",
49
- "spec/retrospec_spec.rb",
50
- "spec/spec_helper.rb"
51
- ]
52
- s.homepage = "http://github.com/nwops/retrospec"
53
- s.licenses = ["MIT"]
54
- s.require_paths = ["lib"]
55
- s.rubygems_version = "2.0.14"
56
- s.summary = "A devops framework for automating your development workflow"
57
-
58
- if s.respond_to? :specification_version then
59
- s.specification_version = 4
30
+ spec.require_paths = ["lib"]
60
31
 
61
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
62
- s.add_runtime_dependency(%q<trollop>, [">= 0"])
63
- s.add_development_dependency(%q<rspec>, ["~> 3.2"])
64
- s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
65
- s.add_development_dependency(%q<bundler>, ["~> 1.0"])
66
- s.add_development_dependency(%q<jeweler>, ["~> 2.0.1"])
67
- s.add_development_dependency(%q<simplecov>, [">= 0"])
68
- s.add_development_dependency(%q<pry>, [">= 0"])
69
- s.add_development_dependency(%q<fakefs>, [">= 0"])
70
- else
71
- s.add_dependency(%q<trollop>, [">= 0"])
72
- s.add_dependency(%q<rspec>, ["~> 3.2"])
73
- s.add_dependency(%q<rdoc>, ["~> 3.12"])
74
- s.add_dependency(%q<bundler>, ["~> 1.0"])
75
- s.add_dependency(%q<jeweler>, ["~> 2.0.1"])
76
- s.add_dependency(%q<simplecov>, [">= 0"])
77
- s.add_dependency(%q<pry>, [">= 0"])
78
- s.add_dependency(%q<fakefs>, [">= 0"])
79
- end
80
- else
81
- s.add_dependency(%q<trollop>, [">= 0"])
82
- s.add_dependency(%q<rspec>, ["~> 3.2"])
83
- s.add_dependency(%q<rdoc>, ["~> 3.12"])
84
- s.add_dependency(%q<bundler>, ["~> 1.0"])
85
- s.add_dependency(%q<jeweler>, ["~> 2.0.1"])
86
- s.add_dependency(%q<simplecov>, [">= 0"])
87
- s.add_dependency(%q<pry>, [">= 0"])
88
- s.add_dependency(%q<fakefs>, [">= 0"])
32
+ spec.files = `git ls-files -z`.split("\x0").reject do |f|
33
+ f.match(%r{^(test|spec|features)/})
89
34
  end
35
+ spec.bindir = 'bin'
36
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
37
+ spec.require_paths = ['lib']
38
+ spec.add_dependency 'trollop'
39
+ spec.add_development_dependency 'bundler', '~> 1.13'
40
+ spec.add_development_dependency 'rake', '~> 10.0'
41
+ spec.add_development_dependency 'rspec', '~> 3.0'
42
+ spec.add_development_dependency 'pry', '>=0'
43
+ spec.add_development_dependency 'simplecov', '>=0'
44
+ spec.add_development_dependency 'fakefs', '>=0'
45
+ spec.add_development_dependency 'rubocop'
46
+
90
47
  end
91
48
 
49
+
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: retrospec
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Corey Osman
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-10-10 00:00:00.000000000 Z
11
+ date: 2017-02-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: trollop
@@ -25,61 +25,61 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: rspec
28
+ name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ~>
32
32
  - !ruby/object:Gem::Version
33
- version: '3.2'
33
+ version: '1.13'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ~>
39
39
  - !ruby/object:Gem::Version
40
- version: '3.2'
40
+ version: '1.13'
41
41
  - !ruby/object:Gem::Dependency
42
- name: rdoc
42
+ name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - ~>
46
46
  - !ruby/object:Gem::Version
47
- version: '3.12'
47
+ version: '10.0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - ~>
53
53
  - !ruby/object:Gem::Version
54
- version: '3.12'
54
+ version: '10.0'
55
55
  - !ruby/object:Gem::Dependency
56
- name: bundler
56
+ name: rspec
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - ~>
60
60
  - !ruby/object:Gem::Version
61
- version: '1.0'
61
+ version: '3.0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - ~>
67
67
  - !ruby/object:Gem::Version
68
- version: '1.0'
68
+ version: '3.0'
69
69
  - !ruby/object:Gem::Dependency
70
- name: jeweler
70
+ name: pry
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ~>
73
+ - - '>='
74
74
  - !ruby/object:Gem::Version
75
- version: 2.0.1
75
+ version: '0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ~>
80
+ - - '>='
81
81
  - !ruby/object:Gem::Version
82
- version: 2.0.1
82
+ version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: simplecov
85
85
  requirement: !ruby/object:Gem::Requirement
@@ -95,7 +95,7 @@ dependencies:
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
- name: pry
98
+ name: fakefs
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - '>='
@@ -109,7 +109,7 @@ dependencies:
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  - !ruby/object:Gem::Dependency
112
- name: fakefs
112
+ name: rubocop
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - '>='
@@ -124,7 +124,8 @@ dependencies:
124
124
  version: '0'
125
125
  description: Retrospec is a framework that allows the automation of repetitive file
126
126
  creation with just about any kind of language through the use of a pluggable architecture.
127
- email: corey@logicminds.biz
127
+ email:
128
+ - corey@nwops.io
128
129
  executables:
129
130
  - retrospec
130
131
  extensions: []
@@ -133,7 +134,10 @@ extra_rdoc_files:
133
134
  - README.md
134
135
  files:
135
136
  - .document
137
+ - .gitignore
136
138
  - .rspec
139
+ - .travis.yml
140
+ - CHANGELOG.md
137
141
  - Gemfile
138
142
  - Gemfile.lock
139
143
  - LICENSE.txt
@@ -153,15 +157,9 @@ files:
153
157
  - lib/retrospec/plugins/v1/context_object.rb
154
158
  - lib/retrospec/plugins/v1/module_helpers.rb
155
159
  - lib/retrospec/plugins/v1/plugin.rb
156
- - lib/version.rb
160
+ - lib/retrospec/version.rb
157
161
  - plugin_development.md
158
162
  - retrospec.gemspec
159
- - spec/cli_spec.rb
160
- - spec/config_spec.rb
161
- - spec/plugin_loader_spec.rb
162
- - spec/plugins_spec.rb
163
- - spec/retrospec_spec.rb
164
- - spec/spec_helper.rb
165
163
  homepage: http://github.com/nwops/retrospec
166
164
  licenses:
167
165
  - MIT
@@ -182,7 +180,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
182
180
  version: '0'
183
181
  requirements: []
184
182
  rubyforge_project:
185
- rubygems_version: 2.0.14
183
+ rubygems_version: 2.0.14.1
186
184
  signing_key:
187
185
  specification_version: 4
188
186
  summary: A devops framework for automating your development workflow
@@ -1,4 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe 'cli' do
4
- end
@@ -1,21 +0,0 @@
1
- require 'spec_helper'
2
- require 'retrospec/config'
3
-
4
-
5
- describe 'config' do
6
- let(:config_obj) do
7
- Retrospec::Config.new
8
- end
9
-
10
- it do
11
- expect(config_obj.config_data['plugins::puppet::templates::ref']).to eq('master')
12
- expect(config_obj.config_data).to be_a Hash
13
- end
14
-
15
- it 'returns the correct context' do
16
- context = Retrospec::Config.plugin_context(config_obj.config_data, 'puppet')
17
- expect(context.keys.count).to eq(2)
18
- expect(context['plugins::puppet::templates::ref']).to eq('master')
19
- expect(context).to be_a Hash
20
- end
21
- end
@@ -1,5 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe 'plugin_loader' do
4
-
5
- end
@@ -1,5 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe 'plugins' do
4
-
5
- end
@@ -1,3 +0,0 @@
1
- require 'spec_helper'
2
- require 'retrospec'
3
-
@@ -1,31 +0,0 @@
1
- require 'simplecov'
2
- #require 'fakefs'
3
- require 'fileutils'
4
- require 'pry'
5
- module SimpleCov::Configuration
6
- def clean_filters
7
- @filters = []
8
- end
9
- end
10
-
11
- SimpleCov.configure do
12
- clean_filters
13
- load_adapter 'test_frameworks'
14
- end
15
-
16
- ENV["COVERAGE"] && SimpleCov.start do
17
- add_filter "/.rvm/"
18
- end
19
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
20
- $LOAD_PATH.unshift(File.dirname(__FILE__))
21
-
22
- require 'rspec'
23
- require 'retrospec'
24
-
25
- # Requires supporting files with custom matchers and macros, etc,
26
- # in ./support/ and its subdirectories.
27
- Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
28
-
29
- RSpec.configure do |config|
30
-
31
- end