Class: BerkeleyLibrary::Util::ODS::XML::Style::Family
- Inherits:
-
TypesafeEnum::Base
- Object
- TypesafeEnum::Base
- BerkeleyLibrary::Util::ODS::XML::Style::Family
- Defined in:
- lib/berkeley_library/util/ods/xml/style/family.rb
Class Method Summary collapse
Instance Method Summary collapse
- #index_part(style_name) ⇒ Object
-
#split_name(style_name) ⇒ Object
------------------------------------------------------------ Public instance methods.
-
#to_s ⇒ Object
------------------------------------------------------------ TypesafeEnum overrides.
Class Method Details
.ensure_family(f) ⇒ Object
47 48 49 50 51 52 |
# File 'lib/berkeley_library/util/ods/xml/style/family.rb', line 47 def ensure_family(f) family = f.is_a?(Family) ? f : Family.from_string(f) return family if family raise ArgumentError, "Not a style family: #{f.inspect}" end |
.from_string(str) ⇒ Object
42 43 44 45 |
# File 'lib/berkeley_library/util/ods/xml/style/family.rb', line 42 def from_string(str) find_by_key(str.to_s.upcase.to_sym) || find_by_value_str(str.to_s.downcase) end |
Instance Method Details
#index_part(style_name) ⇒ Object
64 65 66 67 68 69 70 |
# File 'lib/berkeley_library/util/ods/xml/style/family.rb', line 64 def index_part(style_name) prefix, suffix = split_name(style_name) return unless prefix == self.prefix return unless (suffix_i = suffix.to_i).to_s == suffix suffix_i end |
#split_name(style_name) ⇒ Object
Public instance methods
58 59 60 61 62 |
# File 'lib/berkeley_library/util/ods/xml/style/family.rb', line 58 def split_name(style_name) return [nil, style_name] unless style_name.start_with?(prefix) [prefix, style_name[prefix.size..]] end |
#to_s ⇒ Object
TypesafeEnum overrides
75 76 77 78 |
# File 'lib/berkeley_library/util/ods/xml/style/family.rb', line 75 def to_s # noinspection RubyYardReturnMatch value end |