Class: Wisco::CLI

Inherits:
Thor
  • Object
show all
Defined in:
lib/wisco.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.exit_on_failure?Boolean

Returns:

  • (Boolean)


34
35
36
# File 'lib/wisco.rb', line 34

def self.exit_on_failure?
  true
end

.start(given_args = ARGV, config = {}) ⇒ Object

Rewrite ‘wisco <command> –help` → `wisco help <command>` so Thor shows per-command help instead of treating –help as a positional argument.



40
41
42
43
44
45
46
47
48
# File 'lib/wisco.rb', line 40

def self.start(given_args = ARGV, config = {})
  if given_args.length >= 2 &&
     (given_args.include?('--help') || given_args.include?('-h')) &&
     !given_args.first.start_with?('-')
    super(['help', given_args.first], config)
  else
    super
  end
end

Instance Method Details

#exec(path_arg, target_dir = nil) ⇒ Object



102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
# File 'lib/wisco.rb', line 102

def exec(path_arg, target_dir = nil)
  Wisco::Commands::Exec.run(
    path_arg,
    target_dir || Dir.pwd,
    input:                  options[:input],
    pagination:             options[:pagination],
    verbose:                options[:verbose],
    extended:               options[:extended],
    closure:                options[:closure],
    config_fields:          options[:config_fields],
    continue:               options[:continue],
    extended_input_schema:  options[:extended_input_schema],
    extended_output_schema: options[:extended_output_schema],
    debug:                  options[:debug]
  )
end

#fixtures(path_arg, target_dir = nil) ⇒ Object



131
132
133
134
135
136
137
138
# File 'lib/wisco.rb', line 131

def fixtures(path_arg, target_dir = nil)
  Wisco::Commands::Fixtures.run(
    path_arg,
    target_dir || Dir.pwd,
    overwrite: options[:overwrite],
    debug:     options[:debug]
  )
end

#init(path = nil) ⇒ Object



59
60
61
# File 'lib/wisco.rb', line 59

def init(path = nil)
  Wisco::Commands::Init.run(path || Dir.pwd, profile: options[:profile])
end

#list(subcommand = nil, path = nil) ⇒ Object



72
73
74
75
76
77
78
# File 'lib/wisco.rb', line 72

def list(subcommand = nil, path = nil)
  if subcommand&.match?(%r{^[./~\\]|^[A-Za-z]:[/\\]})
    path = subcommand
    subcommand = nil
  end
  Wisco::Commands::List.run(subcommand, path || Dir.pwd, sort: options[:sort])
end

#pull(target_dir = nil) ⇒ Object



176
177
178
179
180
181
182
183
# File 'lib/wisco.rb', line 176

def pull(target_dir = nil)
  Wisco::Commands::Pull.run(
    target_dir || Dir.pwd,
    what:  options[:what],
    title: options[:title],
    debug: options[:debug]
  )
end

#push(target_dir = nil) ⇒ Object



151
152
153
154
155
156
157
158
159
160
# File 'lib/wisco.rb', line 151

def push(target_dir = nil)
  Wisco::Commands::Push.run(
    target_dir || Dir.pwd,
    title:   options[:title],
    notes:   options[:notes],
    folder:  options[:folder],
    verbose: options[:verbose],
    debug:   options[:debug]
  )
end

#schema(input_file, target_dir = nil) ⇒ Object



219
220
221
222
223
224
225
226
227
228
229
# File 'lib/wisco.rb', line 219

def schema(input_file, target_dir = nil)
  Wisco::Commands::Schema.run(
    input_file,
    target_dir || Dir.pwd,
    format:       options[:format],
    ruby_options: options[:ruby_options],
    col_sep:      options[:col_sep],
    output:       options[:save],
    debug:        options[:debug]
  )
end

#versionObject



52
53
54
# File 'lib/wisco.rb', line 52

def version
  puts "#{DISPLAY_NAME} v#{VERSION}"
end