Sha256: 98b9c9ae73a7de22f16d067edd8bada4bd7d8b87282179c6cc0c5171c8d45b40

Contents?: true

Size: 1.04 KB

Versions: 2

Compression:

Stored size: 1.04 KB

Contents

require "ice/generated_helpers"

module Ice
  module Handlers
    module Base
      def self.variables
        <<-VARIABLES
          variable_names = controller.instance_variable_names
          variable_names -= %w[@template]
          if controller.respond_to?(:protected_instance_variables)
            variable_names -= controller.protected_instance_variables
          end

          variables = {}
          variable_names.each do |name|
            variables[name.sub(/^@/, "")] = controller.instance_variable_get(name)
          end
        VARIABLES
      end

      def self.convert_template(template_text)
        V8::C::Locker() do
          context = V8::Context.new

          IceJavascriptHelpers.each do |helper|
            context.eval(helper)
          end
          IceCoffeescriptHelpers.each do |helper|
            context.eval CoffeeScript.compile(helper, :bare => true)
          end

          context.eval CoffeeScript.compile(GeneratedHelpers.get_routes, :bare => true)
          yield context

        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ice-0.5.1 lib/ice/handlers/base.rb
ice-0.5.0 lib/ice/handlers/base.rb