class Playbook::PbProgressSimple::ProgressSimple

def align

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

def calc_value_from_max

def calc_value_from_max
  if is_set?(configured_value) && is_set?(configured_max)
    (configured_value.to_i * 100) / configured_max.to_i
  else
    0
  end
end

def default_configuration

def default_configuration
  DEFAULT
end

def format_percent(num)

def format_percent(num)
  "#{num}%"
end

def initialize(align: default_configuration,

def initialize(align: default_configuration,
               classname: default_configuration,
               data: default_configuration,
               id: default_configuration,
               max: default_configuration,
               muted: default_configuration,
               percent: default_configuration,
               value: default_configuration,
               width: default_configuration)
  self.configured_align = align
  self.configured_classname = classname
  self.configured_data = data
  self.configured_id = id
  self.configured_max = max
  self.configured_muted = muted
  self.configured_percent = percent
  self.configured_value = value
  self.configured_width = width
end

def kit_class

def kit_class
  kit_options = [
    "pb_progress_simple",
    muted,
    align,
  ]
  kit_options.compact.join("_")
end

def muted

def muted
  true_value(configured_muted, "muted", nil)
end

def number_value

def number_value
  if is_set? configured_percent
    percent
  else
    calc_value_from_max
  end
end

def percent

def percent
  default_value(configured_percent, 0)
end

def percent_value

def percent_value
  format_percent(number_value)
end

def to_partial_path

def to_partial_path
  "pb_progress_simple/progress_simple"
end

def width

def width
  default_value(configured_width, "100%")
end