Module: Playbook::Border
- Included in:
- KitBase
- Defined in:
- lib/playbook/border.rb
Constant Summary collapse
- BORDER_VALUES =
%w[ none default active default_thick default_thicker active_thick active_thicker ].freeze
- BORDER_PROP_MAP =
{ border: "", border_top: "top", border_bottom: "bottom", border_left: "left", border_right: "right", border_x: "x", border_y: "y", }.freeze
Class Method Summary collapse
- .border_class_for(side, value) ⇒ Object
- .border_class_for_prop(prop_name, value) ⇒ Object
- .included(base) ⇒ Object
Instance Method Summary collapse
Class Method Details
.border_class_for(side, value) ⇒ Object
64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
# File 'lib/playbook/border.rb', line 64 def border_class_for(side, value) v = value.to_s return nil unless BORDER_VALUES.include?(v) if v == "none" return "border_none" if side == "" "border_#{side}_none" elsif side == "" "border_#{v}" else "border_#{side}_#{v}" end end |
.border_class_for_prop(prop_name, value) ⇒ Object
79 80 81 82 83 84 |
# File 'lib/playbook/border.rb', line 79 def border_class_for_prop(prop_name, value) side = BORDER_PROP_MAP[prop_name.to_sym] return nil unless side border_class_for(side, value) end |
.included(base) ⇒ Object
5 6 7 8 9 10 11 12 13 |
# File 'lib/playbook/border.rb', line 5 def self.included(base) base.prop :border base.prop :border_top base.prop :border_bottom base.prop :border_left base.prop :border_right base.prop :border_x base.prop :border_y end |
Instance Method Details
#border_options ⇒ Object
35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/playbook/border.rb', line 35 def { border: "border", border_top: "border_top", border_bottom: "border_bottom", border_left: "border_left", border_right: "border_right", border_x: "border_x", border_y: "border_y", } end |
#border_props ⇒ Object
51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/playbook/border.rb', line 51 def border_props css = +"" BORDER_PROP_MAP.each do |prop_name, side| value = send(prop_name) next unless value next unless BORDER_VALUES.include?(value.to_s) css << "#{Playbook::Border.border_class_for(side, value)} " end css.strip unless css.empty? end |
#border_values ⇒ Object
47 48 49 |
# File 'lib/playbook/border.rb', line 47 def border_values BORDER_VALUES end |