hem 1.0.1.beta6 → 1.1.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.
Files changed (52) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +32 -45
  3. data/Hemfile +4 -2
  4. data/README.md +4 -0
  5. data/bin/hem +5 -6
  6. data/hem.gemspec +15 -15
  7. data/lib/hem.rb +47 -45
  8. data/lib/hem/asset_applicators/files.rb +1 -1
  9. data/lib/hem/cli.rb +36 -29
  10. data/lib/hem/error_handlers/debug.rb +1 -1
  11. data/lib/hem/error_handlers/friendly.rb +3 -3
  12. data/lib/hem/errors.rb +23 -12
  13. data/lib/hem/help_formatter.rb +12 -3
  14. data/lib/hem/helper/argument_parser.rb +30 -0
  15. data/lib/hem/helper/command.rb +2 -1
  16. data/lib/hem/helper/file_locator.rb +34 -7
  17. data/lib/hem/helper/shell.rb +0 -1
  18. data/lib/hem/helper/vm_command.rb +2 -2
  19. data/lib/hem/lib/host_check/vagrant.rb +2 -3
  20. data/lib/hem/lib/s3/sync.rb +2 -2
  21. data/lib/hem/lib/seed/project.rb +10 -13
  22. data/lib/hem/lib/seed/replacer.rb +9 -31
  23. data/lib/hem/lib/seed/template.rb +21 -0
  24. data/lib/hem/lib/vm/inspector.rb +1 -1
  25. data/lib/hem/patches/deepstruct.rb +4 -0
  26. data/lib/hem/patches/rake.rb +42 -11
  27. data/lib/hem/plugins.rb +129 -0
  28. data/lib/hem/setup.rb +6 -0
  29. data/lib/hem/tasks.rb +15 -0
  30. data/lib/hem/tasks/deps.rb +13 -14
  31. data/lib/hem/tasks/exec.rb +4 -2
  32. data/lib/hem/tasks/magento.rb +13 -275
  33. data/lib/hem/tasks/mysql.rb +16 -0
  34. data/lib/hem/tasks/ops.rb +2 -1
  35. data/lib/hem/tasks/plugin.rb +16 -0
  36. data/lib/hem/tasks/redis.rb +26 -0
  37. data/lib/hem/tasks/seed.rb +4 -2
  38. data/lib/hem/tasks/self.rb +7 -6
  39. data/lib/hem/tasks/tools.rb +1 -1
  40. data/lib/hem/tasks/vm.rb +8 -16
  41. data/lib/hem/util.rb +6 -16
  42. data/lib/hem/version.rb +12 -1
  43. data/lib/hobo/tasks/magento.rb +2 -1
  44. data/spec/hem/cli_spec.rb +1 -0
  45. data/spec/hem/helpers/argument_parser_spec.rb +57 -0
  46. data/spec/hem/lib/seed/project_spec.rb +1 -0
  47. data/spec/hem/lib/seed/replacer_spec.rb +12 -13
  48. data/spec/hem/lib/seed/seed_spec.rb +1 -0
  49. metadata +50 -42
  50. data/lib/hem/lib/github/api.rb +0 -48
  51. data/lib/hem/lib/github/client.rb +0 -52
  52. data/lib/hem/tasks/pr.rb +0 -45
@@ -0,0 +1,16 @@
1
+ desc "MySQL related commands"
2
+
3
+ namespace :mysql do
4
+ desc "Open a MySQL cli connection"
5
+ option '-D=', '--db=', 'Database'
6
+ task :console do |task|
7
+ opts = { :psuedo_tty => STDIN.tty? }
8
+ opts[:db] = task.opts[:db] if task.opts[:db]
9
+
10
+ command = create_mysql_command(opts)
11
+ Hem.logger.debug "mysql:console: #{command}"
12
+
13
+ Hem.ui.success "Connecting..." if STDOUT.tty?
14
+ exec command
15
+ end
16
+ end
@@ -1,5 +1,6 @@
1
1
  namespace :ops do
2
- task 'generate-self-signed-cert', [ 'domain' ] do |task, args|
2
+ argument 'domain'
3
+ task 'generate-self-signed-cert' do |task, args|
3
4
  cert = Hem::Lib::SelfSignedCertGenerator.generate args[:domain]
4
5
  puts "Key:\n#{cert[:key]}\nCert:\n#{cert[:cert]}\n"
5
6
  end
@@ -0,0 +1,16 @@
1
+ namespace :plugin do
2
+ desc "Install a project's defined Hemfile plugins"
3
+ task :install do
4
+ Hem.plugins.install
5
+ end
6
+
7
+ desc "Update a project's defined Hemfile plugins"
8
+ argument 'gems', optional: true, default: {}, as: Array
9
+ task :update do |t, args|
10
+ if args[:gems].empty?
11
+ Hem.plugins.update
12
+ else
13
+ Hem.plugins.update gems: args[:gems]
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,26 @@
1
+ desc "Redis related commands"
2
+ namespace :redis do
3
+ desc "Open a Redis cli connection"
4
+ task :cli do
5
+ opts = { :psuedo_tty => STDIN.tty? }
6
+
7
+ command = create_command("redis-cli", opts)
8
+ Hem.logger.debug "redis:cli: #{command}"
9
+
10
+ Hem.ui.success "Connecting..." if STDOUT.tty?
11
+ exec command
12
+ end
13
+
14
+ desc "Flush some or all redis dbs"
15
+ argument :dbs, optional: true, default: {}, as: Array
16
+ task :flush do |task, args|
17
+ if args[:dbs].empty?
18
+ run 'redis-cli FLUSHALL'
19
+ else
20
+ args[:dbs].each do |db|
21
+ Hem.ui.success "Flushing redis db #{db}" if STDOUT.tty?
22
+ shell create_command('redis-cli', auto_echo: true).pipe("SELECT #{db}\nFLUSHDB\n")
23
+ end
24
+ end
25
+ end
26
+ end
@@ -9,7 +9,9 @@ namespace :seed do
9
9
  option '-b=', '--branch=', 'Seed branch to use'
10
10
  option '-d=', '--data=', 'Seed data to save to the project hem configuration', :as => Hash
11
11
 
12
- task :plant, [ :name ] do |t, args|
12
+ argument 'name'
13
+
14
+ task :plant do |t, args|
13
15
  name = args[:name]
14
16
 
15
17
  Hem.project_path = File.join(Dir.pwd, name)
@@ -24,7 +26,7 @@ namespace :seed do
24
26
  :ref => t.opts[:branch] || 'master'
25
27
  }
26
28
 
27
- seed_options = %w( default magento symfony custom )
29
+ seed_options = %w( default ezplatform magento1 magento2 spryker symfony plugin custom )
28
30
 
29
31
  seed_name = t.opts[:seed] || Hem.ui.ask_choice('Project seed', seed_options, default: 'default')
30
32
  use_short_seed_name = true
@@ -20,10 +20,10 @@ namespace 'self' do
20
20
  task "paths" do
21
21
  Hem.ui.info "<%=color('Project path:', :green)%> " + Hem.project_path
22
22
  {
23
- :gemfile => "*Gemfile",
24
- :vagrantfile => "*Vagrantfile",
25
- :cheffile => "*Cheffile",
26
- :berksfile => "*Berksfile",
23
+ :gemfile => "Gemfile",
24
+ :vagrantfile => "Vagrantfile",
25
+ :cheffile => "Cheffile",
26
+ :berksfile => "Berksfile",
27
27
  :'composer.json' => "composer.json"
28
28
  }.each do |k,v|
29
29
  path = nil
@@ -36,8 +36,9 @@ namespace 'self' do
36
36
 
37
37
  desc "Locate"
38
38
  project_only
39
- task "locate", [ :arg ] do |task, args|
40
- locate args[:arg] do |file, full_file|
39
+ argument 'pattern', as: Array
40
+ task "locate" do |task, args|
41
+ locate '*', args[:pattern] do |file, full_file|
41
42
  puts full_file
42
43
  end
43
44
  end
@@ -8,7 +8,7 @@ namespace :tools do
8
8
  unless File.exists?(bin_file)
9
9
  Hem.ui.success "Getting composer"
10
10
  FileUtils.mkdir_p File.dirname(bin_file)
11
- run_command "cd bin && php -r \"readfile('https://getcomposer.org/installer');\" | php", :realtime => true, :indent => 2
11
+ run "cd bin && php -r \"readfile('https://getcomposer.org/installer');\" | php", :realtime => true, :indent => 2
12
12
  else
13
13
  Hem.ui.success "Composer already available in bin/composer.phar"
14
14
  end
@@ -2,7 +2,7 @@ desc "VM related commands"
2
2
  project_only
3
3
  namespace :vm do
4
4
  def vagrantfile &block
5
- locate "*Vagrantfile" do
5
+ locate "Vagrantfile" do
6
6
  yield
7
7
  end
8
8
  end
@@ -115,26 +115,18 @@ namespace :vm do
115
115
  desc "Open a MySQL cli connection"
116
116
  option '-D=', '--db=', 'Database'
117
117
  task :mysql do |task|
118
- opts = { :psuedo_tty => STDIN.tty? }
119
- opts[:db] = task.opts[:db] if task.opts[:db]
120
-
121
- Hem.ui.success "Determining VM connection details..." if STDOUT.tty?
122
- command = create_mysql_command(opts)
123
- Hem.logger.debug "vm:mysql: #{command}"
118
+ Hem.ui.warning "hem vm mysql is deprecated, and will be removed in a future release."
119
+ Hem.ui.warning "Please use hem mysql console instead"
124
120
 
125
- Hem.ui.success "Connecting..." if STDOUT.tty?
126
- exec command
121
+ Rake::Task['mysql:console'].opts = task.opts
122
+ invoke 'mysql:console'
127
123
  end
128
124
 
129
125
  desc "Open a Redis cli connection"
130
126
  task :redis do
131
- opts = { :psuedo_tty => STDIN.tty? }
132
-
133
- Hem.ui.success "Determining VM connection details..." if STDOUT.tty?
134
- command = create_command("redis-cli", opts)
135
- Hem.logger.debug "vm:redis: #{command}"
127
+ Hem.ui.warning "hem vm redis is deprecated, and will be removed in a future release."
128
+ Hem.ui.warning "Please use hem redis cli instead"
136
129
 
137
- Hem.ui.success "Connecting..." if STDOUT.tty?
138
- exec command
130
+ invoke 'redis:console'
139
131
  end
140
132
  end
@@ -34,7 +34,10 @@ module Hem
34
34
 
35
35
  case type
36
36
  when :update
37
- @progress_bar_cache[file].progress += increment
37
+ @progress_bar_cache[file].progress = [
38
+ @progress_bar_cache[file].progress + increment,
39
+ total
40
+ ].min
38
41
  when :finished
39
42
  @progress_bar_cache[file].finish
40
43
  end
@@ -59,22 +62,9 @@ module Hem
59
62
  File.join(RbConfig::CONFIG["bindir"], RbConfig::CONFIG["ruby_install_name"]).match(/\/rvm\/|\/\.rvm\/|\/\.rbenv/) != nil
60
63
  end
61
64
 
62
- def chefdk_compat
63
- return if maybe(Hem.user_config.hem.disable_chefdk_compat) || ENV['HEM_DISABLE_CHEFDK_COMPAT']
64
- return if Hem.windows?
65
- which_ruby = File.join(RbConfig::CONFIG["bindir"], RbConfig::CONFIG["ruby_install_name"])
66
- if which_ruby =~ /rbenv/
67
- split_path = ENV['PATH'].split ':'
68
- paths = split_path.reject do |p|
69
- p =~ /chefdk/
70
- end
71
- chef_paths = split_path - paths
72
- ENV['PATH'] = (chef_paths + paths).join ':'
73
- end
74
- end
75
-
76
65
  def vagrant_plugin plugin, constraint = nil
77
- return [plugin, constraint]
66
+ return [plugin, nil] if constraint.nil?
67
+ return [plugin, Gem::Dependency.new(plugin, constraint)]
78
68
  end
79
69
  end
80
70
  end
@@ -1,3 +1,14 @@
1
1
  module Hem
2
- VERSION = '1.0.1-beta6'
2
+ VERSION = '1.1.0'
3
+
4
+ class << self
5
+ def require_version *requirements
6
+ req = Gem::Requirement.new(*requirements)
7
+ if req.satisfied_by?(Gem::Version.new(VERSION))
8
+ return
9
+ end
10
+
11
+ raise HemVersionError.new(requirements)
12
+ end
13
+ end
3
14
  end
@@ -1,3 +1,4 @@
1
1
  Hem.ui.warning 'require \'hobo/tasks/magento\' in Hobofile is deprecated, and will be removed in a future release.'
2
+ HOBO_TASKS_MAGENTO_DEPRECATION=1
2
3
 
3
- require 'hem/tasks/magento'
4
+ require_relative '../../hem/tasks/magento'
@@ -14,6 +14,7 @@ describe Hem::Cli do
14
14
  end
15
15
 
16
16
  Hem.ui = double(Hem::Ui).as_null_object
17
+ Hem.plugins = double(Hem::Plugins).as_null_object
17
18
  help = double(Hem::HelpFormatter).as_null_object
18
19
  host_check = double(Hem::Lib::HostCheck).as_null_object
19
20
  cli = Hem::Cli.new help: help, host_check: host_check
@@ -0,0 +1,57 @@
1
+
2
+ describe Hem::Helper do
3
+ describe "convert_args" do
4
+ it "should parse empty arguments" do
5
+ arg_list = {
6
+ 'a' => {as: String, optional: false},
7
+ 'b' => {as: String, optional: false},
8
+ }
9
+ expect(convert_args('my_task', [], {})).to eq([])
10
+ end
11
+
12
+ it "should parse mandatory arguments" do
13
+ arg_list = {
14
+ 'a' => {as: String, optional: false},
15
+ 'b' => {as: String, optional: false},
16
+ }
17
+ expect(convert_args('my_task', [1,2], arg_list)).to eq([1,2])
18
+ end
19
+
20
+ it "should parse optional arguments" do
21
+ arg_list = {
22
+ 'a' => {as: String, optional: true},
23
+ 'b' => {as: String, optional: true},
24
+ }
25
+ expect(convert_args('my_task', [1], arg_list)).to eq([1, nil])
26
+ end
27
+
28
+ it "should parse array arguments" do
29
+ arg_list = {
30
+ 'a' => {as: Array},
31
+ }
32
+ expect(convert_args('my_task', [1,2,3], arg_list)).to eq([[1,2,3]])
33
+ end
34
+
35
+ it "should parse a optional string then a optional array" do
36
+ arg_list = {
37
+ 'a' => {as: String, optional: true},
38
+ 'b' => {as: Array, optional: true},
39
+ }
40
+ expect(convert_args('my_task', [1,2,3], arg_list)).to eq([1,[2,3]])
41
+ end
42
+
43
+ it "should throw exception on missing mandatory arguments" do
44
+ arg_list = {
45
+ 'a' => {as: String, optional: false},
46
+ }
47
+ expect{convert_args('my_task', [], arg_list)}.to raise_error(Hem::MissingArgumentsError)
48
+ end
49
+
50
+ it "should throw exception if more input than arguments" do
51
+ arg_list = {
52
+ 'a' => {as: String, optional: false},
53
+ }
54
+ expect{convert_args('my_task', [1,2], arg_list)}.to raise_error(Hem::InvalidCommandOrOpt)
55
+ end
56
+ end
57
+ end
@@ -1,3 +1,4 @@
1
+ require 'tmpdir'
1
2
 
2
3
  describe Hem::Lib::Seed::Project do
3
4
  pwd = nil
@@ -5,16 +5,17 @@ describe Hem::Lib::Seed::Replacer do
5
5
  Dir.mkdir("bin")
6
6
  Dir.mkdir("dir")
7
7
  {
8
- "./test1" => "some {{test}} is here",
9
- "./test2" => "no test is here",
10
- "./dir/test" => "subdir {{test}}",
11
- "./dir/nested" => "nested {{nested.test}}",
12
- "./dir/no-utf" => "\xc2 {{test}}", # invalid utf should be skipped
13
- "./bin/test" => "{{test}}" # bin/ should be ignored
8
+ "./test1.erb" => "some <%= config.test %> is here",
9
+ "./test2.erb" => "no test is here",
10
+ "./dir/test.erb" => "subdir <%= config.test %>",
11
+ "./dir/nested.erb" => "nested <%= config.nested.test %>",
12
+ "./dir/no-utf.erb" => "\xc2 <%= config.test %>", # invalid utf should be skipped
13
+ "./bin/test" => "<%= config.test %>" # non-ERB files should be ignored
14
14
  }.each do |name, content|
15
15
  File.write(name, content)
16
16
  end
17
17
 
18
+ Hem.project_config = DeepStruct.wrap({})
18
19
  @replacer = Hem::Lib::Seed::Replacer.new
19
20
  end
20
21
 
@@ -23,22 +24,20 @@ describe Hem::Lib::Seed::Replacer do
23
24
  FakeFS.deactivate!
24
25
  end
25
26
 
26
- it "should respect exclude directories" do
27
- files = @replacer.replace(".", { :test => 'badger' })
28
- File.read("./bin/test").should eq "{{test}}"
27
+ it "should not replace non-ERB files" do
28
+ @replacer.replace(".", DeepStruct.wrap({ :test => 'badger' }))
29
+ File.read("./bin/test").should eq "<%= config.test %>"
29
30
  end
30
31
 
31
32
  it "should replace placeholders in files" do
32
- files = @replacer.replace(".", { :test => 'badger' })
33
- expect(files.sort).to eq(["./dir/test", "./test1"])
33
+ @replacer.replace(".", DeepStruct.wrap({ :test => 'badger' }))
34
34
 
35
35
  File.read("./test1").should eq "some badger is here"
36
36
  File.read("./dir/test").should eq "subdir badger"
37
37
  end
38
38
 
39
39
  it "should handle nested hashes" do
40
- files = @replacer.replace(".", { :nested => { :test => 'nested' } })
41
- expect(files.sort).to eq(["./dir/nested"])
40
+ @replacer.replace(".", DeepStruct.wrap({ :nested => { :test => 'nested' } }))
42
41
 
43
42
  File.read("./dir/nested").should eq "nested nested"
44
43
  end
@@ -1,3 +1,4 @@
1
+ require 'tmpdir'
1
2
 
2
3
  describe Hem::Lib::Seed::Seed do
3
4
  pwd = nil
metadata CHANGED
@@ -1,172 +1,173 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hem
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1.beta6
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Simons
8
+ - Andy Thompson
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2016-01-07 00:00:00.000000000 Z
12
+ date: 2016-06-10 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
- name: slop
15
+ name: aws-sdk
15
16
  requirement: !ruby/object:Gem::Requirement
16
17
  requirements:
17
18
  - - "~>"
18
19
  - !ruby/object:Gem::Version
19
- version: 3.4.7
20
+ version: 2.3.8
20
21
  type: :runtime
21
22
  prerelease: false
22
23
  version_requirements: !ruby/object:Gem::Requirement
23
24
  requirements:
24
25
  - - "~>"
25
26
  - !ruby/object:Gem::Version
26
- version: 3.4.7
27
+ version: 2.3.8
27
28
  - !ruby/object:Gem::Dependency
28
- name: highline
29
+ name: deepstruct
29
30
  requirement: !ruby/object:Gem::Requirement
30
31
  requirements:
31
32
  - - "~>"
32
33
  - !ruby/object:Gem::Version
33
- version: 1.6.20
34
+ version: 0.0.7
34
35
  type: :runtime
35
36
  prerelease: false
36
37
  version_requirements: !ruby/object:Gem::Requirement
37
38
  requirements:
38
39
  - - "~>"
39
40
  - !ruby/object:Gem::Version
40
- version: 1.6.20
41
+ version: 0.0.7
41
42
  - !ruby/object:Gem::Dependency
42
- name: rake
43
+ name: highline
43
44
  requirement: !ruby/object:Gem::Requirement
44
45
  requirements:
45
46
  - - "~>"
46
47
  - !ruby/object:Gem::Version
47
- version: 10.1.1
48
+ version: 1.7.3
48
49
  type: :runtime
49
50
  prerelease: false
50
51
  version_requirements: !ruby/object:Gem::Requirement
51
52
  requirements:
52
53
  - - "~>"
53
54
  - !ruby/object:Gem::Version
54
- version: 10.1.1
55
+ version: 1.7.3
55
56
  - !ruby/object:Gem::Dependency
56
- name: deepstruct
57
+ name: jmespath
57
58
  requirement: !ruby/object:Gem::Requirement
58
59
  requirements:
59
60
  - - "~>"
60
61
  - !ruby/object:Gem::Version
61
- version: 0.0.5
62
+ version: 1.1.3
62
63
  type: :runtime
63
64
  prerelease: false
64
65
  version_requirements: !ruby/object:Gem::Requirement
65
66
  requirements:
66
67
  - - "~>"
67
68
  - !ruby/object:Gem::Version
68
- version: 0.0.5
69
+ version: 1.1.3
69
70
  - !ruby/object:Gem::Dependency
70
- name: semantic
71
+ name: json
71
72
  requirement: !ruby/object:Gem::Requirement
72
73
  requirements:
73
74
  - - "~>"
74
75
  - !ruby/object:Gem::Version
75
- version: 1.3.0
76
+ version: 1.8.1
76
77
  type: :runtime
77
78
  prerelease: false
78
79
  version_requirements: !ruby/object:Gem::Requirement
79
80
  requirements:
80
81
  - - "~>"
81
82
  - !ruby/object:Gem::Version
82
- version: 1.3.0
83
+ version: 1.8.1
83
84
  - !ruby/object:Gem::Dependency
84
- name: aws-sdk
85
+ name: net-ssh-simple
85
86
  requirement: !ruby/object:Gem::Requirement
86
87
  requirements:
87
88
  - - "~>"
88
89
  - !ruby/object:Gem::Version
89
- version: 2.0.24
90
+ version: 1.6.3
90
91
  type: :runtime
91
92
  prerelease: false
92
93
  version_requirements: !ruby/object:Gem::Requirement
93
94
  requirements:
94
95
  - - "~>"
95
96
  - !ruby/object:Gem::Version
96
- version: 2.0.24
97
+ version: 1.6.3
97
98
  - !ruby/object:Gem::Dependency
98
- name: ruby-progressbar
99
+ name: pry
99
100
  requirement: !ruby/object:Gem::Requirement
100
101
  requirements:
101
102
  - - "~>"
102
103
  - !ruby/object:Gem::Version
103
- version: 1.4.1
104
+ version: 0.10.3
104
105
  type: :runtime
105
106
  prerelease: false
106
107
  version_requirements: !ruby/object:Gem::Requirement
107
108
  requirements:
108
109
  - - "~>"
109
110
  - !ruby/object:Gem::Version
110
- version: 1.4.1
111
+ version: 0.10.3
111
112
  - !ruby/object:Gem::Dependency
112
- name: teerb
113
+ name: rake
113
114
  requirement: !ruby/object:Gem::Requirement
114
115
  requirements:
115
116
  - - "~>"
116
117
  - !ruby/object:Gem::Version
117
- version: 0.0.1
118
+ version: 11.1.2
118
119
  type: :runtime
119
120
  prerelease: false
120
121
  version_requirements: !ruby/object:Gem::Requirement
121
122
  requirements:
122
123
  - - "~>"
123
124
  - !ruby/object:Gem::Version
124
- version: 0.0.1
125
+ version: 11.1.2
125
126
  - !ruby/object:Gem::Dependency
126
- name: net-ssh-simple
127
+ name: ruby-progressbar
127
128
  requirement: !ruby/object:Gem::Requirement
128
129
  requirements:
129
130
  - - "~>"
130
131
  - !ruby/object:Gem::Version
131
- version: 1.6.3
132
+ version: 1.8.1
132
133
  type: :runtime
133
134
  prerelease: false
134
135
  version_requirements: !ruby/object:Gem::Requirement
135
136
  requirements:
136
137
  - - "~>"
137
138
  - !ruby/object:Gem::Version
138
- version: 1.6.3
139
+ version: 1.8.1
139
140
  - !ruby/object:Gem::Dependency
140
- name: pry
141
+ name: slop
141
142
  requirement: !ruby/object:Gem::Requirement
142
143
  requirements:
143
144
  - - "~>"
144
145
  - !ruby/object:Gem::Version
145
- version: 0.9.12
146
+ version: 3.6.0
146
147
  type: :runtime
147
148
  prerelease: false
148
149
  version_requirements: !ruby/object:Gem::Requirement
149
150
  requirements:
150
151
  - - "~>"
151
152
  - !ruby/object:Gem::Version
152
- version: 0.9.12
153
+ version: 3.6.0
153
154
  - !ruby/object:Gem::Dependency
154
- name: octokit
155
+ name: teerb
155
156
  requirement: !ruby/object:Gem::Requirement
156
157
  requirements:
157
158
  - - "~>"
158
159
  - !ruby/object:Gem::Version
159
- version: '3.0'
160
+ version: 0.0.1
160
161
  type: :runtime
161
162
  prerelease: false
162
163
  version_requirements: !ruby/object:Gem::Requirement
163
164
  requirements:
164
165
  - - "~>"
165
166
  - !ruby/object:Gem::Version
166
- version: '3.0'
167
+ version: 0.0.1
167
168
  description: Inviqan toolbelt
168
169
  email:
169
- - msimons@inviqa.com
170
+ - athompson@inviqa.com
170
171
  executables:
171
172
  - hem
172
173
  extensions: []
@@ -206,14 +207,13 @@ files:
206
207
  - lib/hem/error_handlers/friendly.rb
207
208
  - lib/hem/errors.rb
208
209
  - lib/hem/help_formatter.rb
210
+ - lib/hem/helper/argument_parser.rb
209
211
  - lib/hem/helper/command.rb
210
212
  - lib/hem/helper/file_locator.rb
211
213
  - lib/hem/helper/github.rb
212
214
  - lib/hem/helper/http_download.rb
213
215
  - lib/hem/helper/shell.rb
214
216
  - lib/hem/helper/vm_command.rb
215
- - lib/hem/lib/github/api.rb
216
- - lib/hem/lib/github/client.rb
217
217
  - lib/hem/lib/host_check.rb
218
218
  - lib/hem/lib/host_check/deps.rb
219
219
  - lib/hem/lib/host_check/git.rb
@@ -227,6 +227,7 @@ files:
227
227
  - lib/hem/lib/seed/project.rb
228
228
  - lib/hem/lib/seed/replacer.rb
229
229
  - lib/hem/lib/seed/seed.rb
230
+ - lib/hem/lib/seed/template.rb
230
231
  - lib/hem/lib/self_signed_cert_generator.rb
231
232
  - lib/hem/lib/vm/command.rb
232
233
  - lib/hem/lib/vm/inspector.rb
@@ -238,13 +239,18 @@ files:
238
239
  - lib/hem/patches/rubygems.rb
239
240
  - lib/hem/patches/slop.rb
240
241
  - lib/hem/paths.rb
242
+ - lib/hem/plugins.rb
243
+ - lib/hem/setup.rb
244
+ - lib/hem/tasks.rb
241
245
  - lib/hem/tasks/assets.rb
242
246
  - lib/hem/tasks/config.rb
243
247
  - lib/hem/tasks/deps.rb
244
248
  - lib/hem/tasks/exec.rb
245
249
  - lib/hem/tasks/magento.rb
250
+ - lib/hem/tasks/mysql.rb
246
251
  - lib/hem/tasks/ops.rb
247
- - lib/hem/tasks/pr.rb
252
+ - lib/hem/tasks/plugin.rb
253
+ - lib/hem/tasks/redis.rb
248
254
  - lib/hem/tasks/seed.rb
249
255
  - lib/hem/tasks/self.rb
250
256
  - lib/hem/tasks/shell_init.rb
@@ -263,6 +269,7 @@ files:
263
269
  - spec/hem/error_handlers/friendly_spec.rb
264
270
  - spec/hem/error_spec.rb
265
271
  - spec/hem/help_formatter_spec.rb
272
+ - spec/hem/helpers/argument_parser_spec.rb
266
273
  - spec/hem/helpers/command_spec.rb
267
274
  - spec/hem/helpers/file_locator_spec.rb
268
275
  - spec/hem/helpers/github_spec.rb
@@ -296,12 +303,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
296
303
  version: '0'
297
304
  required_rubygems_version: !ruby/object:Gem::Requirement
298
305
  requirements:
299
- - - ">"
306
+ - - ">="
300
307
  - !ruby/object:Gem::Version
301
- version: 1.3.1
308
+ version: '0'
302
309
  requirements: []
303
310
  rubyforge_project:
304
- rubygems_version: 2.4.8
311
+ rubygems_version: 2.4.5.1
305
312
  signing_key:
306
313
  specification_version: 4
307
314
  summary: Inviqan toolbelt
@@ -321,6 +328,7 @@ test_files:
321
328
  - spec/hem/error_handlers/friendly_spec.rb
322
329
  - spec/hem/error_spec.rb
323
330
  - spec/hem/help_formatter_spec.rb
331
+ - spec/hem/helpers/argument_parser_spec.rb
324
332
  - spec/hem/helpers/command_spec.rb
325
333
  - spec/hem/helpers/file_locator_spec.rb
326
334
  - spec/hem/helpers/github_spec.rb