Class: Rcfiles::Rcfiles

Inherits:
Object
  • Object
show all
Defined in:
lib/rcfiles/class/misc.rb,
lib/rcfiles/class/run.rb,
lib/rcfiles/class/reset.rb,
lib/rcfiles/class/colours.rb,
lib/rcfiles/class/initialize.rb

Overview

Rcfiles::Rcfiles

Instance Method Summary collapse

Constructor Details

#initialize(i = ARGV, run_already = true) ⇒ Rcfiles

#

initialize

#


14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# File 'lib/rcfiles/class/initialize.rb', line 14

def initialize(
    i           = ARGV,
    run_already = true
  )
  register_sigint
  reset
  set_commandline_arguments(i)
  if i
    set_generate_this(i)
  end
  # ======================================================================= #
  # === Handle blocks next
  # ======================================================================= #
  if block_given?
    yielded = yield
    if yielded.is_a? Hash
      if yielded.has_key? :be_verbose
        @be_verbose = yielded.delete(:be_verbose)
      end
      if yielded.has_key? :use_colours
        use_colours = yielded.delete(:use_colours)
        if use_colours == false
          disable_colours
        end
      end
    else # else it is not a Hash
      case yielded
      # =================================================================== #
      # === :initialize_main_hash
      # =================================================================== #
      when :initialize_main_hash
        initialize_main_hash
      # =================================================================== #
      # === :disable_colours
      #
      # The block-argument :disable_colours will disable
      # colours for the current run.
      # =================================================================== #
      when :disable_colours,
           :no_colours,
           :toggle,
           :c
        disable_colours
      # === :be_quiet
      when :be_quiet
        @be_verbose = false
      end
    end
  end
  run if run_already
end

Instance Method Details

#check_whether_rcfiles_directory_exists(i = @create_rcfiles_where) ⇒ Object

#

check_whether_rcfiles_directory_exists

This method will check whether the rcfiles-directory exists. If it does not, then we will create these directories.

#


127
128
129
130
131
132
133
# File 'lib/rcfiles/class/misc.rb', line 127

def check_whether_rcfiles_directory_exists(
    i = @create_rcfiles_where
  )
  unless File.directory? i
    mkdir(i)
  end
end

#clear_datasetObject

#

clear_dataset

#


241
242
243
# File 'lib/rcfiles/class/misc.rb', line 241

def clear_dataset # Use this method to clear our main dataset.
  @dataset = [] # Our main Array - it will contain entries such as "lang.yml".
end

#create_file(i) ⇒ Object

#

create_file

#


77
78
79
80
# File 'lib/rcfiles/class/misc.rb', line 77

def create_file(i) # This will create a file.
  opnn; e "Now creating the file `#{sfile(i)}`."
  FileUtils.touch(i)
end

#determine_rc_file(i) ⇒ Object

#

determine_rc_file

#


178
179
180
# File 'lib/rcfiles/class/misc.rb', line 178

def determine_rc_file(i) 
  "#{@create_rcfiles_where}#{File.basename(i).sub(/\.yml$/,'')}_rc".dup
end

#do_be_silentObject

#

do_be_silent

#


117
118
119
# File 'lib/rcfiles/class/misc.rb', line 117

def do_be_silent
  @be_verbose = false
end

#do_not_use_quotesObject Also known as: disable_quotes

#

do_not_use_quotes

#


28
29
30
# File 'lib/rcfiles/class/misc.rb', line 28

def do_not_use_quotes
  ::Rcfiles.use_quotes = false
end

#e(i = '') ⇒ Object

#

e (e tag)

#


138
139
140
# File 'lib/rcfiles/class/misc.rb', line 138

def e(i = '')
  ::Rcfiles.e(i)
end

#generate_custom_roebe_rcfilesObject

#

generate_custom_roebe_rcfiles

#


234
235
236
# File 'lib/rcfiles/class/misc.rb', line 234

def generate_custom_roebe_rcfiles
  ::Rcfiles.generate_custom_roebe_rcfiles
end

#generate_ls_colours_rcfileObject

#

generate_ls_colours_rcfile

#


227
228
229
# File 'lib/rcfiles/class/misc.rb', line 227

def generate_ls_colours_rcfile
  ::Rcfiles.generate_ls_colours_rcfile
end

#generate_ps1_rcfileObject

#

generate_ps1_rcfile

#


220
221
222
# File 'lib/rcfiles/class/misc.rb', line 220

def generate_ps1_rcfile
  ::Rcfiles.generate_ps1_rcfile
end

#generate_the_most_important_rcfilesObject

#

generate_the_most_important_rcfiles

#


260
261
262
# File 'lib/rcfiles/class/misc.rb', line 260

def generate_the_most_important_rcfiles
  ::Rcfiles.generate_the_most_important_rcfiles
end

#get_files_from(i = Dir.pwd) ⇒ Object Also known as: get_files

#

get_files_from

#


92
93
94
# File 'lib/rcfiles/class/misc.rb', line 92

def get_files_from(i = Dir.pwd)
  return Dir["#{i}*.yml"]
end

#mkdir(i) ⇒ Object Also known as: create_directory

#

mkdir

#


56
57
58
# File 'lib/rcfiles/class/misc.rb', line 56

def mkdir(i)
  FileUtils.mkdir(i)
end

#opnn(i = NAMESPACE) ⇒ Object

#

opnn

#


248
249
250
251
252
253
254
255
# File 'lib/rcfiles/class/misc.rb', line 248

def opnn(
    i = NAMESPACE
  )
  if i.is_a? String
    i = { namespace: i }
  end
  Opn.opn(i) {{ use_colours: use_colours? }}
end

#rds(i) ⇒ Object

#

rds

#


110
111
112
# File 'lib/rcfiles/class/misc.rb', line 110

def rds(i)
  i.squeeze('/')
end

#register_sigintObject

#

register_sigint

#


49
50
51
# File 'lib/rcfiles/class/misc.rb', line 49

def register_sigint
  Signal.trap('SIGINT') { exit }
end

#remove_file(i) ⇒ Object

#

remove_file

#


70
71
72
# File 'lib/rcfiles/class/misc.rb', line 70

def remove_file(i) # rm tag, remove tag.
  FileUtils.rm(i) if File.exist?(i)
end

#remove_newlines(i) ⇒ Object

#

remove_newlines

#


63
64
65
# File 'lib/rcfiles/class/misc.rb', line 63

def remove_newlines(i)
  ::Rcfiles.remove_newlines(i)
end

#replace_newlines(i, replace_with_this_character = ':') ⇒ Object

#

replace_newlines

#


202
203
204
205
206
207
208
209
210
211
212
213
214
215
# File 'lib/rcfiles/class/misc.rb', line 202

def replace_newlines(
    i, replace_with_this_character = ':'
  )
  if replace_with_this_character.is_a? Hash
    if replace_with_this_character.has_key? :with
      replace_with_this_character = replace_with_this_character[:with]
    end
  end
  return i.gsub(/ /, replace_with_this_character).
           gsub(/\n/, replace_with_this_character).
           gsub(/#{replace_with_this_character}#{replace_with_this_character}/,
             replace_with_this_character
           )
end

#resetObject

#

reset (reset tag)

#


14
15
16
17
18
19
20
21
22
23
24
# File 'lib/rcfiles/class/reset.rb', line 14

def reset
  # ======================================================================= #
  # By default this class will be verbose, aka it will "output its
  # findings to the end user".
  # ======================================================================= #
  @be_verbose = true
  set_create_rcfiles_where # Define where to store the rc-files.
  set_current_date
  clear_dataset
  set_dataset
end

#return_standard_header(which_file = '') ⇒ Object Also known as: add_header

#

return_standard_header

This adds a standard header to our RC-File in question.

The input argument should be the name of the rc-file at hand.

#


103
104
105
# File 'lib/rcfiles/class/misc.rb', line 103

def return_standard_header(which_file = '')
  ::Rcfiles.return_standard_header(which_file)
end

#runObject

#

run (run tag)

#


12
13
14
15
# File 'lib/rcfiles/class/run.rb', line 12

def run
  check_whether_rcfiles_directory_exists
  generate_the_most_important_rcfiles
end

#sdir(i) ⇒ Object

#

sdir

#


26
27
28
# File 'lib/rcfiles/class/colours.rb', line 26

def sdir(i)
  return ::Rcfiles.sdir(i) if use_colours?
end

#set_commandline_arguments(i) ⇒ Object

#

set_commandline_arguments

#


42
43
44
# File 'lib/rcfiles/class/misc.rb', line 42

def set_commandline_arguments(i)
  @commandline_arguments = [i].flatten.compact
end

#set_create_rcfiles_where(i = CREATE_RCFILES_WHERE) ⇒ Object Also known as: create_here

#

set_create_rcfiles_where

Where to store the rc-files. Usually this will be at /AUTOGENERATED but we need a way to also specify other target-directories, so this method has to exist.

Invoke this like so:

_.create_here :my_home_directory
#


276
277
278
279
280
281
282
283
284
285
286
# File 'lib/rcfiles/class/misc.rb', line 276

def set_create_rcfiles_where(
    i = CREATE_RCFILES_WHERE
  )
  case i
  when :my_home_directory,
       :home
    i = AUTOGENERATED_RC_FILES
  end
  i << '/' unless i.end_with? '/' # Ensure trailing '/' token.
  @create_rcfiles_where = i
end

#set_current_dateObject

#

set_current_date

#


85
86
87
# File 'lib/rcfiles/class/misc.rb', line 85

def set_current_date
  @current_date = Time.now.strftime '%d.%m.%Y'
end

#set_dataset(i = nil) ⇒ Object

#

set_dataset

Determine the dataset, that is, the yaml files to be used, here.

#


187
188
189
190
191
192
193
194
195
196
197
# File 'lib/rcfiles/class/misc.rb', line 187

def set_dataset(
    i = nil
  )
  if i
    if i.is_a? Array
      i.flatten!
      i.uniq!
    end
  end
  @dataset = i
end

#set_generate_this(i = :default) ⇒ Object

#

set_generate_this

The default setting is to generate all the various rc-files.

#


147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
# File 'lib/rcfiles/class/misc.rb', line 147

def set_generate_this(i = :default)
  if i.is_a? Array
    i = i.first
  elsif i.is_a? Hash
    if i.has_key? :store_at
      set_create_rcfiles_where(i.delete(:store_at))
      i = :default 
    end
  end
  case i
  # ======================================================================= #
  # === cd_aliases
  # ======================================================================= #
  when 'cd_aliases',
       :cd_aliases
    set_dataset(
      ::Rcfiles.cd_aliases?
    )
  when :default # :default is an alias towards :all
    i = :all # This is the default.
  else
    # if File.exist? i.to_s
    # pass through for now
    # end
  end
  @generate_this = i
end

#sfancy(i) ⇒ Object

#

sfancy

#


41
42
43
44
# File 'lib/rcfiles/class/colours.rb', line 41

def sfancy(i)
  return ::Rcfiles.sfancy(i) if use_colours?
  i
end

#sfile(i) ⇒ Object

#

sfile

#


49
50
51
52
# File 'lib/rcfiles/class/colours.rb', line 49

def sfile(i)
  return ::Rcfiles.sfile(i) if use_colours?
  i
end

#simp(i) ⇒ Object

#

simp

#


33
34
35
36
# File 'lib/rcfiles/class/colours.rb', line 33

def simp(i)
  return ::Rcfiles.simp(i) if use_colours?
  i
end

#store_what_into(store_this_data, where) ⇒ Object

#

store_what_into

#


291
292
293
294
295
296
297
298
# File 'lib/rcfiles/class/misc.rb', line 291

def store_what_into(
    store_this_data, where
  )
  if @be_verbose
    opnn; e "Storing into -> #{sfile(where)}."
  end
  write_what_into_file(store_this_data.chomp, where)
end

#use_colours?Boolean

#

use_colours?

We delegate to the toplevel method in order to determine whether the Rcfiles project will use colours or whether it will not.

#

Returns:

  • (Boolean)


19
20
21
# File 'lib/rcfiles/class/colours.rb', line 19

def use_colours?
  ::Rcfiles.use_colours?
end

#use_quotes?Boolean

#

use_quotes?

#

Returns:

  • (Boolean)


35
36
37
# File 'lib/rcfiles/class/misc.rb', line 35

def use_quotes?
  ::Rcfiles.use_quotes?
end