Class: Playbook::PbCurrency::Currency

Inherits:
Playbook::PbKit::Base show all
Defined in:
app/pb_kits/playbook/pb_currency/currency.rb

Constant Summary collapse

PROPS =
%i[configured_align
configured_classname
configured_data
configured_id
configured_label
configured_value
configured_unit
configured_dollar_sign
configured_size].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(align: default_configuration, classname: default_configuration, data: default_configuration, id: default_configuration, label: default_configuration, value: default_configuration, unit: default_configuration, dollar_sign: default_configuration, size: default_configuration) ⇒ Currency

Returns a new instance of Currency.



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'app/pb_kits/playbook/pb_currency/currency.rb', line 16

def initialize(align: default_configuration,
               classname: default_configuration,
               data: default_configuration,
               id: default_configuration,
               label: default_configuration,
               value: default_configuration,
               unit: default_configuration,
               dollar_sign: default_configuration,
               size: default_configuration)
  self.configured_align = align
  self.configured_classname = classname
  self.configured_data = data
  self.configured_id = id
  self.configured_label = label
  self.configured_value = value
  self.configured_unit = unit
  self.configured_dollar_sign = dollar_sign
  self.configured_size = size
end

Instance Method Details

#alignObject



36
37
38
39
# File 'app/pb_kits/playbook/pb_currency/currency.rb', line 36

def align
  align_options = %w[left center right]
  one_of_value(configured_align, align_options, "left")
end

#dollar_signObject



41
42
43
44
45
46
# File 'app/pb_kits/playbook/pb_currency/currency.rb', line 41

def dollar_sign
  pb_dollar_sign = Playbook::PbBody::Body.new(classname: "dollar_sign", color: "light") do
    default_value(configured_dollar_sign, "")
  end
  ApplicationController.renderer.render(partial: pb_dollar_sign, as: :object)
end

#kit_classObject



78
79
80
81
82
83
84
# File 'app/pb_kits/playbook/pb_currency/currency.rb', line 78

def kit_class
  kit_options = [
    "pb_currency_kit",
    align,
  ]
  kit_options.join("_")
end

#labelObject



48
49
50
51
52
53
# File 'app/pb_kits/playbook/pb_currency/currency.rb', line 48

def label
  if is_set? configured_label
    pb_label = Playbook::PbCaption::Caption.new(text: configured_label)
    ApplicationController.renderer.render(partial: pb_label, as: :object)
  end
end

#sizeObject



55
56
57
58
# File 'app/pb_kits/playbook/pb_currency/currency.rb', line 55

def size
  size_options = %w[lg sm]
  one_of_value(configured_size, size_options, "sm")
end

#to_partial_pathObject



86
87
88
# File 'app/pb_kits/playbook/pb_currency/currency.rb', line 86

def to_partial_path
  "pb_currency/currency"
end

#unitObject



71
72
73
74
75
76
# File 'app/pb_kits/playbook/pb_currency/currency.rb', line 71

def unit
  pb_unit = Playbook::PbBody::Body.new(classname: "unit", color: "light") do
    default_value(configured_unit, "")
  end
  ApplicationController.renderer.render(partial: pb_unit, as: :object)
end

#valueObject



64
65
66
67
68
69
# File 'app/pb_kits/playbook/pb_currency/currency.rb', line 64

def value
  if is_set? configured_value
    pb_title = Playbook::PbTitle::Title.new(size: value_size, text: configured_value, classname: "pb_currency_value")
    ApplicationController.renderer.render(partial: pb_title, as: :object)
  end
end

#value_sizeObject



60
61
62
# File 'app/pb_kits/playbook/pb_currency/currency.rb', line 60

def value_size
  size == "lg" ? 1 : 2
end