Sha256: 85cfb802e1b04505f02e2ed744a6cf78e7783228a71f6aa1561f05fc3992209b

Contents?: true

Size: 413 Bytes

Versions: 28

Compression:

Stored size: 413 Bytes

Contents

module HoboFields

  class FieldDeclarationDsl < BlankSlate

    def initialize(model)
      @model = model
    end

    attr_reader :model


    def timestamps
      field(:created_at, :datetime)
      field(:updated_at, :datetime)
    end


    def field(name, type, *args)
      @model.declare_field(name, type, *args)
    end


    def method_missing(name, *args)
      field(name, *args)
    end

  end

end

Version data entries

28 entries across 28 versions & 1 rubygems

Version Path
hobofields-0.8.3 lib/hobo_fields/field_declaration_dsl.rb
hobofields-0.8.2 lib/hobo_fields/field_declaration_dsl.rb
hobofields-0.8.1 lib/hobo_fields/field_declaration_dsl.rb
hobofields-0.8.7 lib/hobo_fields/field_declaration_dsl.rb
hobofields-0.8 lib/hobo_fields/field_declaration_dsl.rb
hobofields-0.8.6 lib/hobo_fields/field_declaration_dsl.rb
hobofields-0.8.5 lib/hobo_fields/field_declaration_dsl.rb
hobofields-0.8.4 lib/hobo_fields/field_declaration_dsl.rb