Class: TVShowRenamer::TVShowFile
- Inherits:
-
Object
- Object
- TVShowRenamer::TVShowFile
- Defined in:
- lib/tvshow_renamer/tvshow_file.rb
Instance Attribute Summary collapse
-
#detected_episode ⇒ Object
readonly
Returns the value of attribute detected_episode.
-
#detected_season ⇒ Object
readonly
Returns the value of attribute detected_season.
-
#episode ⇒ Object
Returns the value of attribute episode.
-
#filename ⇒ Object
readonly
Returns the value of attribute filename.
-
#season ⇒ Object
Returns the value of attribute season.
Instance Method Summary collapse
-
#basename ⇒ Object
Lazy getters.
- #detect_season_and_episode ⇒ Object
- #dirname ⇒ Object
- #extname ⇒ Object
-
#initialize(options = {}, filename = nil) ⇒ TVShowFile
constructor
A new instance of TVShowFile.
- #new_basename ⇒ Object
- #new_filename ⇒ Object
-
#options_modified ⇒ Object
Active methods.
Constructor Details
#initialize(options = {}, filename = nil) ⇒ TVShowFile
Returns a new instance of TVShowFile.
5 6 7 8 |
# File 'lib/tvshow_renamer/tvshow_file.rb', line 5 def initialize( = {}, filename = nil) = @filename = filename end |
Instance Attribute Details
#detected_episode ⇒ Object (readonly)
Returns the value of attribute detected_episode.
3 4 5 |
# File 'lib/tvshow_renamer/tvshow_file.rb', line 3 def detected_episode @detected_episode end |
#detected_season ⇒ Object (readonly)
Returns the value of attribute detected_season.
3 4 5 |
# File 'lib/tvshow_renamer/tvshow_file.rb', line 3 def detected_season @detected_season end |
#episode ⇒ Object
Returns the value of attribute episode.
3 4 5 |
# File 'lib/tvshow_renamer/tvshow_file.rb', line 3 def episode @episode end |
#filename ⇒ Object (readonly)
Returns the value of attribute filename.
3 4 5 |
# File 'lib/tvshow_renamer/tvshow_file.rb', line 3 def filename @filename end |
#season ⇒ Object
Returns the value of attribute season.
3 4 5 |
# File 'lib/tvshow_renamer/tvshow_file.rb', line 3 def season @season end |
Instance Method Details
#basename ⇒ Object
Lazy getters
24 25 26 |
# File 'lib/tvshow_renamer/tvshow_file.rb', line 24 def basename @basename ||= File.basename(@filename) end |
#detect_season_and_episode ⇒ Object
57 58 59 60 61 62 63 64 65 66 |
# File 'lib/tvshow_renamer/tvshow_file.rb', line 57 def detect_season_and_episode regex = /(?<season>\d{1,2})(e|x|\.)?(?<episode>\d{2,})/i match = regex.match basename if match && match[:season] && match[:episode] @detected_season = match[:season].to_i send :season=, @detected_season @detected_episode = match[:episode].to_i send :episode=, @detected_episode end end |
#dirname ⇒ Object
28 29 30 |
# File 'lib/tvshow_renamer/tvshow_file.rb', line 28 def dirname @dirname ||= File.dirname(@filename) end |
#extname ⇒ Object
32 33 34 |
# File 'lib/tvshow_renamer/tvshow_file.rb', line 32 def extname @extname ||= File.extname(@filename) end |
#new_basename ⇒ Object
36 37 38 39 40 41 42 43 44 45 |
# File 'lib/tvshow_renamer/tvshow_file.rb', line 36 def new_basename unless @new_basename @new_basename = [:format].gsub('$n', [:tvshow_name]) .gsub('$s', '%02i' % @season) .gsub('$e', '%02i' % @episode) .concat(extname) @new_filename = nil end @new_basename end |
#new_filename ⇒ Object
47 48 49 |
# File 'lib/tvshow_renamer/tvshow_file.rb', line 47 def new_filename @new_filename ||= File.join dirname, new_basename end |
#options_modified ⇒ Object
Active methods
53 54 55 |
# File 'lib/tvshow_renamer/tvshow_file.rb', line 53 def @new_basename = @new_filename = nil end |