Sha256: b45171ab491b8dbce5947f6977cdfe2729ec83fe2fd3ba47b2b44ae3727c27e4

Contents?: true

Size: 644 Bytes

Versions: 2

Compression:

Stored size: 644 Bytes

Contents

require 'seory/page_group'
require 'seory/condition/build_dsl'

module Seory
  module Dsl
    class Descriptor
      include Seory::Condition::BuildDsl

      def initialize(group_name, repository)
        @page_group = PageGroup.new(group_name)
        @repository = repository
      end

      def describe(&block)
        instance_exec(&block)

        @page_group
      end

      def match(*conditions, &def_builder)
        @page_group.add PageBuilder.new(*conditions).build!(&def_builder)
      end

      def default(&def_builder)
        @page_group.default = PageBuilder.new(:default).build!(&def_builder)
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
seory-0.2.0 lib/seory/dsl/descriptor.rb
seory-0.1.0 lib/seory/dsl/descriptor.rb