Sha256: 1381bf41ef8ddba8c5d862544a6496f5eb872bcd1ddb64d50383ce1725e23f3e

Contents?: true

Size: 922 Bytes

Versions: 7

Compression:

Stored size: 922 Bytes

Contents

require 'rubygems'
require 'yaml'
require 'erb'
require 'json/pure' unless defined?(JSON) || defined?(JSON::Pure)

module Padrino
  module Admin
    module Config

      ##
      # This class it's used for JSON variables.
      # Normally if we convert this { :function => "alert('Test')" } will be:
      # 
      #   { "function": "alert('Test')" }
      # 
      # But if in our javascript need to "eval" this function is not possible because
      # it's a string.
      # 
      # Using Padrino::Config::Variable the result will be:
      # 
      #   { "function" : alert('Test') }
      # 
      # Normally an ExtJs Variable can be handled with ExtJs Config like:
      # 
      #   function: !js alert('Test')
      # 
      class Variable < String
        yaml_as "tag:yaml.org,2002:js"

        def to_json(*a) #:nodoc:
          self
        end
      end # Variable
    end # Config
  end # Admin
end # Padrino

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
padrino-admin-0.7.5 lib/padrino-admin/config.rb
padrino-admin-0.7.4 lib/padrino-admin/config.rb
padrino-admin-0.7.3 lib/padrino-admin/config.rb
padrino-admin-0.7.2 lib/padrino-admin/config.rb
padrino-admin-0.7.1 lib/padrino-admin/config.rb
padrino-admin-0.7.0 lib/padrino-admin/config.rb
padrino-admin-0.6.7 lib/padrino-admin/config.rb