rbcli 0.1.7 → 0.1.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +3 -1
- data/README.md +50 -6
- data/exe/rbcli +81 -32
- data/lib/rbcli/configuration/config.rb +6 -6
- data/lib/rbcli/configuration/configurate.rb +1 -1
- data/lib/rbcli/engine/load_project.rb +19 -0
- data/lib/rbcli/engine/parser.rb +2 -2
- data/lib/rbcli/logging/logging.rb +7 -4
- data/lib/rbcli/stateful_systems/state_storage.rb +4 -0
- data/lib/rbcli/version.rb +1 -1
- data/lib/rbcli-tool/erb_renderer.rb +43 -0
- data/lib/rbcli-tool/mdless_fix.rb +386 -0
- data/lib/rbcli-tool/project.rb +87 -0
- data/lib/rbcli-tool.rb +16 -0
- data/lib/rbcli.rb +11 -10
- data/rbcli.gemspec +1 -0
- data/skeletons/micro/executable +123 -0
- data/skeletons/mini/executable +241 -0
- data/skeletons/project/.gitignore +11 -0
- data/skeletons/project/.rbcli +0 -0
- data/skeletons/project/.rspec +3 -0
- data/skeletons/project/CODE_OF_CONDUCT.md +74 -0
- data/skeletons/project/Gemfile +6 -0
- data/skeletons/project/README.md +31 -0
- data/skeletons/project/Rakefile +6 -0
- data/skeletons/project/application/commands/command.rb +31 -0
- data/skeletons/project/application/commands/scripts/script.sh +23 -0
- data/skeletons/project/application/options.rb +30 -0
- data/skeletons/project/config/autoupdate.rb +32 -0
- data/skeletons/project/config/logging.rb +19 -0
- data/skeletons/project/config/storage.rb +34 -0
- data/skeletons/project/config/userspace.rb +28 -0
- data/skeletons/project/config/version.rb +3 -0
- data/skeletons/project/default_user_configs/user_defaults.yml +6 -0
- data/skeletons/project/exe/executable +54 -0
- data/skeletons/project/hooks/default_action.rb +16 -0
- data/skeletons/project/hooks/first_run.rb +16 -0
- data/skeletons/project/hooks/post_execution.rb +14 -0
- data/skeletons/project/hooks/pre_execution.rb +14 -0
- data/skeletons/project/spec/spec_helper.rb +14 -0
- data/skeletons/project/spec/untitled_spec.rb +9 -0
- data/skeletons/project/untitled.gemspec +40 -0
- metadata +47 -2
@@ -0,0 +1,16 @@
|
|
1
|
+
Rbcli::Configurate.me do
|
2
|
+
####
|
3
|
+
# HOOKS
|
4
|
+
###
|
5
|
+
# Here you can set hooks that will be run at specified points in the execution chain.
|
6
|
+
# Global CLI options are made available to many of the hooks, but command parameters and lineitems are not.
|
7
|
+
###
|
8
|
+
|
9
|
+
## Default Action -- (Optional) -- The default code to execute when no subcommand is given.
|
10
|
+
# If not present, the help is shown (same as -h)
|
11
|
+
|
12
|
+
default_action do |opts|
|
13
|
+
puts "Hello, #{opts[:name]}."
|
14
|
+
puts "To see the help, use -h"
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
Rbcli::Configurate.me do
|
2
|
+
####
|
3
|
+
# HOOKS
|
4
|
+
###
|
5
|
+
# Here you can set hooks that will be run at specified points in the execution chain.
|
6
|
+
# Global CLI options are made available to many of the hooks, but command parameters and lineitems are not.
|
7
|
+
###
|
8
|
+
|
9
|
+
## First-Run Hook -- (Optional) -- Allows providing a block of code that executes the first time that the application is run on a given system.
|
10
|
+
# If `halt_after_running` is set to `true` then parsing will not continue after this code is executed. All subsequent runs will not execute this code.
|
11
|
+
# This feature is dependent on the Local State Storage system, and will not run without it.
|
12
|
+
|
13
|
+
first_run halt_after_running: false do
|
14
|
+
puts "This is the first time the mytool command is run! Don't forget to generate a config file with the `-g` option before continuing."
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
Rbcli::Configurate.me do
|
2
|
+
####
|
3
|
+
# HOOKS
|
4
|
+
###
|
5
|
+
# Here you can set hooks that will be run at specified points in the execution chain.
|
6
|
+
# Global CLI options are made available to many of the hooks, but command parameters and lineitems are not.
|
7
|
+
###
|
8
|
+
|
9
|
+
## Post-Execution Hook -- (Optional) -- Allows providing a block of code that runs _after_ all commands
|
10
|
+
|
11
|
+
post_hook do |opts|
|
12
|
+
puts 'This is a post-command hook. It executes after the command.'
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
Rbcli::Configurate.me do
|
2
|
+
####
|
3
|
+
# HOOKS
|
4
|
+
###
|
5
|
+
# Here you can set hooks that will be run at specified points in the execution chain.
|
6
|
+
# Global CLI options are made available to many of the hooks, but command parameters and lineitems are not.
|
7
|
+
###
|
8
|
+
|
9
|
+
## Pre-Execution Hook -- (Optional) -- Allows providing a block of code that runs _before_ all commands
|
10
|
+
|
11
|
+
pre_hook do |opts|
|
12
|
+
puts 'This is a pre-command hook. It executes before the command.'
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
require "bundler/setup"
|
2
|
+
require "untitled"
|
3
|
+
|
4
|
+
RSpec.configure do |config|
|
5
|
+
# Enable flags like --only-failures and --next-failure
|
6
|
+
config.example_status_persistence_file_path = ".rspec_status"
|
7
|
+
|
8
|
+
# Disable RSpec exposing methods globally on `Module` and `main`
|
9
|
+
config.disable_monkey_patching!
|
10
|
+
|
11
|
+
config.expect_with :rspec do |c|
|
12
|
+
c.syntax = :expect
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
|
2
|
+
config = File.expand_path("../config", __FILE__)
|
3
|
+
$LOAD_PATH.unshift(config) unless $LOAD_PATH.include?(config)
|
4
|
+
require 'config/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "<%= @vars[:cmdname] %>"
|
8
|
+
spec.version = Project::VERSION
|
9
|
+
spec.authors = ["TODO: Your Name Here"]
|
10
|
+
spec.email = ["TODO: Your Email Here"]
|
11
|
+
|
12
|
+
spec.summary = %q{TODO: Write a short summary, because RubyGems requires one.}
|
13
|
+
spec.description = %q{TODO: Write a longer description or delete this line.}
|
14
|
+
spec.homepage = "TODO: Put your gem's website or public repo URL here."
|
15
|
+
spec.license = nil
|
16
|
+
|
17
|
+
# Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
|
18
|
+
# to allow pushing to a single host or delete this section to allow pushing to any host.
|
19
|
+
if spec.respond_to?(:metadata)
|
20
|
+
spec.metadata["allowed_push_host"] = "TODO: Set to 'http://mygemserver.com'"
|
21
|
+
else
|
22
|
+
raise "RubyGems 2.0 or newer is required to protect against " \
|
23
|
+
"public gem pushes."
|
24
|
+
end
|
25
|
+
|
26
|
+
# Specify which files should be added to the gem when it is released.
|
27
|
+
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
28
|
+
spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
|
29
|
+
`git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
30
|
+
end
|
31
|
+
spec.bindir = "exe"
|
32
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
33
|
+
spec.require_paths = ["application", "config", "default_user_configs", "hooks"]
|
34
|
+
|
35
|
+
spec.add_development_dependency "bundler", "~> 1.16"
|
36
|
+
spec.add_development_dependency "rake", "~> 10.0"
|
37
|
+
spec.add_development_dependency "rspec", "~> 3.0"
|
38
|
+
|
39
|
+
spec.add_dependency "rbcli", ">= <%= @vars[:rbcli_version] %>"
|
40
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rbcli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrew Khoury
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-07-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -136,6 +136,20 @@ dependencies:
|
|
136
136
|
- - "~>"
|
137
137
|
- !ruby/object:Gem::Version
|
138
138
|
version: '4.9'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: mdless
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - "~>"
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '0.0'
|
146
|
+
type: :runtime
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - "~>"
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0.0'
|
139
153
|
description: RBCli is a framework to quickly develop command-line tools.
|
140
154
|
email:
|
141
155
|
- akhoury@live.com
|
@@ -158,6 +172,10 @@ files:
|
|
158
172
|
- examples/myscript.sh
|
159
173
|
- examples/mytool
|
160
174
|
- exe/rbcli
|
175
|
+
- lib/rbcli-tool.rb
|
176
|
+
- lib/rbcli-tool/erb_renderer.rb
|
177
|
+
- lib/rbcli-tool/mdless_fix.rb
|
178
|
+
- lib/rbcli-tool/project.rb
|
161
179
|
- lib/rbcli.rb
|
162
180
|
- lib/rbcli/autoupdate/autoupdate.rb
|
163
181
|
- lib/rbcli/autoupdate/gem_updater.rb
|
@@ -165,6 +183,7 @@ files:
|
|
165
183
|
- lib/rbcli/configuration/config.rb
|
166
184
|
- lib/rbcli/configuration/configurate.rb
|
167
185
|
- lib/rbcli/engine/command.rb
|
186
|
+
- lib/rbcli/engine/load_project.rb
|
168
187
|
- lib/rbcli/engine/parser.rb
|
169
188
|
- lib/rbcli/logging/logging.rb
|
170
189
|
- lib/rbcli/scriptwrapping/scriptwrapper.rb
|
@@ -178,6 +197,32 @@ files:
|
|
178
197
|
- lib/rbcli/util/trollop.rb
|
179
198
|
- lib/rbcli/version.rb
|
180
199
|
- rbcli.gemspec
|
200
|
+
- skeletons/micro/executable
|
201
|
+
- skeletons/mini/executable
|
202
|
+
- skeletons/project/.gitignore
|
203
|
+
- skeletons/project/.rbcli
|
204
|
+
- skeletons/project/.rspec
|
205
|
+
- skeletons/project/CODE_OF_CONDUCT.md
|
206
|
+
- skeletons/project/Gemfile
|
207
|
+
- skeletons/project/README.md
|
208
|
+
- skeletons/project/Rakefile
|
209
|
+
- skeletons/project/application/commands/command.rb
|
210
|
+
- skeletons/project/application/commands/scripts/script.sh
|
211
|
+
- skeletons/project/application/options.rb
|
212
|
+
- skeletons/project/config/autoupdate.rb
|
213
|
+
- skeletons/project/config/logging.rb
|
214
|
+
- skeletons/project/config/storage.rb
|
215
|
+
- skeletons/project/config/userspace.rb
|
216
|
+
- skeletons/project/config/version.rb
|
217
|
+
- skeletons/project/default_user_configs/user_defaults.yml
|
218
|
+
- skeletons/project/exe/executable
|
219
|
+
- skeletons/project/hooks/default_action.rb
|
220
|
+
- skeletons/project/hooks/first_run.rb
|
221
|
+
- skeletons/project/hooks/post_execution.rb
|
222
|
+
- skeletons/project/hooks/pre_execution.rb
|
223
|
+
- skeletons/project/spec/spec_helper.rb
|
224
|
+
- skeletons/project/spec/untitled_spec.rb
|
225
|
+
- skeletons/project/untitled.gemspec
|
181
226
|
homepage: https://github.com/akhoury6/rbcli
|
182
227
|
licenses:
|
183
228
|
- MIT
|