Sha256: ff6259b7422c6d2efe9fdf664f2d7b0b038993f0e1f725b48032192b2a5759b9
Contents?: true
Size: 1.28 KB
Versions: 1
Compression:
Stored size: 1.28 KB
Contents
# This class reads an application model file and turns it into an # ApplicationModel instance. require_relative 'application_model' require 'katapult/model' require 'katapult/web_ui' require 'katapult/navigation' require 'katapult/authentication' module Katapult class Parser def initialize self.application_model = Katapult::ApplicationModel.new end def parse(application_model_string, path_to_model = '') instance_eval application_model_string, path_to_model application_model end def model(name, &block) application_model.add_model Model.new(name, &block) end def web_ui(name, options = {}, &block) application_model.add_web_ui WebUI.new(name, options, &block) end # A shortcut to create a #model together with a default #web_ui with CRUD # actions def crud(name, &block) application_model.add_model Model.new(name, &block) application_model.add_web_ui WebUI.new(name, &:crud) end def navigation(name = :main) application_model.set_navigation Navigation.new(name) end def authenticate(name, system_email:) application_model.set_authentication Authentication.new(name, system_email: system_email ) end private attr_accessor :application_model end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
katapult-0.3.0 | lib/katapult/parser.rb |