Sha256: 72aa41224d5e6ee976cff789aaea3204abf73e0bad6feddb966c351897e74259
Contents?: true
Size: 871 Bytes
Versions: 1
Compression:
Stored size: 871 Bytes
Contents
require 'active_record_schema/field' require 'active_record_schema/index' require 'active_record_schema/join' require 'active_record_schema/schema_diff' module ActiveRecordSchema class Schema include ActiveRecordSchema::SchemaDiff attr_reader :model, :fields, :indexes, :joins def initialize(model) @model = model @fields = ActiveSupport::OrderedHash.new @indexes = {} @joins = {} end def field_names fields.values.map(&:name).map(&:to_s) end def add_field(column, type, options) @fields[:"#{column}"] = Field.new(column, type, options) end def add_index(column, options = {}) @indexes[:"#{column}"] = Index.new(column, options) end def add_join(table, key1, key2, index = true) @joins[:"#{table}"] = Join.new(table, key1, key2) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
active_record_schema-0.5.7 | lib/active_record_schema/schema.rb |