Sha256: 614c526d6cddf33cfd2b5759dc3a1bce8dd9b483db8ae6a6b0fe3cb2895ddf13

Contents?: true

Size: 936 Bytes

Versions: 1

Compression:

Stored size: 936 Bytes

Contents

require 'frontkit-rails/serializer'
require 'frontkit-rails/state'
require 'frontkit-rails/meta_container'
require 'active_support/concern'

module FrontKit
  module Base
    extend ActiveSupport::Concern

    included do
      helper_method :frontend_state, :push_frontend_state,
                    :merge_frontend_state, :meta_tags_container,
                    :push_meta_tag
    end

    # instance methods

    def frontend_state
      @_frontend_state ||= FrontKit::State.new(
        production: Rails.env.production?,
        alert: alert,
        notice: notice
      )
    end

    def push_frontend_state(key, value)
      front_end_state[key] = value
    end

    def merge_frontend_state(hash)
      frontend_state.deep_merge!(hash)
    end

    def meta_tags_container
      @_meta_tags_container ||= FrontKit::MetaContainer.new
    end

    def push_meta_tag(hash)
      meta_tags_container.push(hash)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
frontkit-rails-0.0.0 lib/frontkit-rails/base.rb