Sha256: 476b85349ae0a6a8f64e521f7e1d8bef23e42b7b7df7a3f0294b91fea22aa1b7

Contents?: true

Size: 530 Bytes

Versions: 1

Compression:

Stored size: 530 Bytes

Contents

module HoboFields
  
  FieldsDeclaration = classy_module do 
    
    def self.fields(&b)
      # Any model that calls 'fields' gets a bunch of other
      # functionality included automatically, but make sure we only include it once
      include HoboFields::ModelExtensions unless HoboFields::ModelExtensions.in?(included_modules)
      
      if b
        dsl = FieldDeclarationDsl.new(self)
        if b.arity == 1
          yield dsl
        else
          dsl.instance_eval(&b)
        end
      end
    end
    
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
hobofields-0.7.5 lib/hobo_fields/fields_declaration.rb