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



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

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 <<-EOS
Please add following code to your ~/.bashrc if necessary.

# enable seis_ruby completion.
if [ -f #{COMPLETION_FILE} ]; then
  source #{COMPLETION_FILE}
fi
  EOS
end

#replObject



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

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

#versionObject



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

def version
  puts ::SeisRuby::VERSION
end

#yamlize(uri) ⇒ Object



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

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