class Playbook::PbStarRating::StarRating
def all_input_options
def all_input_options input_options.merge( data: { "pb-star-rating-input": true }, name: name, required: required, style: "display: none", value: default_value || "" ) end
def background_star_color
def background_star_color if background_type === "outline" dark ? "outline_empty_star_dark" : "outline_empty_star_light" else dark ? "empty_star_dark" : "empty_star_light" end end
def background_star_path
def background_star_path if background_type === "outline" "app/pb_kits/playbook/pb_star_rating/stars/star_outline.svg" else "app/pb_kits/playbook/pb_star_rating/stars/yellow_star.svg" end end
def classname
def classname generate_classname("pb_star_rating_kit") end
def denominator_style
def denominator_style layout_option == "onestar" ? 1 : denominator end
def empty_stars
def empty_stars (denominator_style - star_count).negative? ? 0 : denominator_style - star_count end
def hidden_input_tag
def hidden_input_tag tag(:input, all_input_options) end
def one_decimal_rating
def one_decimal_rating rating.to_f.round(1) end
def star_color
def star_color case color_option when "yellow" "yellow_star" when "primary" dark ? "primary_star_dark" : "primary_star_light" when "subtle" dark ? "subtle_star_dark" : "subtle_star_light" end end
def star_count
def star_count rating.round > denominator_style ? denominator_style : rating.round end
def star_svg_path
def star_svg_path case color_option when "yellow" "app/pb_kits/playbook/pb_star_rating/stars/yellow_star.svg" when "primary" "app/pb_kits/playbook/pb_star_rating/stars/primary_star.svg" when "subtle" if dark == true "app/pb_kits/playbook/pb_star_rating/stars/subtle_dark_star.svg" else "app/pb_kits/playbook/pb_star_rating/stars/subtle_star.svg" end else "app/pb_kits/playbook/pb_star_rating/stars/primary_star.svg" end end
def svg_class
def svg_class "pb_star_#{size}" end
def svg_size
def svg_size sizes = { "xs": "pb_star_xs", "sm": "pb_star_sm", "md": "pb_star_md", "lg": "pb_star_lg" } sizes[size.to_sym] end