class Leafy::Schema
Public Class Methods
dump(schema)
click to toggle source
# File lib/leafy/schema.rb, line 37 def self.dump(schema) JSON.dump(schema.serializable_hash) end
load(data)
click to toggle source
# File lib/leafy/schema.rb, line 41 def self.load(data) Schema.new(JSON.parse(data)) end
new(fields = [])
click to toggle source
# File lib/leafy/schema.rb, line 16 def initialize(fields = []) @fields = fields.map { |field| Leafy::Field.new(field) } end
Public Instance Methods
[](identifier)
click to toggle source
# File lib/leafy/schema.rb, line 24 def [](identifier) @fields.find { |f| f.id == identifier } end
each() { |i| ... }
click to toggle source
# File lib/leafy/schema.rb, line 8 def each if block_given? @fields.each { |i| yield i } else @fields.each end end
ids()
click to toggle source
# File lib/leafy/schema.rb, line 20 def ids @fields.map(&:id) end
push(field)
click to toggle source
# File lib/leafy/schema.rb, line 28 def push(field) raise(ArgumentError, "is not a field") unless field.is_a?(Leafy::Field) @fields << field end
Also aliased as: <<
serializable_hash()
click to toggle source
# File lib/leafy/schema.rb, line 33 def serializable_hash @fields.map(&:serializable_hash) end