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 warn 'WARNING (AMP): You need to run `rails g amp-html:bundle` first.' exit end end end