Sha256: 875396ce45f553ae83b14d1af8e62f5c0bb8188a6d7b4db130ff8c5368f587eb

Contents?: true

Size: 684 Bytes

Versions: 2

Compression:

Stored size: 684 Bytes

Contents

# -*- encoding : utf-8 -*-
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

2 entries across 2 versions & 1 rubygems

Version Path
rademade_admin-0.0.3 lib/rademade_admin/model/configuration/fields.rb
rademade_admin-0.0.2 lib/rademade_admin/model/configuration/fields.rb