Class: ActiveRecordSchemaScrapper::Attributes
Defined Under Namespace
Modules: DeprecatedRegisterDefaultKeywords
Constant Summary
collapse
- DEFAULT_REGISTERED_TYPES =
{ type: :integer, replacement_type: Integer },
{ type: :float, replacement_type: Float },
{ type: :decimal, replacement_type: BigDecimal },
{ type: Proc.new { |t| [:timestamp, :time].include?(t) }, replacement_type: Time },
{ type: :datetime, replacement_type: DateTime },
{ type: :date, replacement_type: Date },
{ type: Proc.new { |t| %i{text string binary}.include?(t) }, replacement_type: String },
{ type: :boolean, replacement_type: Axiom::Types::Boolean },
{ type: :hstore, replacement_type: Hash },
].freeze
- DEFAULT_REGISTERED_DEFAULTS =
[
{ default: Proc.new { |d| d == "t" }, replacement_default: true },
{ default: Proc.new { |d| d == "f" }, replacement_default: false }
].freeze
Class Method Summary
collapse
Instance Method Summary
collapse
register_default
Constructor Details
#initialize(model:) ⇒ Attributes
Returns a new instance of Attributes.
82
83
84
85
|
# File 'lib/active_record_schema_scrapper/attributes.rb', line 82
def initialize(model:)
@model = model
@errors = []
end
|
Class Method Details
.register_default(default:, replacement_default:, cast_type: :not_given, type: :not_given) ⇒ Object
66
67
68
|
# File 'lib/active_record_schema_scrapper/attributes.rb', line 66
def register_default(default:, replacement_default:, cast_type: :not_given, type: :not_given)
registered_defaults << { default: default, replacement_default: replacement_default, cast_type: cast_type, type: type }
end
|
.register_type(name:, klass:, cast_type: :not_given) ⇒ Object
24
25
26
|
# File 'lib/active_record_schema_scrapper/attributes.rb', line 24
def register_type(name:, klass:, cast_type: :not_given)
registered_types << { type: name, replacement_type: klass, cast_type: cast_type }
end
|
.registered_defaults ⇒ Object
70
71
72
|
# File 'lib/active_record_schema_scrapper/attributes.rb', line 70
def registered_defaults
@registered_defaults ||= DEFAULT_REGISTERED_DEFAULTS.dup
end
|
.registered_types ⇒ Object
28
29
30
|
# File 'lib/active_record_schema_scrapper/attributes.rb', line 28
def registered_types
@registered_types ||= DEFAULT_REGISTERED_TYPES.dup
end
|
.reset_registered_defaults ⇒ Object
74
75
76
|
# File 'lib/active_record_schema_scrapper/attributes.rb', line 74
def reset_registered_defaults
@registered_defaults = DEFAULT_REGISTERED_DEFAULTS.dup
end
|
.reset_registered_types ⇒ Object
32
33
34
|
# File 'lib/active_record_schema_scrapper/attributes.rb', line 32
def reset_registered_types
@registered_types = DEFAULT_REGISTERED_TYPES.dup
end
|
Instance Method Details
#each ⇒ Object
89
90
91
|
# File 'lib/active_record_schema_scrapper/attributes.rb', line 89
def each
call.each { |attr| yield(attr) }
end
|
#errors ⇒ Object
97
98
99
100
|
# File 'lib/active_record_schema_scrapper/attributes.rb', line 97
def errors
to_a
@errors
end
|
#to_a ⇒ Object
93
94
95
|
# File 'lib/active_record_schema_scrapper/attributes.rb', line 93
def to_a
@to_a ||= map { |v| v }
end
|