Class: EhbrsRubyUtils::Vg::Wii::GameFile
- Inherits:
-
Pathname
- Object
- Pathname
- EhbrsRubyUtils::Vg::Wii::GameFile
- Defined in:
- lib/ehbrs_ruby_utils/vg/wii/game_file.rb
Constant Summary collapse
- DISC_NUMBER_PATTERN =
/disc.?(\d)/i.freeze
- FORMAT =
::EacRubyUtils::CustomFormat.new( b: :basename, d: :dirname, D: :disc_number, e: :extname, i: :id6, m: :normalized_disc_name, n: :disc_name, N: :nintendont_basename, s: :sanitized_disc_name, t: :database_title, T: :disc_type )
Instance Method Summary collapse
- #database_title ⇒ Object
- #disc_name ⇒ Object
- #disc_number ⇒ Object
- #disc_type ⇒ Object
- #format(string) ⇒ Object
- #id6 ⇒ Object
- #nintendont_basename ⇒ Object
- #normalized_disc_name ⇒ Object
- #sanitized_disc_name ⇒ Object
- #valid? ⇒ Boolean
- #wit_path ⇒ Object
Instance Method Details
#database_title ⇒ Object
27 28 29 |
# File 'lib/ehbrs_ruby_utils/vg/wii/game_file.rb', line 27 def database_title properties.fetch('DB title') end |
#disc_name ⇒ Object
31 32 33 |
# File 'lib/ehbrs_ruby_utils/vg/wii/game_file.rb', line 31 def disc_name properties.fetch('Disc name') end |
#disc_number ⇒ Object
35 36 37 |
# File 'lib/ehbrs_ruby_utils/vg/wii/game_file.rb', line 35 def disc_number DISC_NUMBER_PATTERN.if_match(basename.to_s, false) { |m| m[1].to_i }.if_present(1) end |
#disc_type ⇒ Object
39 40 41 |
# File 'lib/ehbrs_ruby_utils/vg/wii/game_file.rb', line 39 def disc_type properties.fetch('File & disc type/type') end |
#format(string) ⇒ Object
43 44 45 |
# File 'lib/ehbrs_ruby_utils/vg/wii/game_file.rb', line 43 def format(string) FORMAT.format(string).with(self) end |
#id6 ⇒ Object
56 57 58 |
# File 'lib/ehbrs_ruby_utils/vg/wii/game_file.rb', line 56 def id6 properties.fetch('Disc & part IDs/disc') end |
#nintendont_basename ⇒ Object
51 52 53 54 |
# File 'lib/ehbrs_ruby_utils/vg/wii/game_file.rb', line 51 def nintendont_basename n = disc_number n == 1 ? 'game' : "disc#{n}" end |
#normalized_disc_name ⇒ Object
47 48 49 |
# File 'lib/ehbrs_ruby_utils/vg/wii/game_file.rb', line 47 def normalized_disc_name sanitized_disc_name.downcase end |
#sanitized_disc_name ⇒ Object
60 61 62 |
# File 'lib/ehbrs_ruby_utils/vg/wii/game_file.rb', line 60 def sanitized_disc_name ::ActiveSupport::Inflector.transliterate(disc_name).gsub(/[^0-9a-z ]/i, '') end |
#valid? ⇒ Boolean
64 65 66 |
# File 'lib/ehbrs_ruby_utils/vg/wii/game_file.rb', line 64 def valid? properties.present? end |
#wit_path ⇒ Object
68 69 70 |
# File 'lib/ehbrs_ruby_utils/vg/wii/game_file.rb', line 68 def wit_path ::EhbrsRubyUtils::Vg::Wii::Wit::Path.new(disc_type, self) end |