Class: GamesAndRpgParadise::CreateGamesWebpage

Inherits:
Base
  • Object
show all
Defined in:
lib/games_and_rpg_paradise/utility_scripts/create_games_webpage/create_games_webpage.rb

Overview

GamesAndRpgParadise::CreateGamesWebpage

Constant Summary

Constants included from Base::Extensions::Colours

Base::Extensions::Colours::ARRAY_AVAILABLE_KONSOLE_COLOURS

Constants included from CommonExtensions

GamesAndRpgParadise::CommonExtensions::CONTROL_C_CODE, GamesAndRpgParadise::CommonExtensions::N

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Base::Extensions::Colours

ecomment, #efancy, #eparse, #forestgreen, #gold, #grey, #lightblue, #mediumseagreen, #mediumslateblue, #peru, #rev, sdir, sfancy, #sfile, simp, #teal, #yellow

Methods included from Base::Extensions::CommandlineArguments

#commandline_arguments?, #filter_away_commandline_arguments, #first_argument?, #first_non_hyphened_argument?, #set_commandline_arguments

Methods included from CommonExtensions

#cat, #cd, #cliner, #copy_file, #delete, #dirname_but_retains_the_trailing_slash, #disable_colours, #ensure_that_the_log_directory_exists, #esystem, #get_user_input, #infer_the_namespace, #is_on_roebe?, #log_dir?, #mkdir, #mkdir_then_cd_into_it, #mv, #namespace?, #opne, #opnn, #project_base_directory?, #project_image_directory?, #project_yaml_directory?, #rds, #register_sigint, #remove_this_directory, #rename_file, #reset_the_internal_hash, #return_pwd, #return_today, #touch_file, #wrap, #write_what_into

Constructor Details

#initialize(commandline_arguments = nil, run_already = true) ⇒ CreateGamesWebpage

#

initialize

#


26
27
28
29
30
31
32
33
34
35
# File 'lib/games_and_rpg_paradise/utility_scripts/create_games_webpage/create_games_webpage.rb', line 26

def initialize(
    commandline_arguments = nil,
    run_already           = true
  )
  reset
  set_commandline_arguments(
    commandline_arguments
  )
  run if run_already
end

Class Method Details

.[](i = ARGV) ⇒ Object

#

GamesAndRpgParadise::CreateGamesWebpage[]

#


122
123
124
# File 'lib/games_and_rpg_paradise/utility_scripts/create_games_webpage/create_games_webpage.rb', line 122

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

Instance Method Details

#linerObject

#

liner

#


52
53
54
# File 'lib/games_and_rpg_paradise/utility_scripts/create_games_webpage/create_games_webpage.rb', line 52

def liner
  '-'*80+"<br>\n"
end

#resetObject

#

reset (reset tag)

#


40
41
42
43
44
45
46
47
# File 'lib/games_and_rpg_paradise/utility_scripts/create_games_webpage/create_games_webpage.rb', line 40

def reset
  super()
  infer_the_namespace
  # ======================================================================= #
  # === @hash_containing_all_local_files
  # ======================================================================= #
  @hash_containing_all_local_files = {}
end

#runObject

#

run (run tag)

#


59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
# File 'lib/games_and_rpg_paradise/utility_scripts/create_games_webpage/create_games_webpage.rb', line 59

def run
  require 'cyberweb'
  target = return_pwd
  _ = Dir[target+'*'].reject {|entry|
    entry.include?('index.html') 
  }
  opnn; e 'Working through '+target+'.'
  _.map! {|entry|
    original_entry = entry.dup
    if entry.include?('/')
      entry = File.basename(entry)
    end
    entry = entry.delete_suffix('.bz2').
                  delete_suffix('.xz').
                  delete_suffix('.tar').
                  delete_suffix('.exe').
                  delete_suffix('.zip').
                  delete_suffix('.rare').
                  delete_suffix('.bin')
    @hash_containing_all_local_files[entry] = original_entry
    entry
  }
  _.uniq!
  result = ''.dup
  _.each_with_index {|entry, index| index += 1
    file_size = File.size(
      @hash_containing_all_local_files[entry]
    )
    result << '<b>('+(index).to_s+')</b> '+
              HtmlTags.a(entry)+
              ' (File size: <b>'+
              (file_size / 1000.0 / 1000.0).round(1).to_s+
              ' mb</b>)'+
              "<br>\n"
    result << liner
  }
  dataset = Cyberweb.html_template(
    body:            result,
    css_style:       '
    a:link {
      text-decoration: none;
      font-weight:     bold;
    }
    a:hover {
      text-decoration: underline;
      font-weight:     bold;
    }
    ',
    body_css_style: '
    font-size: 1.2em;
    ',
    title:          'Games Collection'
  ).to_s
  require 'save_file'
  this_file = 'index.html'
  ::SaveFile.write_what_into(dataset, this_file)
  require 'open'
  Open.in_browser(this_file)
end