Sha256: b35b6db30ad6509e5f1b634464f42df18660dcece0b1a3331f8341cdd4e7ac60

Contents?: true

Size: 416 Bytes

Versions: 18

Compression:

Stored size: 416 Bytes

Contents

# encoding: utf-8

# This is the DSL to describe a Syntax.
module Dusen
  class Description

    attr_reader :syntax

    def initialize(syntax)
      @syntax = syntax
    end

    def search_by(field, &scoper)
      @syntax.learn_field(field, &scoper)
    end

    def self.parse_syntax(syntax, &dsl)
      description = new(syntax)
      description.instance_eval(&dsl)
      description.syntax
    end

  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
dusen-0.6.1 lib/dusen/description.rb
dusen-0.6.0 lib/dusen/description.rb
dusen-0.5.3 lib/dusen/description.rb
dusen-0.5.2 lib/dusen/description.rb
dusen-0.5.1 lib/dusen/description.rb
dusen-0.5 lib/dusen/description.rb
dusen-0.4.11 lib/dusen/description.rb
dusen-0.4.10 lib/dusen/description.rb
dusen-0.4.9 lib/dusen/description.rb
dusen-0.4.8 lib/dusen/description.rb
dusen-0.4.6 lib/dusen/description.rb
dusen-0.4.5 lib/dusen/description.rb
dusen-0.4.4 lib/dusen/description.rb
dusen-0.4.3 lib/dusen/description.rb
dusen-0.4.2 lib/dusen/description.rb
dusen-0.4.1 lib/dusen/description.rb
dusen-0.4.0 lib/dusen/description.rb
dusen-0.3.0 lib/dusen/description.rb