Skip to content

Instantly share code, notes, and snippets.

@alloy-d
Last active December 28, 2015 17:28
Show Gist options
  • Save alloy-d/7535743 to your computer and use it in GitHub Desktop.
Save alloy-d/7535743 to your computer and use it in GitHub Desktop.
Record (basic) field accesses. Intended for use in Mustache templates.
require 'set'
class AccessRecorder
attr_reader :accessed
def initialize
@accessed = Set.new
end
def has_key?(*args) true end
def [](key)
@accessed << key
"{{#{key}}}"
end
end
recorder = AccessRecorder.new
Mustache.render("Hello, {{name}}. Welcome to {{planet}}!", recorder)
recorder.accessed.to_a # => [:name, :planet]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment