class Liquigen::TypeMap

Attributes

java_map[RW]
map[RW]
rails_type[RW]
state_map[RW]

Public Class Methods

new(type) click to toggle source
# File lib/liquigen/type_map.rb, line 52
def initialize(type)
  self.rails_type = type
  set_map
end

Public Instance Methods

db_type() click to toggle source
# File lib/liquigen/type_map.rb, line 57
def db_type
  map[rails_type.to_sym]
end
java_type() click to toggle source
# File lib/liquigen/type_map.rb, line 61
def java_type
  java_map[rails_type.to_sym]
end
set_map() click to toggle source
# File lib/liquigen/type_map.rb, line 8
def set_map
  # Only for mysql
  # http://blog.ifyouseewendy.com/blog/2015/08/10/data-types-in-rails/
  self.map = {
    integer: 'bigint',
    long: 'bigint',
    string: 'varchar(255)',
    text: 'text',
    float: 'float',
    decimal: 'decimal',
    datetime: 'datetime',
    date: 'date',
    time: 'time',
    binary: 'blob',
    boolean: 'boolean'
  }

  self.java_map = {
    integer: 'Long',
    long: 'Long',
    string: 'String',
    text: 'String',
    float: 'Float',
    decimal: 'BigDecimal',
    datetime: 'Instant',
    date: 'LocalDateTime',
    time: 'LocalTime',
    binary: 'Object',
    boolean: 'boolean'
  }

  self.state_map = {
    integer: 'Number',
    long: 'Number',
    string: '',
    text: '',
    float: 'Number',
    decimal: 'Number',
    datetime: 'Datetime',
    binary: '',
    boolean: ''
  }
end
statement_type() click to toggle source
# File lib/liquigen/type_map.rb, line 65
def statement_type
  state_map[rails_type.to_sym]
end