Sha256: 75592c435a9719a22d11477106b6f04f849b0658ee38dbb4af78c870c0eeab8a

Contents?: true

Size: 860 Bytes

Versions: 1

Compression:

Stored size: 860 Bytes

Contents

module HyperAdmin
  module DSL
    class Parser

      def initialize(resource_class)
        @resource_class = resource_class
        @config = { }
      end

      def parse(&block)
        return unless block_given?

        instance_exec(&block)

        @config
      end

      def show(&block)
        return unless block_given?

        dsl = HyperAdmin::DSL::Show.new @resource_class
        
        @config[:show_config] = dsl.instance_exec(&block)
      end

      def index(&block)
        return unless block_given?

        dsl = HyperAdmin::DSL::Index.new @resource_class
        @config[:index_config] = dsl.instance_exec(&block)
      end

      def form(&block)
        return unless block_given?

        dsl = HyperAdmin::DSL::Form.new @resource_class
        @config[:form_config] = dsl.instance_exec(&block)
      end

    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
hyper_admin-0.4.0 lib/hyper_admin/dsl/parser.rb