Sha256: 5361e5741d938b6aa55c5ef1336a3e01806514204131e34f98234ef53a7eb2e9

Contents?: true

Size: 727 Bytes

Versions: 3

Compression:

Stored size: 727 Bytes

Contents

module Para
  module Generators
    module FieldHelpers
      private

      def attributes
        @attributes ||= begin
          model = Para.const_get(class_name)
          AttributeFieldMappings.new(model).fields
        end
      end

      def field_options_for(field)
        field_options = field.field_options

        options = field_options.each_with_object([]) do |(key, value), ary|
          if writable_value?(value)
            ary << "#{ key.inspect } => #{ value.inspect }"
          end
        end

        ", #{ options.join(', ') }" if options.any?
      end

      def writable_value?(value)
        [String, Symbol].any? do |type|
          value.kind_of?(type)
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
para-0.5.1 lib/para/generators/field_helpers.rb
para-0.5.0 lib/para/generators/field_helpers.rb
para-0.4.0 lib/para/generators/field_helpers.rb