Sha256: 40c3c31f3b4c6c0ff23a98f79f9a2f2c38f119d4ba3b140587d75c9496b31dff

Contents?: true

Size: 737 Bytes

Versions: 4

Compression:

Stored size: 737 Bytes

Contents

module Databound
  class Config
    def initialize(block, model)
      @model = model
      @permit = {}
      instance_eval(&block)
    end

    def columns(*specified_columns)
      @columns = specified_columns
    end

    def model(specified_model)
      raise "Model '#{@model}' already specified" if @model

      @model = specified_model
    end

    def permit(*methods, &block)
      methods.each do |method|
        @permit[method] = block
      end
    end

    def dsl(name, value, strict: true, &block)
      @stricts ||= {}
      @stricts[name] = strict

      @dsls ||= {}
      @dsls[name] ||= {}
      @dsls[name][value.to_s] = block
    end

    def read(name)
      instance_variable_get("@#{name}")
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
databound-3.0.3 lib/databound/config.rb
databound-3.0.2 lib/databound/config.rb
databound-3.0.1 lib/databound/config.rb
databound-3.0.0 lib/databound/config.rb