Sha256: cc5c44df462270a9a954fee4d3de7d7df6d980020bec2fa57caaf6c5c1e19766

Contents?: true

Size: 1.64 KB

Versions: 5

Compression:

Stored size: 1.64 KB

Contents

module Coprl::Presenters::WebClient::Helpers
  module Headers
    include Coprl::Presenters::WebClient::Helpers::HtmlSafe

    def coprl_headers(base_url, request, pom)
      html_safe (<<~HEADERS)
        <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700" type="text/css">
        <link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
        <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.4.1/css/all.css" integrity="sha384-5sAR7xN1Nv6T6+dT2mhtzEpVJvfS3NScPQTrOxhwjIuvcA67KV2R5Jz6kr4abQsz" crossorigin="anonymous">
        <link rel="stylesheet" href="#{ base_url }/#{ request.env['SCRIPT_NAME'] }bundle.css">
        <script defer src="#{ base_url }/#{ request.env['SCRIPT_NAME'] }bundle.js"></script>
        #{plugin_headers(pom)}
        #{custom_css(request.env['REQUEST_PATH'], base_url)}
        #{pom.csrf_meta_tags}
      HEADERS
    end

    def plugin_headers(pom)
      Coprl::Presenters::WebClient::PluginHeaders.new(pom: pom, render: method(:render_partial)).render
    end

    def custom_css(path, host=nil)
      root = Coprl::Presenters::Settings.config.presenters.root
      Coprl::Presenters::WebClient::CustomCss.new(path, root: root, host: host).render
    end

    def custom_js
      custom_js_path = Coprl::Presenters::Settings.config.presenters.web_client.custom_js
      Dir.glob(custom_js_path).map do |file|
        _build_script_tag_(file)
      end.join("\n") if custom_js_path
    end

    def _build_script_tag_(path)
      (<<~JS)
            <script defer src="#{env['SCRIPT_NAME']}#{path.sub('public/','')}"></script>
      JS
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
coprl-3.0.0.beta.5 lib/coprl/presenters/web_client/helpers/headers.rb
coprl-3.0.0.beta.4 lib/coprl/presenters/web_client/helpers/headers.rb
coprl-3.0.0.beta.3 lib/coprl/presenters/web_client/helpers/headers.rb
coprl-3.0.0.beta.2 lib/coprl/presenters/web_client/helpers/headers.rb
coprl-3.0.0.beta.1 lib/coprl/presenters/web_client/helpers/headers.rb