class Dhall::RecordProjection
Public Class Methods
decode(record, *selectors)
click to toggle source
# File lib/dhall/binary.rb, line 162 def self.decode(record, *selectors) record = Dhall.decode(record) if selectors.length == 1 && selectors[0].is_a?(Array) RecordProjectionByExpression.new( record: record, selector: Dhall.decode(selectors[0][0]) ) else self.for(record, selectors) end end
for(record, selectors)
click to toggle source
# File lib/dhall/ast.rb, line 906 def self.for(record, selectors) if selectors.empty? EmptyRecordProjection.new(record: record) else new(record: record, selectors: selectors) end end
Public Instance Methods
as_json()
click to toggle source
# File lib/dhall/ast.rb, line 918 def as_json [10, record.as_json, *selectors] end
fetch(selector)
click to toggle source
# File lib/dhall/ast.rb, line 914 def fetch(selector) record.fetch(selector) end
normalize()
click to toggle source
# File lib/dhall/normalize.rb, line 348 def normalize record.normalize.slice(*selectors.sort) end