Class: SeisRuby::Application

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

Constant Summary collapse

COMMAND =
'seis_ruby'
COMPLETION_FILE =
File.join(ENV['HOME'], ".config", COMMAND, "completion.bash")

Instance Method Summary collapse

Instance Method Details

#generate_completionObject



28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/seis_ruby/application.rb', line 28

def generate_completion
  FileUtils.mkdir_p(File.dirname(COMPLETION_FILE))
  FileUtils.mv(COMPLETION_FILE, "#{COMPLETION_FILE}.#{Time.now.ymdhms}.bak") if File.exist?(COMPLETION_FILE)
  File.write(COMPLETION_FILE, completion_function_str())

  puts "Please add following code to your ~/.bashrc if necessary.\n\n# enable seis_ruby completion.\nif [ -f \#{COMPLETION_FILE} ]; then\n  source \#{COMPLETION_FILE}\nfi\n  EOS\nend\n"

#replObject



12
13
14
15
16
17
18
19
20
# File 'lib/seis_ruby/application.rb', line 12

def repl
  repl_hook()

  Pry.start(
      ::SeisRuby,
      prompt: [
              lambda{|obj, nest_level, pry| "[#{pry.input_array.size}] #{obj}:#{nest_level}> "},
              lambda{|obj, nest_level, pry| "[#{pry.input_array.size}] #{obj}:#{nest_level}* "}])
end

#versionObject



44
45
46
# File 'lib/seis_ruby/application.rb', line 44

def version
  puts ::SeisRuby::VERSION
end

#yamlize(uri) ⇒ Object



23
24
25
# File 'lib/seis_ruby/application.rb', line 23

def yamlize(uri)
  puts YAML.dump(::SeisRuby.load_file(uri))
end