Sha256: 935f65247cfd535fd5088123f8b2576b0688da10a850a1bb574039c9412c0ec8

Contents?: true

Size: 554 Bytes

Versions: 10

Compression:

Stored size: 554 Bytes

Contents

require_relative 'prop'

module Immutabler
  module DSL
    class PropsBuilder
      def initialize(props, &block)
        @props = props
        instance_eval(&block)
      end

      def prop(name, type, options={})
        prop_options = {}
        prop_options[:is_ref] = !!options[:ref] if options.key?(:ref)
        prop_options[:ref_type] = options[:ref] if options.key?(:ref)
        prop_options[:name_prefix] = options[:prefix] if options.key?(:prefix)
        @props << Prop.new(name.to_s, type.to_s, prop_options)
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
immutabler-0.1.9 lib/immutabler/dsl/props_builder.rb
immutabler-0.1.8 lib/immutabler/dsl/props_builder.rb
immutabler-0.1.7 lib/immutabler/dsl/props_builder.rb
immutabler-0.1.6 lib/immutabler/dsl/props_builder.rb
immutabler-0.1.5 lib/immutabler/dsl/props_builder.rb
immutabler-0.1.4 lib/immutabler/dsl/props_builder.rb
immutabler-0.1.3 lib/immutabler/dsl/props_builder.rb
immutabler-0.1.2 lib/immutabler/dsl/props_builder.rb
immutabler-0.1.1 lib/immutabler/dsl/props_builder.rb
immutabler-0.1.0 lib/immutabler/dsl/props_builder.rb