Sha256: 2065bafc3d3b7a4f42254344fc4dfae8d0f885231cdb87fbfe806d779eed8828

Contents?: true

Size: 615 Bytes

Versions: 1

Compression:

Stored size: 615 Bytes

Contents

module Transcriber
  class Resource
    class Property
      module Builder
        def property(name, options = {})
          key Property.new(name, options)
        end

        def properties(*args)
          options = options(args)
          names = args
          names.each {|name| property(name, options)}
        end

        def id(*args)
          options = options(args)
          name = args.fetch(0, :id)
          property(name, options.merge(id: true))
        end

        private

        def options(args)
          args.last.kind_of?(Hash) ? args.pop : {}
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
transcriber-0.0.26 lib/transcriber/resource/key/property/builder.rb