Sha256: a43113b7a46ec84bb92e49e62f210a9365414523f7bf93e156358a1567c80157

Contents?: true

Size: 656 Bytes

Versions: 1

Compression:

Stored size: 656 Bytes

Contents

module RademadeAdmin
  module Model
    class Fields

      attr_reader :fields

      def self.init_from_block(&block)
        model_fields = self.new
        model_fields.instance_eval(&block)
        model_fields
      end

      def self.init_from_options(field_options)
        model_fields = self.new(field_options)
        model_fields
      end

      def initialize(fields = [])
        @fields = fields
      end

      def method_missing(name, *arguments)
        if arguments.empty?
          field = name.to_sym
        else
          field = { name.to_sym => arguments.first }
        end
        @fields << field
      end

    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rademade_admin-0.0.1 lib/rademade_admin/model/configuration/fields.rb