38 lines
991 B
Ruby
38 lines
991 B
Ruby
class ConfigSerializer < ActiveModel::Serializer
|
|
# details
|
|
attributes :name, :homepage, :contact
|
|
|
|
# settings
|
|
attributes :currency_unit, :currency_space, :default_locale, :price_markup,
|
|
:tolerance_is_costly, :distribution_strategy, :use_apple_points, :use_tolerance
|
|
|
|
# layout
|
|
attributes :page_footer_html, :webstats_tracking_code_html
|
|
|
|
# help and version
|
|
attributes :applepear_url, :help_url, :foodsoft
|
|
|
|
|
|
def foodsoft
|
|
{
|
|
version: Foodsoft::VERSION,
|
|
revision: Foodsoft::REVISION,
|
|
url: object[:foodsoft_url]
|
|
}
|
|
end
|
|
|
|
def page_footer_html
|
|
# also see footer layout
|
|
if FoodsoftConfig[:page_footer].present?
|
|
FoodsoftConfig[:page_footer]
|
|
elsif FoodsoftConfig[:homepage].present?
|
|
ActionController::Base.helpers.link_to(FoodsoftConfig[:name], FoodsoftConfig[:homepage])
|
|
else
|
|
FoodsoftConfig[:name]
|
|
end
|
|
end
|
|
|
|
def webstats_tracking_code_html
|
|
FoodsoftConfig[:webstats_tracking_code].presence
|
|
end
|
|
end
|