Class: Fixnames::Option
- Inherits:
-
Object
- Object
- Fixnames::Option
- Defined in:
- lib/fixnames/option.rb
Constant Summary
- SETUP_FILTERS =
filters that MUST run early
[ :expunge ]
- FLAG_FILTERS =
filters that only accept a simple boolean on/off
[ :hack_and, :checksums, :banners, :brackets, :semicolon, :camelcase, :lowercase, :fix_dots, :fix_dashes ]
- CHAR_FILTERS =
filters that accept character ranges
[ :junkwords, :charstrip, :whitespace]
- DEFAULT_FILTER_ORDER =
standard order to apply the filters
[ SETUP_FILTERS, FLAG_FILTERS, CHAR_FILTERS ].flatten
- DEFAULT_DIR_GLOB =
'*'- DEFAULT_MENDSTR =
''- DEFAULT_WHITESPACE =
" \t_"- DEFAULT_BRACKET_CHARACTERS_OPEN =
'[({<'- DEFAULT_BRACKET_CHARACTERS_CLOSE =
'])}>'- DEFAULT_CHARSTRIP =
"[]{}'\",()+!~@#/\\"- DEFAULT_JUNKWORDS =
[ 'x264', 'hdtv', '2hd', '720p', 'dvdrip']
- DEFAULT_BANNER_TYPES =
[ 'xxx', 'dvdrip', 'dual_audio', 'xvid', 'h264', 'divx' ]
Class Method Summary (collapse)
-
+ (Object) mkopt(name, types, default_val)
Creates an option.
Instance Method Summary (collapse)
-
- (Array) banner_types
default: `DEFAULT_BANNER_TYPES`.
-
- ([TrueClass, FalseClass]) banners
default: `false`.
-
- (String) bracket_characters_close
default: `DEFAULT_BRACKET_CHARACTERS_CLOSE`.
-
- (String) bracket_characters_open
default: `DEFAULT_BRACKET_CHARACTERS_OPEN`.
-
- ([TrueClass, FalseClass]) brackets
default: `false`.
-
- ([TrueClass, FalseClass]) camelcase
default: `false`.
-
- (String) charstrip
default: `DEFAULT_CHARSTRIP`.
-
- ([TrueClass, FalseClass]) charstrip_allow_brackets
default: `false`.
-
- ([TrueClass, FalseClass]) checksums
default: `false`.
-
- (String) dir_glob
default: `DEFAULT_DIR_GLOB`.
-
- (String) expunge
default: `nil`.
-
- (Array) filter_order
default: `DEFAULT_FILTER_ORDER`.
-
- ([TrueClass, FalseClass]) fix_dashes
default: `false`.
-
- ([TrueClass, FalseClass]) fix_dots
default: `false`.
-
- ([TrueClass, FalseClass]) hack_and
default: `false`.
-
- (Array) junkwords
default: `DEFAULT_JUNKWORDS`.
-
- ([TrueClass, FalseClass]) lowercase
default: `false`.
-
- (String) mendstr
default: `DEFAULT_MENDSTR`.
-
- ([TrueClass, FalseClass]) nocolor
default: `false`.
-
- ([TrueClass, FalseClass]) pretend
default: `false`.
-
- ([TrueClass, FalseClass]) recursive
default: `false`.
-
- ([TrueClass, FalseClass]) semicolon
default: `false`.
-
- (Integer) verbose
default: `0`.
-
- (String) whitespace
default: `DEFAULT_WHITESPACE`.
Class Method Details
+ (Object) mkopt(name, types, default_val)
Creates an option
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 65 66 67 |
# File 'lib/fixnames/option.rb', line 36 def self.mkopt(name, types, default_val) types = [types] unless types.is_a?(Array) var = "@#{name}" define_method "valid_for_#{name}?" do |value| types.map do |type| value.is_a?(type) end.reduce(false) do |t,x| t || x end end define_method name do |*args| unless instance_variable_defined?(var) instance_variable_set(var, default_val) end if args.length == 1 unless send("valid_for_#{name}?", args[0]) raise "bad type for option" end instance_variable_set(var, args[0]) end instance_variable_get(var) end define_method "#{name}=" do |value| unless send("valid_for_#{name}?", value) raise "bad type for option" end instance_variable_set(var, value) end end |
Instance Method Details
- (Array) banner_types - (Array) banner_types(new_value) - (Array) banner_types=(new_value)
default: `DEFAULT_BANNER_TYPES`
The list of strings to find for removal in Filters#banners
139 |
# File 'lib/fixnames/option.rb', line 139 mkopt :banner_types, Array, DEFAULT_BANNER_TYPES |
- ([TrueClass, FalseClass]) banners - ([TrueClass, FalseClass]) banners(new_value) - ([TrueClass, FalseClass]) banners=(new_value)
Enables Filters#banners
default: `false`
109 |
# File 'lib/fixnames/option.rb', line 109 mkopt :banners, [TrueClass, FalseClass], false |
- (String) bracket_characters_close - (String) bracket_characters_close(new_value) - (String) bracket_characters_close=(new_value)
default: `DEFAULT_BRACKET_CHARACTERS_CLOSE`
What is considered a close bracket in things like #checksums or #brackets
152 |
# File 'lib/fixnames/option.rb', line 152 mkopt :bracket_characters_close, String, DEFAULT_BRACKET_CHARACTERS_CLOSE |
- (String) bracket_characters_open - (String) bracket_characters_open(new_value) - (String) bracket_characters_open=(new_value)
default: `DEFAULT_BRACKET_CHARACTERS_OPEN`
What is considered an open bracket in things like #checksums or #brackets
148 |
# File 'lib/fixnames/option.rb', line 148 mkopt :bracket_characters_open, String, DEFAULT_BRACKET_CHARACTERS_OPEN |
- ([TrueClass, FalseClass]) brackets - ([TrueClass, FalseClass]) brackets(new_value) - ([TrueClass, FalseClass]) brackets=(new_value)
Enables Filters#brackets
default: `false`
112 |
# File 'lib/fixnames/option.rb', line 112 mkopt :brackets, [TrueClass, FalseClass], false |
- ([TrueClass, FalseClass]) camelcase - ([TrueClass, FalseClass]) camelcase(new_value) - ([TrueClass, FalseClass]) camelcase=(new_value)
Enables Filters#camelcase
default: `false`
124 |
# File 'lib/fixnames/option.rb', line 124 mkopt :camelcase, [TrueClass, FalseClass], false |
- (String) charstrip - (String) charstrip(new_value) - (String) charstrip=(new_value)
Enables Filters#charstrip if non-nil
default: `DEFAULT_CHARSTRIP`
133 |
# File 'lib/fixnames/option.rb', line 133 mkopt :charstrip, String, DEFAULT_CHARSTRIP |
- ([TrueClass, FalseClass]) charstrip_allow_brackets - ([TrueClass, FalseClass]) charstrip_allow_brackets(new_value) - ([TrueClass, FalseClass]) charstrip_allow_brackets=(new_value)
default: `false`
Set to true to have Filters#charstrip ignore its default behavior and allow the brackets through. This is potentially ignored if you change #charstrip.
144 |
# File 'lib/fixnames/option.rb', line 144 mkopt :charstrip_allow_brackets, [TrueClass, FalseClass], false |
- ([TrueClass, FalseClass]) checksums - ([TrueClass, FalseClass]) checksums(new_value) - ([TrueClass, FalseClass]) checksums=(new_value)
Enables Filters#checksums
default: `false`
106 |
# File 'lib/fixnames/option.rb', line 106 mkopt :checksums, [TrueClass, FalseClass], false |
- (String) dir_glob - (String) dir_glob(new_value) - (String) dir_glob=(new_value)
default: `DEFAULT_DIR_GLOB`
When #recursive is set, use this pattern to glob each directory for files.
90 |
# File 'lib/fixnames/option.rb', line 90 mkopt :dir_glob, String, DEFAULT_DIR_GLOB |
- (String) expunge - (String) expunge(new_value) - (String) expunge=(new_value)
97 |
# File 'lib/fixnames/option.rb', line 97 mkopt :expunge, String, nil |
- (Array) filter_order - (Array) filter_order(new_value) - (Array) filter_order=(new_value)
default: `DEFAULT_FILTER_ORDER`
The order we should apply the filter to the filename. This order is significant, and can dramatically affect the output.
157 |
# File 'lib/fixnames/option.rb', line 157 mkopt :filter_order, Array, DEFAULT_FILTER_ORDER |
- ([TrueClass, FalseClass]) fix_dashes - ([TrueClass, FalseClass]) fix_dashes(new_value) - ([TrueClass, FalseClass]) fix_dashes=(new_value)
Enables Filters#fix_dashes
default: `false`
121 |
# File 'lib/fixnames/option.rb', line 121 mkopt :fix_dashes, [TrueClass, FalseClass], false |
- ([TrueClass, FalseClass]) fix_dots - ([TrueClass, FalseClass]) fix_dots(new_value) - ([TrueClass, FalseClass]) fix_dots=(new_value)
Enables Filters#fix_dots
default: `false`
118 |
# File 'lib/fixnames/option.rb', line 118 mkopt :fix_dots, [TrueClass, FalseClass], false |
- ([TrueClass, FalseClass]) hack_and - ([TrueClass, FalseClass]) hack_and(new_value) - ([TrueClass, FalseClass]) hack_and=(new_value)
Enables Filters#hack_and
default: `false`
103 |
# File 'lib/fixnames/option.rb', line 103 mkopt :hack_and, [TrueClass, FalseClass], false |
- (Array) junkwords - (Array) junkwords(new_value) - (Array) junkwords=(new_value)
Enables Filters#junkwords if non-nil
default: `DEFAULT_JUNKWORDS`
130 |
# File 'lib/fixnames/option.rb', line 130 mkopt :junkwords, Array, DEFAULT_JUNKWORDS |
- ([TrueClass, FalseClass]) lowercase - ([TrueClass, FalseClass]) lowercase(new_value) - ([TrueClass, FalseClass]) lowercase=(new_value)
Enables Filters#lowercase
default: `false`
127 |
# File 'lib/fixnames/option.rb', line 127 mkopt :lowercase, [TrueClass, FalseClass], false |
- (String) mendstr - (String) mendstr(new_value) - (String) mendstr=(new_value)
default: `DEFAULT_MENDSTR`
After we #expunge a pattern, it is replaced with this string.
100 |
# File 'lib/fixnames/option.rb', line 100 mkopt :mendstr, String, DEFAULT_MENDSTR |
- ([TrueClass, FalseClass]) nocolor - ([TrueClass, FalseClass]) nocolor(new_value) - ([TrueClass, FalseClass]) nocolor=(new_value)
default: `false`
set to turn of the ANSI-color output
78 |
# File 'lib/fixnames/option.rb', line 78 mkopt :nocolor, [TrueClass, FalseClass], false |
- ([TrueClass, FalseClass]) pretend - ([TrueClass, FalseClass]) pretend(new_value) - ([TrueClass, FalseClass]) pretend=(new_value)
default: `false`
if set, we just pretend to work, and skip the final move command, so the filesystem is never altered
161 |
# File 'lib/fixnames/option.rb', line 161 mkopt :pretend, [TrueClass, FalseClass], false |
- ([TrueClass, FalseClass]) recursive - ([TrueClass, FalseClass]) recursive(new_value) - ([TrueClass, FalseClass]) recursive=(new_value)
default: `false`
Recursively descend into directories if true.
93 |
# File 'lib/fixnames/option.rb', line 93 mkopt :recursive, [TrueClass, FalseClass], false |
- ([TrueClass, FalseClass]) semicolon - ([TrueClass, FalseClass]) semicolon(new_value) - ([TrueClass, FalseClass]) semicolon=(new_value)
Enables Filters#semicolon
default: `false`
115 |
# File 'lib/fixnames/option.rb', line 115 mkopt :semicolon, [TrueClass, FalseClass], false |
- (Integer) verbose - (Integer) verbose(new_value) - (Integer) verbose=(new_value)
default: `0`
Verbosity levels
-
`verbose=0` ; no output
-
`verbose=1` ; only names that change are output
-
`verbose=2` ; all names are output with their change-status
-
`verbose=3` ; all filters are output as they run for debugging. Very noisy.
86 |
# File 'lib/fixnames/option.rb', line 86 mkopt :verbose, Integer, 0 |
- (String) whitespace - (String) whitespace(new_value) - (String) whitespace=(new_value)
Enables Filters#whitespace if non-nil
default: `DEFAULT_WHITESPACE`
136 |
# File 'lib/fixnames/option.rb', line 136 mkopt :whitespace, String, DEFAULT_WHITESPACE |