module AmpHtml def self.default_format config = get_config if config.key(:default_format) config[:default_format] else 'amp' end end def self.raw_format config = get_config config[:default_format] end def self.fallback_format config = get_config config[:fallback_format] end def self.components config = get_config if config.key(:components) config[:components] else nil end end def self.split_view config = get_config if config.key(:split_view) config[:split_view] else false end end def self.assets_only_amp config = get_config if config.key(:assets) && config[:assets].key(:only_amp) config[:assets][:only_amp] else if AmpHtml.split_view false else true end end end def self.application_name config = get_config if config.key(:application) && config[:application].key(:name) config[:application][:name] else Rails.application.class.parent end end def self.application_type config = get_config if config.key(:application) && config[:application].key(:type) config[:application][:type] else nil end end def self.application_date_published config = get_config if config.key(:application) && config[:application].key(:date_published) config[:application][:date_published] else DateTime.now end end def self.application_image config = get_config if config.key(:application) && config[:application].key(:image) config[:application][:image] else nil end end def self.forms_selector config = get_config if config.key(:forms) && config[:forms].key(:amp_selector) config[:forms][:amp_selector] else false end end def self.analytics_default_vendor config = get_config if config.key(:analytics) && config[:analytics].key(:default_vendor) config[:analytics][:default_vendor] else nil end end def self.google_analytics_account config = get_config if config.key(:analytics) && config[:analytics].key(:google_analytics) && config[:analytics][:google_analytics].key(:account) config[:analytics][:google_analytics][:account] else nil end end def self.ad_default_network config = get_config if config.key(:ad) && config[:ad].key(:default_network) config[:ad][:default_network] else nil end end def self.auto_ads_default_network config = get_config if config.key(:ad) && config[:ad].key(:auto_ads) && config[:ad][:auto_ads].key(:default_network) config[:ad][:auto_ads][:default_network] else nil end end def self.social_share_default_provider config = get_config if config.key(:social) && config[:social].key(:share) && config[:social][:share].key(:default_provider) config[:social][:share][:default_provider] else nil end end def self.social_share_default_data_share_endpoint config = get_config if config.key(:social) && config[:social].key(:share) && config[:social][:share].key(:default_data_share_endpoint) config[:social][:share][:default_data_share_endpoint] else nil end end private def self.get_config require 'yaml' begin YAML.load_file 'config/amp-html.yml' rescue Exception => e warn 'WARNING (AMP): You need to run `rails g amp_html:bundle` first.' # exit end end end