Sha256: d902f05e162b927d451c83f16a7ecf3db50da0dc3908dfb5608d8ed09c18b7f5
Contents?: true
Size: 1.19 KB
Versions: 1
Compression:
Stored size: 1.19 KB
Contents
class Jcompiler def initialize @ids = {} end private attr_accessor :ids def b(brand, bind) bind.local_variable_set(:brand, brand) { id: 'brand.id', name: 'brand.name', description: 'brand.description', published_at: 'brand.published_at.utc.iso8601(3)', official_url: 'brand.blog_url', sex_group: 'brand.blog_sex_switch', image_medium: 'absolute_url(brand.image_file.url(:medium))', image_square: 'absolute_url(brand.image_file.url(:square))', url: 'brand_path(brand)', labels: 'brand.new_arrival? ? \'["NEW"]\' : \'[]\'' }.map do |key, code| v = eval(code, bind) "\"#{key}\":#{v.is_a?(String) ? ActiveSupport::JSON.encode(v) : v ? v.to_s : 'null'}" end end def a(brands, bind) brands.map do |brand| "{#{b(brand, bind).join(',')}}" end end def code(bind) debugger 1 end end class JcompilerHandler cattr_accessor :default_format self.default_format = Mime::JSON @@jcompiler = Jcompiler.new def self.call(template) "@@jcompiler.code(template.identifier, template.source, binding)" end end ActionView::Template.register_template_handler :jcompiler, JcompilerHandler
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
jcompiler-0.1.41 | lib/jcompiler.rb |