Sha256: e0e5ace0ccd36f00e8f2e0e2b010020e9b25da37a413d972a15af7ffffb93ac8

Contents?: true

Size: 1.22 KB

Versions: 17

Compression:

Stored size: 1.22 KB

Contents

module Faalis::Dashboard
  class FormFieldsProperties

    def initializer
      @fields = {}
    end

    def fields=(all_fields)
      fields.each do |name, field|
        unless all_fields.include? name.to_s
          raise ArgumentError, "'#{name}' is not a valid field"
        end
      end

      all_fields.each do |name, field|
        unless fields.include?(name.to_sym)

          Rails.logger.debug("FIELD NAME: #{name}")
          Rails.logger.debug("FIELD TYPE: #{field.type}")

          if self.respond_to?("setup_#{field.type}".to_sym, true)
            puts "sdasda" * 100
            send("setup_#{field.type}", name)
          end
        end
      end
    end

    def fields
      @fields || {}
    end

    def []=(name, detail)
      @fields ||= {}
      @fields[name.to_sym] = detail
    end

    def [](index)
      unless @fields.nil?
        return @fields[index] || {}
      end
      {}
    end

    def method_missing(m, *args, &block)
      @fields ||= {}
      if self.respond_to? m
        return self.send(m, *args, &block)
      else
        # FIXME: This probably is a bad idea. We should get the whole
        # args
        @fields[m] = args[0]
      end
    end

    def to_hash
      fields
    end


  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
faalis-2.2.0.pre.rc1 lib/faalis/dashboard/dsl/form_fields_properties.rb
faalis-2.2.1 lib/faalis/dashboard/dsl/form_fields_properties.rb
faalis-2.2.0 lib/faalis/dashboard/dsl/form_fields_properties.rb
faalis-2.1.1 lib/faalis/dashboard/dsl/form_fields_properties.rb
faalis-2.1.0 lib/faalis/dashboard/dsl/form_fields_properties.rb
faalis-2.0.8 lib/faalis/dashboard/dsl/form_fields_properties.rb
faalis-2.0.7 lib/faalis/dashboard/dsl/form_fields_properties.rb
faalis-2.0.5 lib/faalis/dashboard/dsl/form_fields_properties.rb
faalis-2.0.4 lib/faalis/dashboard/dsl/form_fields_properties.rb
faalis-2.0.3 lib/faalis/dashboard/dsl/form_fields_properties.rb
faalis-2.0.1 lib/faalis/dashboard/dsl/form_fields_properties.rb
faalis-2.0.0 lib/faalis/dashboard/dsl/form_fields_properties.rb
faalis-2.0.0.rc6 lib/faalis/dashboard/dsl/form_fields_properties.rb
faalis-2.0.0.rc5 lib/faalis/dashboard/dsl/form_fields_properties.rb
faalis-2.0.0.rc4 lib/faalis/dashboard/dsl/form_fields_properties.rb
faalis-2.0.0.rc3 lib/faalis/dashboard/dsl/form_fields_properties.rb
faalis-2.0.0.rc2 lib/faalis/dashboard/dsl/form_fields_properties.rb