Sha256: 9eb3eefd157cd70bf1b99e05beb2cf388ba89be46ae9bd0237f5f33855e85ef7
Contents?: true
Size: 742 Bytes
Versions: 12
Compression:
Stored size: 742 Bytes
Contents
module Storey class SchemaName < String RESERVED_SCHEMAS = %w(hstore) easy_class_to_instance def initialize(name) @name = if @name.respond_to?(:to_s) name.to_s else name end super @name end def valid? (@name =~ /^[^0-9][\w]*$/ || @name == '"$user"') && @name !~ /^pg_/ end def reserved? RESERVED_SCHEMAS.include?(@name) end def validate_format! unless self.valid? raise SchemaInvalid, "`#{@name}` is not a valid schema name" end end def validate_reserved! if self.reserved? raise SchemaReserved, "`#{@name}` is a reserved schema name" end end end end
Version data entries
12 entries across 12 versions & 1 rubygems