Module: FastExcel::FormatExt
Constant Summary
collapse
- ALIGN_ENUM =
Libxlsxwriter.enum_type(:format_alignments)
- BORDER_ENUM =
Libxlsxwriter.enum_type(:format_borders)
Instance Method Summary
collapse
#fields_hash, #pretty_print, #set
Instance Method Details
#align ⇒ Object
639
640
641
642
643
644
|
# File 'lib/fast_excel.rb', line 639
def align
{
horizontal: ALIGN_ENUM.find(self[:text_h_align]),
vertical: ALIGN_ENUM.find(self[:text_v_align])
}
end
|
#align=(value) ⇒ Object
Can be called as:
format.align = :align_center
format.align = "align_center"
format.align = :center
format.align = :align_center
format.align = {v: "center", h: "center"}
Possible values:
:align_none, :align_left, :align_center, :align_right, :align_fill, :align_justify,
:align_center_across, :align_distributed, :align_vertical_top, :align_vertical_bottom,
:align_vertical_center, :align_vertical_justify, :align_vertical_distributed
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
|
# File 'lib/fast_excel.rb', line 605
def align=(value)
value = value.to_sym if value.is_a?(String)
if value.is_a?(Symbol)
if ALIGN_ENUM.find(value)
set_align(value)
elsif ALIGN_ENUM.find(prefixed = "align_#{value}".to_sym)
set_align(prefixed)
else
raise ArgumentError, "Can not set align = #{value.inspect}, possible values are: #{ALIGN_ENUM.symbols}"
end
elsif value.is_a?(Hash)
if value[:horizontal]
self.align = "align_#{value[:horizontal].to_s.sub(/^align_/, '')}".to_sym
end
if value[:h]
self.align = "align_#{value[:h].to_s.sub(/^align_/, '')}".to_sym
end
if value[:vertical]
self.align = "align_vertical_#{value[:vertical].to_s.sub(/^align_vertical_/, '')}".to_sym
end
if value[:v]
self.align = "align_vertical_#{value[:v].to_s.sub(/^align_vertical_/, '')}".to_sym
end
possible = [:horizontal, :h, :vertical, :v]
= value.keys - possible
if .size > 0
raise ArgumentError, "Not allowed keys for align: #{extras.inspect}, possible keys: #{possible.inspect}"
end
else
raise ArgumentError, "value must be a symbol or a hash"
end
end
|
#border_value(value) ⇒ Object
677
678
679
680
681
682
683
684
685
686
687
688
689
|
# File 'lib/fast_excel.rb', line 677
def border_value(value)
return value if value.is_a?(Numeric) && BORDER_ENUM.find(value)
orig_value = value
value = value.to_sym if value.is_a?(String)
return BORDER_ENUM.find(value) if BORDER_ENUM.find(value)
return BORDER_ENUM.find(:"border_#{value}") if BORDER_ENUM.find(:"border_#{value}")
short_symbols = BORDER_ENUM.symbols.map {|s| s.to_s.sub(/^border_/, '').to_sym }
raise ArgumentError, "Unknown value #{orig_value.inspect} for border. Possible values: #{short_symbols}"
end
|
#font_family ⇒ Object
698
699
700
|
# File 'lib/fast_excel.rb', line 698
def font_family
font_name
end
|
#font_family=(value) ⇒ Object
702
703
704
|
# File 'lib/fast_excel.rb', line 702
def font_family=(value)
self.font_name = value
end
|
#set_font_size(value) ⇒ Object
691
692
693
694
695
696
|
# File 'lib/fast_excel.rb', line 691
def set_font_size(value)
if value < 0
raise ArgumentError, "font size should be >= 0 (use 0 for user default font size)"
end
super(value)
end
|