Class: LocalModel::Model::SchemaBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/local_model/model.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(model) ⇒ SchemaBuilder

Returns a new instance of SchemaBuilder.



197
198
199
200
201
202
# File 'lib/local_model/model.rb', line 197

def initialize(model)
  @model = model
  @schema = { id: :integer }
  @model.attr_accessor :id
  @defaults = {}
end

Instance Attribute Details

#defaultsObject (readonly)

Returns the value of attribute defaults.



195
196
197
# File 'lib/local_model/model.rb', line 195

def defaults
  @defaults
end

#schemaObject (readonly)

Returns the value of attribute schema.



194
195
196
# File 'lib/local_model/model.rb', line 194

def schema
  @schema
end

Instance Method Details

#boolean(name, default: nil) ⇒ Object



220
221
222
223
224
# File 'lib/local_model/model.rb', line 220

def boolean(name, default: nil)
  @model.attr_accessor name
  @schema[name] = :boolean
  set_default(name, default)
end

#datetime(name, default: nil) ⇒ Object



232
233
234
235
236
# File 'lib/local_model/model.rb', line 232

def datetime(name, default: nil)
  @model.attr_accessor name
  @schema[name] = :datetime
  set_default(name, default)
end

#float(name, default: nil) ⇒ Object



226
227
228
229
230
# File 'lib/local_model/model.rb', line 226

def float(name, default: nil)
  @model.attr_accessor name
  @schema[name] = :float
  set_default(name, default)
end

#integer(name, default: nil) ⇒ Object



214
215
216
217
218
# File 'lib/local_model/model.rb', line 214

def integer(name, default: nil)
  @model.attr_accessor name
  @schema[name] = :integer
  set_default(name, default)
end

#set_default(name, default) ⇒ Object



204
205
206
# File 'lib/local_model/model.rb', line 204

def set_default(name, default)
  @defaults[name] = default if !default.nil?
end

#string(name, default: nil) ⇒ Object



208
209
210
211
212
# File 'lib/local_model/model.rb', line 208

def string(name, default: nil)
  @model.attr_accessor name
  @schema[name] = :string
  set_default(name, default)
end