module GenericViewMapper::Import::DSL

Public Instance Methods

from_json(source) click to toggle source
# File lib/generic_view_mapper/view/import.rb, line 17
def from_json(source)
  Class.new(self) { json(source) }
end
from_yaml(source) click to toggle source
# File lib/generic_view_mapper/view/import.rb, line 25
def from_yaml(source)
  Class.new(self) { yaml(source) }
end
import(hash) click to toggle source
# File lib/generic_view_mapper/view/import.rb, line 29
def import(hash)
  hash.each do |(k, v)|
    case v
    when Hash
      attribute(v[:name], v)
    when Array
      section(k) { v.each { |f| attribute(f[:name], f) } }
    end
  end
end
json(source) click to toggle source
# File lib/generic_view_mapper/view/import.rb, line 13
def json(source)
  import(MultiJson.decode(source, symbolize_keys: true))
end
yaml(source) click to toggle source
# File lib/generic_view_mapper/view/import.rb, line 21
def yaml(source)
  import(YAML.safe_load(source).deep_symbolize_keys)
end