Class: Squib::Args::Paragraph Private
- Inherits:
-
Object
- Object
- Squib::Args::Paragraph
- Includes:
- ArgLoader
- Defined in:
- lib/squib/args/paragraph.rb
This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.
Class Method Summary collapse
- .expanding_parameters ⇒ Object private
- .parameters ⇒ Object private
- .params_with_units ⇒ Object private
Instance Method Summary collapse
-
#initialize(deck_font) ⇒ Paragraph
constructor
private
A new instance of Paragraph.
- #validate_align(arg, _i) ⇒ Object private
- #validate_ellipsize(arg, _i) ⇒ Object private
- #validate_font(arg, _i) ⇒ Object private
- #validate_justify(arg, _i) ⇒ Object private
- #validate_spacing(arg, _i) ⇒ Object private
- #validate_str(arg, _i) ⇒ Object private
- #validate_valign(arg, _i) ⇒ Object private
- #validate_wrap(arg, _i) ⇒ Object private
Methods included from ArgLoader
#[], #convert_units, #defaultify, #expand_and_set_and_defaultify, #expandable_singleton?, #load!, #prep_layout_args, #validate
Constructor Details
#initialize(deck_font) ⇒ Paragraph
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns a new instance of Paragraph.
35 36 37 |
# File 'lib/squib/args/paragraph.rb', line 35 def initialize(deck_font) @deck_font = deck_font end |
Class Method Details
.expanding_parameters ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
27 28 29 |
# File 'lib/squib/args/paragraph.rb', line 27 def self. parameters.keys # all of them end |
.parameters ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/squib/args/paragraph.rb', line 12 def self.parameters { align: :left, str: 'Hello, World!', font: :use_set, font_size: nil, markup: false, justify: false, wrap: true, ellipsize: :end, spacing: nil, valign: :top, hint: :off } end |
.params_with_units ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
31 32 33 |
# File 'lib/squib/args/paragraph.rb', line 31 def self.params_with_units [] # none of them end |
Instance Method Details
#validate_align(arg, _i) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/squib/args/paragraph.rb', line 49 def validate_align(arg, _i) case arg.to_s.downcase.strip when 'left' Pango::Alignment::LEFT when 'right' Pango::Alignment::RIGHT when 'center' Pango::Alignment::CENTER else raise ArgumentError, 'align must be one of: center, left, right' end end |
#validate_ellipsize(arg, _i) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
# File 'lib/squib/args/paragraph.rb', line 75 def validate_ellipsize(arg, _i) case arg.to_s.downcase.strip when 'none', 'false' Pango::EllipsizeMode::NONE when 'start' Pango::EllipsizeMode::START when 'middle' Pango::EllipsizeMode::MIDDLE when 'end', 'true' Pango::EllipsizeMode::END else raise ArgumentError, 'ellipsize must be one of: none, start, middle, end, true, or false' end end |
#validate_font(arg, _i) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
43 44 45 46 47 |
# File 'lib/squib/args/paragraph.rb', line 43 def validate_font(arg, _i) arg = @deck_font if arg == :use_set arg = DEFAULT_FONT if arg == :default arg end |
#validate_justify(arg, _i) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
90 91 92 93 94 95 96 97 |
# File 'lib/squib/args/paragraph.rb', line 90 def validate_justify(arg, _i) case arg when nil, true, false arg else raise ArgumentError, 'justify must be one of: nil, true, or false' end end |
#validate_spacing(arg, _i) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
99 100 101 102 103 |
# File 'lib/squib/args/paragraph.rb', line 99 def validate_spacing(arg, _i) return nil if arg.nil? raise ArgumentError, 'spacing must be a number or nil' unless arg.respond_to? :to_f arg.to_f * Pango::SCALE end |
#validate_str(arg, _i) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
39 40 41 |
# File 'lib/squib/args/paragraph.rb', line 39 def validate_str(arg, _i) arg.to_s end |
#validate_valign(arg, _i) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
105 106 107 108 109 110 111 |
# File 'lib/squib/args/paragraph.rb', line 105 def validate_valign(arg, _i) if %w(top middle bottom).include? arg.to_s.downcase arg.to_s.downcase else raise ArgumentError, 'valign must be one of: top, middle, bottom' end end |
#validate_wrap(arg, _i) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
62 63 64 65 66 67 68 69 70 71 72 73 |
# File 'lib/squib/args/paragraph.rb', line 62 def validate_wrap(arg, _i) case arg.to_s.downcase.strip when 'word' Pango::WrapMode::WORD when 'char', 'false' Pango::WrapMode::CHAR when 'word_char', 'true' Pango::WrapMode::WORD_CHAR else raise ArgumentError, 'wrap must be one of: word, char, word_char, true, or false' end end |