Class: Playbook::PbBody::Body

Inherits:
Playbook::PbKit::Base show all
Defined in:
app/pb_kits/playbook/pb_body/body.rb

Constant Summary collapse

PROPS =
%i[configured_aria
configured_classname
configured_color
configured_dark
configured_data
configured_id
configured_tag
configured_text
configured_status
block].freeze

Instance Method Summary collapse

Methods inherited from Playbook::PbKit::Base

#adjusted_value, #aria, #classname, #concat_value, #data, #default_value, #false_value, #id, #is_boolean?, #is_integer?, #is_set?, #is_string?, #is_true?, #merge_value, #one_of?, #one_of_value, #true_value

Constructor Details

#initialize(aria: default_configuration, classname: default_configuration, color: default_configuration, dark: default_configuration, data: default_configuration, id: default_configuration, status: default_configuration, tag: default_configuration, text: default_configuration, &block) ⇒ Body

Returns a new instance of Body.



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'app/pb_kits/playbook/pb_body/body.rb', line 17

def initialize(aria: default_configuration,
               classname: default_configuration,
               color: default_configuration,
               dark: default_configuration,
               data: default_configuration,
               id: default_configuration,
               status: default_configuration,
               tag: default_configuration,
               text: default_configuration,
               &block)

  self.configured_aria = aria
  self.configured_classname = classname
  self.configured_color = color
  self.configured_dark = dark
  self.configured_data = data
  self.configured_id = id
  self.configured_status = status
  self.configured_tag = tag
  self.configured_text = text
  self.block = block_given? ? block : nil
end

Instance Method Details

#colorObject



40
41
42
43
# File 'app/pb_kits/playbook/pb_body/body.rb', line 40

def color
  color_options = %w[default light lighter dark light_dark lighter_dark]
  one_of_value(configured_color, color_options, "default")
end

#color_classObject



45
46
47
# File 'app/pb_kits/playbook/pb_body/body.rb', line 45

def color_class
  color != "default" ? color : nil
end

#darkObject



49
50
51
# File 'app/pb_kits/playbook/pb_body/body.rb', line 49

def dark
  is_true? configured_dark
end

#dark_classObject



53
54
55
# File 'app/pb_kits/playbook/pb_body/body.rb', line 53

def dark_class
  true_value(configured_dark, "dark", nil)
end

#kit_classObject



78
79
80
81
82
83
84
85
86
# File 'app/pb_kits/playbook/pb_body/body.rb', line 78

def kit_class
  body_options = [
    "pb_body_kit",
    color_class,
    dark_class,
    status_class,
  ]
  body_options.compact.join("_")
end

#statusObject



57
58
59
60
# File 'app/pb_kits/playbook/pb_body/body.rb', line 57

def status
  status_options = %w[neutral negative positive]
  one_of_value(configured_status, status_options, "neutral")
end

#status_classObject



62
63
64
# File 'app/pb_kits/playbook/pb_body/body.rb', line 62

def status_class
  status != "neutral" ? status : nil
end

#tagObject



66
67
68
# File 'app/pb_kits/playbook/pb_body/body.rb', line 66

def tag
  default_value(configured_tag, "div")
end

#textObject



70
71
72
# File 'app/pb_kits/playbook/pb_body/body.rb', line 70

def text
  default_value(configured_text, "Body text")
end

#to_partial_pathObject



88
89
90
# File 'app/pb_kits/playbook/pb_body/body.rb', line 88

def to_partial_path
  "pb_body/body"
end

#yield(context:) ⇒ Object



74
75
76
# File 'app/pb_kits/playbook/pb_body/body.rb', line 74

def yield(context:)
  !block.nil? ? context.capture(&block) : text
end