Module: DeclareSchema

Defined in:
lib/declare_schema.rb,
lib/declare_schema/dsl.rb,
lib/declare_schema/model.rb,
lib/declare_schema/command.rb,
lib/declare_schema/railtie.rb,
lib/declare_schema/version.rb,
lib/declare_schema/model/column.rb,
lib/declare_schema/model/field_spec.rb,
lib/declare_schema/schema_change/all.rb,
lib/declare_schema/schema_change/base.rb,
lib/declare_schema/field_declaration_dsl.rb,
lib/declare_schema/model/habtm_model_shim.rb,
lib/declare_schema/model/index_definition.rb,
lib/declare_schema/schema_change/index_add.rb,
lib/declare_schema/schema_change/table_add.rb,
lib/declare_schema/schema_change/column_add.rb,
lib/generators/declare_schema/support/model.rb,
lib/declare_schema/schema_change/index_remove.rb,
lib/declare_schema/schema_change/table_change.rb,
lib/declare_schema/schema_change/table_remove.rb,
lib/declare_schema/schema_change/table_rename.rb,
lib/declare_schema/schema_change/column_change.rb,
lib/declare_schema/schema_change/column_remove.rb,
lib/declare_schema/schema_change/column_rename.rb,
lib/declare_schema/model/foreign_key_definition.rb,
lib/declare_schema/schema_change/foreign_key_add.rb,
lib/generators/declare_schema/support/thor_shell.rb,
lib/declare_schema/model/table_options_definition.rb,
lib/declare_schema/schema_change/foreign_key_remove.rb,
lib/declare_schema/schema_change/primary_key_change.rb,
lib/generators/declare_schema/model/model_generator.rb,
lib/generators/declare_schema/support/eval_template.rb,
lib/generators/declare_schema/migration/migration_generator.rb,
lib/declare_schema/extensions/active_record/fields_declaration.rb

Defined Under Namespace

Modules: Command, Macros, Model, SchemaChange, Support Classes: Boolean, Dsl, FieldDeclarationDsl, MigrationGenerator, ModelGenerator, MysqlTextMayNotHaveDefault, Railtie, UnknownTypeError

Constant Summary collapse

PLAIN_TYPES =
{
  boolean:  Boolean,
  date:     Date,
  datetime: ActiveSupport::TimeWithZone,
  time:     Time,
  integer:  Integer,
  decimal:  BigDecimal,
  float:    Float,
  string:   String,
  text:     String
}.freeze
VERSION =
"0.14.0"

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.db_migrate_commandObject

Returns the value of attribute db_migrate_command.



34
35
36
# File 'lib/declare_schema.rb', line 34

def db_migrate_command
  @db_migrate_command
end

.default_charsetObject

Returns the value of attribute default_charset.



34
35
36
# File 'lib/declare_schema.rb', line 34

def default_charset
  @default_charset
end

.default_collationObject

Returns the value of attribute default_collation.



34
35
36
# File 'lib/declare_schema.rb', line 34

def default_collation
  @default_collation
end

.default_generate_foreign_keysObject

Returns the value of attribute default_generate_foreign_keys.



34
35
36
# File 'lib/declare_schema.rb', line 34

def default_generate_foreign_keys
  @default_generate_foreign_keys
end

.default_generate_indexingObject

Returns the value of attribute default_generate_indexing.



34
35
36
# File 'lib/declare_schema.rb', line 34

def default_generate_indexing
  @default_generate_indexing
end

.default_nullObject

Returns the value of attribute default_null.



34
35
36
# File 'lib/declare_schema.rb', line 34

def default_null
  @default_null
end

.default_string_limitObject

Returns the value of attribute default_string_limit.



34
35
36
# File 'lib/declare_schema.rb', line 34

def default_string_limit
  @default_string_limit
end

.default_text_limitObject

Returns the value of attribute default_text_limit.



34
35
36
# File 'lib/declare_schema.rb', line 34

def default_text_limit
  @default_text_limit
end

Class Method Details

.clear_default_schemaObject



92
93
94
# File 'lib/declare_schema.rb', line 92

def clear_default_schema
  @default_schema = nil
end

.default_schema(&block) ⇒ Object



83
84
85
86
87
88
89
90
# File 'lib/declare_schema.rb', line 83

def default_schema(&block)
  if block.nil?
    @default_schema # equivalent to attr_reader :default_schema
  else
    block.respond_to?(:call) or raise "default_schema must be passed a block that responds to call"
    @default_schema = block
  end
end

.to_class(type) ⇒ Object



37
38
39
40
41
42
43
44
45
46
# File 'lib/declare_schema.rb', line 37

def to_class(type)
  case type
  when Class
    type
  when Symbol, String
    PLAIN_TYPES[type.to_sym]
  else
    raise ArgumentError, "expected Class or Symbol or String: got #{type.inspect}"
  end
end