Sha256: 7328dc514176f8e17f67f31e3c206b242a473f3eedafd38d11b4518851f6f8cb
Contents?: true
Size: 860 Bytes
Versions: 3
Compression:
Stored size: 860 Bytes
Contents
module WhoAmI class TableColumnInfo def initialize(table_name:, column:) @column = column @primary_key = ActiveRecord::Base.get_primary_key(@table_name) end def name @column.name end def type @column.type.to_s end def attributes @attributes ||= begin attrs = [ not_null? && "not null", primary_key? && "primary key", default, ] attrs.select { |attr| attr } end end def primary_key? case @primary_key when Array @primary_key.include?(name) when String @primary_key == name else false end end def not_null? !@column.null end def default if @column.default "default (#{@column.default})" end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
who_am_i-0.0.6 | lib/who_am_i/table_column_info.rb |
who_am_i-0.0.5 | lib/who_am_i/table_column_info.rb |
who_am_i-0.0.4 | lib/who_am_i/table_column_info.rb |