require_relative 'builder/html_options'
module SeemsRateable
class Builder
include ActionView::Helpers::TagHelper
attr_reader :rateable, :options
def self.build(rateable, options)
new(rateable, options).build
end
def initialize(rateable, options)
@rateable, @options = rateable, options
end
def build
content_tag :div, nil, html_options
end
private
def html_options
HtmlOptions.new(rating, options).to_h
end
def rating
rateable.rating dimension
end
def dimension
options.delete(:dimension)
end
end
end