Sha256: 3a4fb95a1bdfde4100406e01b1013e1fd9c47b1f3ab9b7d1af936f063809982e

Contents?: true

Size: 694 Bytes

Versions: 3

Compression:

Stored size: 694 Bytes

Contents

require "expressir/express/model_element"

module Expressir
  module Express
    class WhereRule < ModelElement
      attr_accessor :name, :expression

      def initialize(options = {})
        @name = nil
        @options = options
      end

      def parse
        document = @options.fetch(:where, nil)
        extract_where_attributes(document) if document

        self
      end

      def self.parse(document)
        new(document: document).parse
      end

      private

      def extract_where_attributes(document)
        @name = document.attributes["label"].to_s
        @expression = document.attributes["expression"]
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
expressir-0.2.6 lib/expressir/express/where_rule.rb
expressir-0.2.5-x64-mingw32 lib/expressir/express/where_rule.rb
expressir-0.2.4-x64-mingw32 lib/expressir/express/where_rule.rb