Sha256: 1cc5942898a182f7d0189208eb16f792071ac6d252090a40c26db7e875116cc0

Contents?: true

Size: 732 Bytes

Versions: 9

Compression:

Stored size: 732 Bytes

Contents

module Frizz
  module Middleman
    module ViewHelpers
      def frizz
        @frizz ||= EnvironmentDecorator.new(Frizz.configuration)
      end

      class EnvironmentDecorator
        attr_accessor :config

        def initialize(config)
          @config = config
          define_environment_helpers!
        end

        def method_missing(meth, *args, &block)
          config.environment.send(meth) # pass thru to environment attrs
        end

        private

        def define_environment_helpers!
          config.environments.each do |name, env|
            self.class.send :define_method, "#{env.name}?" do
              env == config.environment
            end
          end
        end
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
frizz-2.1.1 lib/frizz/middleman/view_helpers.rb
frizz-2.1.0 lib/frizz/middleman/view_helpers.rb
frizz-2.0.0 lib/frizz/middleman/view_helpers.rb
frizz-1.7.0 lib/frizz/middleman/view_helpers.rb
frizz-1.6.0 lib/frizz/middleman/view_helpers.rb
frizz-1.5.0 lib/frizz/middleman/view_helpers.rb
frizz-1.4.4 lib/frizz/middleman/view_helpers.rb
frizz-1.4.3 lib/frizz/middleman/view_helpers.rb
frizz-1.3.3 lib/frizz/middleman/view_helpers.rb