Module: Tina4::FieldTypes::ClassMethods
- Defined in:
- lib/tina4/field_types.rb
Instance Method Summary collapse
- #blob_field(name, nullable: true, default: nil) ⇒ Object
- #boolean_field(name, nullable: true, default: nil) ⇒ Object
- #date_field(name, nullable: true, default: nil) ⇒ Object
- #datetime_field(name, nullable: true, default: nil) ⇒ Object
- #decimal_field(name, precision: 10, scale: 2, nullable: true, default: nil) ⇒ Object
- #field_definitions ⇒ Object
- #float_field(name, nullable: true, default: nil) ⇒ Object
- #integer_field(name, primary_key: false, auto_increment: false, nullable: true, default: nil) ⇒ Object
- #json_field(name, nullable: true, default: nil) ⇒ Object
- #primary_key_field ⇒ Object
- #string_field(name, length: 255, primary_key: false, nullable: true, default: nil) ⇒ Object
- #table_name(name = nil) ⇒ Object
- #text_field(name, nullable: true, default: nil) ⇒ Object
- #timestamp_field(name, nullable: true, default: nil) ⇒ Object
Instance Method Details
#blob_field(name, nullable: true, default: nil) ⇒ Object
65 66 67 |
# File 'lib/tina4/field_types.rb', line 65 def blob_field(name, nullable: true, default: nil) register_field(name, :blob, nullable: nullable, default: default) end |
#boolean_field(name, nullable: true, default: nil) ⇒ Object
49 50 51 |
# File 'lib/tina4/field_types.rb', line 49 def boolean_field(name, nullable: true, default: nil) register_field(name, :boolean, nullable: nullable, default: default) end |
#date_field(name, nullable: true, default: nil) ⇒ Object
53 54 55 |
# File 'lib/tina4/field_types.rb', line 53 def date_field(name, nullable: true, default: nil) register_field(name, :date, nullable: nullable, default: default) end |
#datetime_field(name, nullable: true, default: nil) ⇒ Object
57 58 59 |
# File 'lib/tina4/field_types.rb', line 57 def datetime_field(name, nullable: true, default: nil) register_field(name, :datetime, nullable: nullable, default: default) end |
#decimal_field(name, precision: 10, scale: 2, nullable: true, default: nil) ⇒ Object
44 45 46 47 |
# File 'lib/tina4/field_types.rb', line 44 def decimal_field(name, precision: 10, scale: 2, nullable: true, default: nil) register_field(name, :decimal, precision: precision, scale: scale, nullable: nullable, default: default) end |
#field_definitions ⇒ Object
10 11 12 |
# File 'lib/tina4/field_types.rb', line 10 def field_definitions @field_definitions ||= {} end |
#float_field(name, nullable: true, default: nil) ⇒ Object
40 41 42 |
# File 'lib/tina4/field_types.rb', line 40 def float_field(name, nullable: true, default: nil) register_field(name, :float, nullable: nullable, default: default) end |
#integer_field(name, primary_key: false, auto_increment: false, nullable: true, default: nil) ⇒ Object
26 27 28 29 |
# File 'lib/tina4/field_types.rb', line 26 def integer_field(name, primary_key: false, auto_increment: false, nullable: true, default: nil) register_field(name, :integer, primary_key: primary_key, auto_increment: auto_increment, nullable: nullable, default: default) end |
#json_field(name, nullable: true, default: nil) ⇒ Object
69 70 71 |
# File 'lib/tina4/field_types.rb', line 69 def json_field(name, nullable: true, default: nil) register_field(name, :json, nullable: nullable, default: default) end |
#primary_key_field ⇒ Object
14 15 16 |
# File 'lib/tina4/field_types.rb', line 14 def primary_key_field @primary_key_field end |
#string_field(name, length: 255, primary_key: false, nullable: true, default: nil) ⇒ Object
31 32 33 34 |
# File 'lib/tina4/field_types.rb', line 31 def string_field(name, length: 255, primary_key: false, nullable: true, default: nil) register_field(name, :string, length: length, primary_key: primary_key, nullable: nullable, default: default) end |
#table_name(name = nil) ⇒ Object
18 19 20 21 22 23 24 |
# File 'lib/tina4/field_types.rb', line 18 def table_name(name = nil) if name @table_name = name else @table_name || self.name.split("::").last.downcase + "s" end end |
#text_field(name, nullable: true, default: nil) ⇒ Object
36 37 38 |
# File 'lib/tina4/field_types.rb', line 36 def text_field(name, nullable: true, default: nil) register_field(name, :text, nullable: nullable, default: default) end |
#timestamp_field(name, nullable: true, default: nil) ⇒ Object
61 62 63 |
# File 'lib/tina4/field_types.rb', line 61 def (name, nullable: true, default: nil) register_field(name, :timestamp, nullable: nullable, default: default) end |