Class: Roebe::DoneAndOpen

Inherits:
Base show all
Defined in:
lib/roebe/classes/done_and_open.rb

Overview

Roebe::DoneAndOpen

Constant Summary

Constants inherited from Base

Base::COLOURS, Base::HOME_DIRECTORY_OF_USER_X, Base::N, Base::NAMESPACE

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Base

#actions, #append_this_onto_that_file, #append_what_into, #be_silent, #be_verbose?, #beautiful_url, #burlywood, #call_next, #chdir, #cheerful_guy, #cliner, #complex_esystem, #convert_global_env, #copy_directory, #copy_file, #cornflowerblue, #create_directory, #crimson, #current_month?, #current_time?, #current_year?, #cyan, #darkcyan, #darkgreen, #darkkhaki, #darkslateblue, #deeppink, #delete_symlink, #do_not_use_the_base_colours, #do_use_the_base_colours, #e, #ecomment, #editor_to_use?, #efancy, #eimp, #emphasis, #ensure_main_encoding, #ensure_utf_encoding, #eparse, #erev, #esteelblue, #etomato, #ewarn, #exit_program, #firebrick, #get_current_day, #get_current_month, #get_files_and_directories, #get_files_from, #get_german_name_for_this_weekday, #gold, #green, #grey, #hh_mm_ss, #hh_mm_ss_day_month_year, #home_dir?, #home_directory_of_user_x?, #infer_the_namespace, #internal_hash?, #is_a_directory?, #is_a_file?, #is_a_jpg_file?, #is_an_image_file?, #is_archive?, #is_audio_file?, #is_in_studium_dir?, #is_multimedia_file?, #is_on_roebe?, #is_on_windows?, #is_studium_available?, #is_symlink?, #is_this_a_ruby_file?, #is_video_file?, #iso_encoding?, #le, #left_colour, #lightblue, #lightgreen, #lightseagreen, #lightsteelblue, #lime, #limegreen, #localhost_to_data, #log_directory?, #main_encoding?, #mediumorchid, #mediumpurple, #mediumseagreen, #mediumslateblue, #mediumspringgreen, #mediumturquoise, #mkdir_p, #mv, #n_days_in_this_month, #n_pages_in_this_pdf_file?, #namespace?, #no_file_exists_at, #ogrey, #olive, #olivedrab, #opne, #opnesystem, #opnn, #orange, #orchid, #orev, #palegoldenrod, #palevioletred, #pink, #powderblue, #programs_dir?, #project_base_dir?, #random_html_colour, #rds, #read_file_in_iso_encoding, #read_file_via_the_default_encoding, #read_lines_via_iso_encoding, #readlines_with_main_encoding, #red, #register_sigint, #remove, #remove_directory, #remove_file, #rename_kde_konsole_tab, #replace_localhost_with_data, #report_pwd, #require_rescue, #reset_the_internal_hash, #return_all_directories_from_this_directory, #return_all_files_from_this_directory, #return_current_directory, #return_dd_mm_yyyy, #return_file_or_directory_of, #return_files_from_pwd, #return_last_part_of_the_current_directory, #return_utc, #rev, #right_arrow?, #right_colour, #roebe_log_directory?, #rosybrown, #royalblue, #ruby_base_directory?, #run_in_background, #run_rcfiles_then_run_ata_via_qdbus, #sandybrown, #sdir, #seagreen, #set_be_verbose, #set_xorg_buffer, #sfancy, #sfile, #show_help, #silent_redirection?, #simp, #simple_esystem, #skyblue, #slateblue, #slategray, #springgreen, #steelblue, #string_italic, #swarn, #symlink, #teal, #temp_dir?, #to_camelcase, #to_counted_hash, #tomato, #touch, #try_to_require_the_beautiful_url_gem, #try_to_require_the_html_template, #try_to_require_the_open_gem, #try_to_require_the_program_information_gem, #try_to_require_the_xorg_buffer, #use_colours?, #verbose_truth, #weekday?, #word_wrap, #write_what_into, #yellow

Methods included from Base::CommandlineArguments

#append_onto_the_commandline_arguments, #clear_commandline_arguments, #commandline_arguments?, #commandline_arguments_as_string?, #commandline_arguments_without_leading_hyphens?, #first_argument?, #first_argument_without_leading_hyphens?, #has_an_argument_been_passed?, #remove_hyphened_arguments_from_the_commandline_arguments, #return_commandline_arguments_with_leading_hyphens, #second_argument?, #set_commandline_arguments

Constructor Details

#initialize(work_on_these_files = ARGV, run_already = true) ⇒ DoneAndOpen

#

initialize

#


30
31
32
33
34
35
36
37
38
39
# File 'lib/roebe/classes/done_and_open.rb', line 30

def initialize(
    work_on_these_files = ARGV,
    run_already         = true
  )
  reset
  set_work_on_these_files(
    work_on_these_files
  )
  run if run_already
end

Class Method Details

.[](i = '') ⇒ Object

#

Roebe::DoneAndOpen[]

#


177
178
179
# File 'lib/roebe/classes/done_and_open.rb', line 177

def self.[](i = '')
  new(i)
end

Instance Method Details

#are_we_in_the_books_subdirectory?Boolean

#

are_we_in_the_books_subdirectory?

#

Returns:

  • (Boolean)


147
148
149
# File 'lib/roebe/classes/done_and_open.rb', line 147

def are_we_in_the_books_subdirectory?
  return_pwd.include? '/home/x/books/' # Hardcoded for now.
end

#open_in_browser(this_file) ⇒ Object

#

open_in_browser

#


90
91
92
# File 'lib/roebe/classes/done_and_open.rb', line 90

def open_in_browser(this_file)
  Open.in_browser(this_file)
end

#open_this_file_in_atril(i) ⇒ Object

#

open_this_file_in_atril

#


83
84
85
# File 'lib/roebe/classes/done_and_open.rb', line 83

def open_this_file_in_atril(i)
  esystem "atril #{i} &"
end

#open_this_file_in_evince(i) ⇒ Object

#

open_this_file_in_evince

#


76
77
78
# File 'lib/roebe/classes/done_and_open.rb', line 76

def open_this_file_in_evince(i)
  esystem "evince #{i} &"
end

#open_this_file_via_the_default_pdf_viewer(i) ⇒ Object

#

open_this_file_via_the_default_pdf_viewer

This method will open the .pdf file in the default pdf-viewer.

#


156
157
158
159
160
161
162
163
164
165
# File 'lib/roebe/classes/done_and_open.rb', line 156

def open_this_file_via_the_default_pdf_viewer(i)
  require 'pdf_paradise/constants/constants.rb'
  _ = PdfParadise.file_pdf_viewer?
  if File.exist? _
    use_this_pdf_viewer = File.read(_).strip
    esystem_colourized "#{use_this_pdf_viewer} #{i} &"
  else
    no_file_exists_at(_)
  end
end

#resetObject

#

reset (reset tag)

#


44
45
46
47
48
49
50
51
52
53
54
# File 'lib/roebe/classes/done_and_open.rb', line 44

def reset
  super()
  infer_the_namespace
  # ======================================================================= #
  # === @done
  #
  # This will carry an instance of class Done.
  # ======================================================================= #
  @done = nil
  try_to_require_the_open_gem
end

#runObject

#

run (run tag)

#


170
171
172
# File 'lib/roebe/classes/done_and_open.rb', line 170

def run
  work_on_all_the_given_input_files
end

#set_work_on_these_files(i = '') ⇒ Object

#

set_work_on_these_files

#


59
60
61
62
63
64
# File 'lib/roebe/classes/done_and_open.rb', line 59

def set_work_on_these_files(i = '')
  unless i.is_a? Array
    i = [i]
  end
  @work_on_these_files = i
end

#use_which_file?Boolean

#

use_which_file?

This will always refer to the first .pdf file only.

#

Returns:

  • (Boolean)


140
141
142
# File 'lib/roebe/classes/done_and_open.rb', line 140

def use_which_file?
  @done.use_which_file?
end

#work_on_all_the_given_input_filesObject

#

work_on_all_the_given_input_files

#


97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
# File 'lib/roebe/classes/done_and_open.rb', line 97

def work_on_all_the_given_input_files
  @work_on_these_files.each {|this_file|
    _ = this_file
    # ===================================================================== #
    # First make sure that the given input file also exists.
    # ===================================================================== #
    if File.exist? _
      # =================================================================== #
      # First modify that file by delegating towards class Ron.
      # =================================================================== #
      @done = ::Roebe::Done.new(_)
      # =================================================================== #
      # We could open it in the browser, but this is not always ideal,
      # so since as of November 2018, the class here will default in
      # opening the .pdf file in evince instead.
      # =================================================================== #
      # open_in_browser(@done.file_location?)
      # =================================================================== #
      open_this_file_via_the_default_pdf_viewer(
        @done.file_location?
      )
      # =================================================================== #
      # Next, if we are on roebe, and in the books-subdirectory, then
      # we will also assign this to be the main book .pdf. This allows
      # use to simply use "1st" on the commandline, to remove the first
      # page of the .pdf file at hand.
      # =================================================================== #
      if is_on_roebe? and are_we_in_the_books_subdirectory?
        require 'pdf_paradise/set_main_book.rb'
        PdfParadise::SetMainBook.new(@done.file_location?)
        run_rcfiles_then_run_ata_via_qdbus
      end
    else
      opne "No file called `#{sfancy(_)}` appears to exist."
    end
  }
end

#work_on_these_files?Boolean

#

work_on_these_files?

#

Returns:

  • (Boolean)


69
70
71
# File 'lib/roebe/classes/done_and_open.rb', line 69

def work_on_these_files?
  @work_on_these_files
end