retrospec-plugingen 0.2.2 → 0.3.0

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,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3a34a844acae924220ed1d90abb3f30cabc16c70
4
- data.tar.gz: d76a5211682359461f87936840688c800064edd6
3
+ metadata.gz: e361d21d5e66451543bf1ba5634623193b997f36
4
+ data.tar.gz: 33fd32aa5f0d8c6f20f37ce0d730fbe90c4a5c2f
5
5
  SHA512:
6
- metadata.gz: 40e3dd7d590071c610c0f921bf54cad8aba14f1f441e80a77094067445539c46a60020bdf4abf1b2aeb2ab3bdf727d8b485c15f5faf3c0989d184e24b51e19a8
7
- data.tar.gz: 5a4c4c4620c3ebf0854ad16be4580a2ef6417c06bcb94c6ba572e86fbd648ce4a709dfdbc211b19b308d4aada46d4818632b9cb10c66b08568efc6d7a691444c
6
+ metadata.gz: aff877210061dad170936b8481132ce42247ff4486b9786f03fe2ff026408c564ee368af54fcf84a308419ba68f66897991acccb98246190fc835589a42c781d
7
+ data.tar.gz: aab6305d9147efc76df7c94c30be98214caf94fed1d50d515818a008511b7e7371853d1b9b8aa27f117608bab58123e0155b87c648bedc6154b0e8d63eb68203
data/Gemfile CHANGED
@@ -9,4 +9,4 @@ group :development do
9
9
  gem "pry"
10
10
  end
11
11
  gem 'facets' # used for snakecase
12
- gem 'retrospec', "~> 0.3"
12
+ gem 'retrospec', "~> 0.4"
@@ -54,7 +54,7 @@ GEM
54
54
  rake (10.4.2)
55
55
  rdoc (3.12.2)
56
56
  json (~> 1.4)
57
- retrospec (0.3.1)
57
+ retrospec (0.4.0)
58
58
  trollop
59
59
  rspec (3.3.0)
60
60
  rspec-core (~> 3.3.0)
@@ -87,6 +87,6 @@ DEPENDENCIES
87
87
  jeweler (~> 2.0.1)
88
88
  pry
89
89
  rdoc (~> 3.12)
90
- retrospec (~> 0.3)
90
+ retrospec (~> 0.4)
91
91
  rspec (~> 3.2)
92
92
  simplecov
File without changes
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.2
1
+ 0.3.0
@@ -1 +1 @@
1
- require 'retrospec/plugins/v1/plugin/plugin_gen'
1
+ require 'retrospec/plugins/v1/plugin/plugin_gen'
@@ -1,6 +1,6 @@
1
1
  require 'retrospec/plugins/v1'
2
2
  require_relative 'spec_object'
3
-
3
+ require_relative 'version'
4
4
  # this plugin will generate the necessary scaffolding in order to build your own
5
5
  # retrospec plugin.
6
6
  module Retrospec
@@ -20,9 +20,36 @@ module Retrospec
20
20
  create_plugin_file
21
21
  end
22
22
 
23
- def self.cli_options(global_opts)
24
- Trollop::options do
23
+ def self.run_cli(global_opts, global_config, plugin_config, args=ARGV)
24
+ # a list of subcommands for this plugin
25
+ sub_commands = []
26
+ if sub_commands.count > 0
27
+ sub_command_help = "Subcommands:\n#{sub_commands.join("\n")}\n"
28
+ else
29
+ sub_command_help = ""
30
+ end
31
+ plugin_opts = Trollop::options do
32
+ version "#{Retrospec::PluginGen::VERSION} (c) Corey Osman"
33
+ banner <<-EOS
34
+ A generator to create plugins for retrospec\n
35
+ #{sub_command_help}
36
+
37
+ EOS
25
38
  opt :name, "The name of the new plugin", :require => false, :short => '-n', :type => :string, :default => File.basename(File.expand_path(global_opts[:module_path]))
39
+ stop_on sub_commands
40
+ end
41
+ # the passed in options will always override the config file
42
+ plugin_data = plugin_opts.merge(global_config).merge(global_opts).merge(plugin_config).merge(plugin_opts)
43
+ # define the default action to use the plugin here, the default is run
44
+ sub_command = (args.shift || :run).to_sym
45
+ # create an instance of this plugin
46
+ plugin = self.new(plugin_data[:module_path],plugin_data)
47
+ # check if the plugin supports the sub command
48
+ if plugin.respond_to?(sub_command)
49
+ plugin.send(sub_command)
50
+ else
51
+ puts "The subcommand #{sub_command} is not supported or valid"
52
+ exit 1
26
53
  end
27
54
  end
28
55
 
@@ -8,4 +8,4 @@ group :development do
8
8
  gem "simplecov", ">= 0"
9
9
  gem "pry"
10
10
  end
11
- gem 'retrospec', :git => 'https://github.com/nwops/retrospec.git'
11
+ gem 'retrospec', "~> 0.4"
@@ -0,0 +1,2 @@
1
+ This file only exists because git repos cannot contain empty directories by without a file.
2
+ You can remove this file once you create another file in this directory for your plugin usage.
@@ -0,0 +1,5 @@
1
+ module Retrospec
2
+ module <%= capitalized_plugin_name %>
3
+ VERSION = '0.0.1'
4
+ end
5
+ end
@@ -2,10 +2,16 @@ require 'spec_helper'
2
2
  require 'retrospec'
3
3
 
4
4
  describe "<%= plugin_name %>" do
5
+
6
+ let(:global_opts) do
7
+ {:module_path => '/tmp/testplugin_dir'}
8
+ end
9
+
5
10
  let(:plugin) do
6
11
  Retrospec::Plugins::V1::<%= capitalized_plugin_name %>.new('/tmp/testplugin_dir', {:name => 'testplugin', :config1 => 'test'})
7
12
  end
8
13
 
14
+
9
15
  it "can create plugin instance" do
10
16
  expect(plugin).to be_a Retrospec::Plugins::V1::<%= capitalized_plugin_name %>
11
17
  end
@@ -14,7 +20,7 @@ describe "<%= plugin_name %>" do
14
20
  expect(plugin.config_data[:config1]).to eq('test')
15
21
  end
16
22
 
17
- it 'can module_path from context' do
23
+ it 'can get module_path from context' do
18
24
  expect(plugin.context.module_path).to eq('/tmp/testplugin_dir')
19
25
  end
20
26
 
@@ -25,4 +31,18 @@ describe "<%= plugin_name %>" do
25
31
  it 'can run without error' do
26
32
  expect{plugin.run}.to_not raise_error
27
33
  end
34
+
35
+ it 'can run cli' do
36
+ expect(Retrospec::Plugins::V1::<%= capitalized_plugin_name %>.run_cli(global_opts, {},{}, []).count).to eq(2)
37
+ end
38
+
39
+ describe 'subcommands' do
40
+ # if your plugin has subcommands you can test them here by putting the subcommands in the array below
41
+ subcommands = []
42
+ subcommands.each do |cmd|
43
+ it "can run cli with subcommand #{cmd}" do
44
+ expect(Retrospec::Plugins::V1::Newplugin3.run_cli(global_opts, {},{}, [cmd]).count).to eq(2)
45
+ end
46
+ end
47
+ end
28
48
  end
@@ -1,5 +1,6 @@
1
1
  require 'retrospec/plugins/v1'
2
2
  require_relative 'spec_object'
3
+ require_relative 'version'
3
4
 
4
5
  module Retrospec
5
6
  module Plugins
@@ -22,29 +23,58 @@ module Retrospec
22
23
  # the global options are passed in for your usage
23
24
  # http://trollop.rubyforge.org
24
25
  # all options here are available in the config passed into config object
25
- def self.cli_options(global_opts)
26
- Trollop::options do
27
- opt :option1, "Some fancy option"
28
- end
26
+ def self.run_cli(global_opts, global_config, plugin_config, args=ARGV)
27
+ # a list of subcommands for this plugin, if any
28
+ sub_commands = []
29
+ if sub_commands.count > 0
30
+ sub_command_help = "Subcommands:\n#{sub_commands.join("\n")}\n"
31
+ else
32
+ sub_command_help = ""
29
33
  end
34
+ plugin_opts = Trollop::options do
35
+ version "#{Retrospec::<%= capitalized_plugin_name %>::VERSION} (c) Your Name"
36
+ banner <<-EOS
37
+ A short description of your plugin goes here\n
38
+ #{sub_command_help}
30
39
 
31
- # this is the main entry point that retrospec will use to make magic happen
32
- # this is called after everything has been initialized
33
- def run
40
+ EOS
41
+ opt :option1, "Some Fancy option", :require => false, :short => '-n', :type => :string,
42
+ :default => File.basename(File.expand_path(global_opts[:module_path]))
43
+ stop_on sub_commands
44
+ end
45
+ # the passed in options will always override the config file
46
+ plugin_data = plugin_opts.merge(global_config).merge(global_opts).merge(plugin_config).merge(plugin_opts)
47
+ # define the default action to use the plugin here, the default is run
48
+ sub_command = (args.shift || :run).to_sym
49
+ # create an instance of this plugin
50
+ plugin = self.new(plugin_data[:module_path],plugin_data)
51
+ # check if the plugin supports the sub command
52
+ if plugin.respond_to?(sub_command)
53
+ plugin.send(sub_command)
54
+ else
55
+ puts "The subcommand #{sub_command} is not supported or valid"
56
+ exit 1
57
+ end
58
+ end
59
+
60
+
61
+ # this is the main entry point that retrospec will use to make magic happen
62
+ # this is called after everything has been initialized
63
+ def run
34
64
  # the safe_create_module_files will render every file that ends with .retrospec.erb
35
65
  # under the templates/module_files folder in your gem and copy them to the destination.
36
66
  safe_create_module_files(template_dir, module_path, context)
37
67
  # Should you need to change the file name of the copied file you will have to move
38
68
  # the file outside of the module_files directory and
39
69
  # render it using: safe_create_template_file(file_path, template, context)
40
- end
70
+ end
41
71
 
42
- # the template directory located inside the your retrospec plugin gem
43
- # you should not have to modify this unless you move the templates directory
44
- # if this directory does not exist please create a directory templates/module_files
45
- def template_dir
46
- @template_dir ||= File.expand_path(File.join(File.dirname(__FILE__), 'templates'))
47
- end
72
+ # the template directory located inside the your retrospec plugin gem
73
+ # you should not have to modify this unless you move the templates directory
74
+ # if this directory does not exist please create a directory templates/module_files
75
+ def template_dir
76
+ @template_dir ||= File.expand_path(File.join(File.dirname(__FILE__), 'templates'))
77
+ end
48
78
  end
49
79
  end
50
80
  end
@@ -0,0 +1,5 @@
1
+ module Retrospec
2
+ module PluginGen
3
+ VERSION = '0.3.0'
4
+ end
5
+ end
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "retrospec-plugingen"
8
- s.version = "0.2.2"
8
+ s.version = "0.3.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Corey Osman"]
12
- s.date = "2015-09-28"
12
+ s.date = "2015-10-11"
13
13
  s.description = ""
14
14
  s.email = "corey@logicminds.biz"
15
15
  s.extra_rdoc_files = [
@@ -22,6 +22,7 @@ Gem::Specification.new do |s|
22
22
  "Gemfile",
23
23
  "Gemfile.lock",
24
24
  "LICENSE.txt",
25
+ "New_plugin.md",
25
26
  "README.md",
26
27
  "Rakefile",
27
28
  "VERSION",
@@ -35,10 +36,13 @@ Gem::Specification.new do |s|
35
36
  "lib/retrospec/plugins/v1/plugin/templates/module_files/README.md.retrospec.erb",
36
37
  "lib/retrospec/plugins/v1/plugin/templates/module_files/Rakefile.retrospec.erb",
37
38
  "lib/retrospec/plugins/v1/plugin/templates/module_files/lib/retrospec/plugins/v1/plugin/spec_object.rb.retrospec.erb",
39
+ "lib/retrospec/plugins/v1/plugin/templates/module_files/lib/retrospec/plugins/v1/plugin/templates/module_files/.gitkeep",
40
+ "lib/retrospec/plugins/v1/plugin/templates/module_files/lib/retrospec/plugins/v1/plugin/version.rb.retrospec.erb",
38
41
  "lib/retrospec/plugins/v1/plugin/templates/module_files/spec/spec_helper.rb.retrospec.erb",
39
42
  "lib/retrospec/plugins/v1/plugin/templates/module_files/spec/unit/plugin_spec.rb.retrospec.erb",
40
43
  "lib/retrospec/plugins/v1/plugin/templates/plugin-name.rb.retrospec.erb",
41
44
  "lib/retrospec/plugins/v1/plugin/templates/retrospec-main-plugin-file.rb.retrospec.erb",
45
+ "lib/retrospec/plugins/v1/plugin/version.rb",
42
46
  "retrospec-plugingen.gemspec",
43
47
  "spec/plugin_gen_spec.rb",
44
48
  "spec/retrospec-plugin_spec.rb",
@@ -55,7 +59,7 @@ Gem::Specification.new do |s|
55
59
 
56
60
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
57
61
  s.add_runtime_dependency(%q<facets>, [">= 0"])
58
- s.add_runtime_dependency(%q<retrospec>, ["~> 0.3"])
62
+ s.add_runtime_dependency(%q<retrospec>, ["~> 0.4"])
59
63
  s.add_development_dependency(%q<rspec>, ["~> 3.2"])
60
64
  s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
61
65
  s.add_development_dependency(%q<bundler>, ["~> 1.0"])
@@ -64,7 +68,7 @@ Gem::Specification.new do |s|
64
68
  s.add_development_dependency(%q<pry>, [">= 0"])
65
69
  else
66
70
  s.add_dependency(%q<facets>, [">= 0"])
67
- s.add_dependency(%q<retrospec>, ["~> 0.3"])
71
+ s.add_dependency(%q<retrospec>, ["~> 0.4"])
68
72
  s.add_dependency(%q<rspec>, ["~> 3.2"])
69
73
  s.add_dependency(%q<rdoc>, ["~> 3.12"])
70
74
  s.add_dependency(%q<bundler>, ["~> 1.0"])
@@ -74,7 +78,7 @@ Gem::Specification.new do |s|
74
78
  end
75
79
  else
76
80
  s.add_dependency(%q<facets>, [">= 0"])
77
- s.add_dependency(%q<retrospec>, ["~> 0.3"])
81
+ s.add_dependency(%q<retrospec>, ["~> 0.4"])
78
82
  s.add_dependency(%q<rspec>, ["~> 3.2"])
79
83
  s.add_dependency(%q<rdoc>, ["~> 3.12"])
80
84
  s.add_dependency(%q<bundler>, ["~> 1.0"])
@@ -2,6 +2,14 @@ require 'spec_helper'
2
2
  require 'retrospec'
3
3
 
4
4
  describe "RetrospecPlugin" do
5
+ let(:global_opts) do
6
+ {:module_path => '/tmp/testplugin_dir'}
7
+ end
8
+
9
+ before :each do
10
+ FileUtils.rm_rf('/tmp/testplugin_dir')
11
+ end
12
+
5
13
  let(:gen) do
6
14
  Retrospec::Plugins::V1::PluginGen.new('/tmp/testplugin_dir', {:name => 'testplugin', :config1 => 'test'})
7
15
  end
@@ -29,4 +37,8 @@ describe "RetrospecPlugin" do
29
37
  it 'can run without error' do
30
38
  expect{gen.run}.to_not raise_error
31
39
  end
40
+
41
+ it 'can run cli' do
42
+ expect(Retrospec::Plugins::V1::PluginGen.run_cli(global_opts, {},{}, [])).to eq(nil)
43
+ end
32
44
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: retrospec-plugingen
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.3.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-09-28 00:00:00.000000000 Z
11
+ date: 2015-10-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: facets
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - ~>
32
32
  - !ruby/object:Gem::Version
33
- version: '0.3'
33
+ version: '0.4'
34
34
  type: :runtime
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: '0.3'
40
+ version: '0.4'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -135,6 +135,7 @@ files:
135
135
  - Gemfile
136
136
  - Gemfile.lock
137
137
  - LICENSE.txt
138
+ - New_plugin.md
138
139
  - README.md
139
140
  - Rakefile
140
141
  - VERSION
@@ -148,10 +149,13 @@ files:
148
149
  - lib/retrospec/plugins/v1/plugin/templates/module_files/README.md.retrospec.erb
149
150
  - lib/retrospec/plugins/v1/plugin/templates/module_files/Rakefile.retrospec.erb
150
151
  - lib/retrospec/plugins/v1/plugin/templates/module_files/lib/retrospec/plugins/v1/plugin/spec_object.rb.retrospec.erb
152
+ - lib/retrospec/plugins/v1/plugin/templates/module_files/lib/retrospec/plugins/v1/plugin/templates/module_files/.gitkeep
153
+ - lib/retrospec/plugins/v1/plugin/templates/module_files/lib/retrospec/plugins/v1/plugin/version.rb.retrospec.erb
151
154
  - lib/retrospec/plugins/v1/plugin/templates/module_files/spec/spec_helper.rb.retrospec.erb
152
155
  - lib/retrospec/plugins/v1/plugin/templates/module_files/spec/unit/plugin_spec.rb.retrospec.erb
153
156
  - lib/retrospec/plugins/v1/plugin/templates/plugin-name.rb.retrospec.erb
154
157
  - lib/retrospec/plugins/v1/plugin/templates/retrospec-main-plugin-file.rb.retrospec.erb
158
+ - lib/retrospec/plugins/v1/plugin/version.rb
155
159
  - retrospec-plugingen.gemspec
156
160
  - spec/plugin_gen_spec.rb
157
161
  - spec/retrospec-plugin_spec.rb