retrospec-plugingen 0.2.2 → 0.3.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: 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