Module: Deimos::SharedConfig::ClassMethods
- Defined in:
- lib/deimos/shared_config.rb
Overview
need to use this instead of class_methods to be backwards-compatible with Rails 3
Instance Method Summary collapse
- #config ⇒ Hash
-
#key_config(plain: nil, field: nil, schema: nil, none: nil) ⇒ Object
Set key configuration.
-
#namespace(namespace) ⇒ Object
Set the namespace.
-
#schema(schema) ⇒ Object
Set the schema.
- #schema_class_config(use_schema_classes) ⇒ Object
Instance Method Details
#config ⇒ Hash
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/deimos/shared_config.rb', line 14 def config return @config if @config # default to none: true @config = { key_configured: false, encode_key: false, no_keys: true } klass = self.superclass while klass.respond_to?(:config) klass_config = klass.config if klass_config # default is true for this so don't include it in the merge klass_config.delete(:encode_key) if klass_config[:encode_key] @config.merge!(klass_config) if klass.config end klass = klass.superclass end @config end |
#key_config(plain: nil, field: nil, schema: nil, none: nil) ⇒ Object
Set key configuration.
54 55 56 57 58 59 60 |
# File 'lib/deimos/shared_config.rb', line 54 def key_config(plain: nil, field: nil, schema: nil, none: nil) config[:key_configured] = true config[:no_keys] = none config[:encode_key] = !plain && !none config[:key_field] = field&.to_s config[:key_schema] = schema end |
#namespace(namespace) ⇒ Object
Set the namespace.
44 45 46 |
# File 'lib/deimos/shared_config.rb', line 44 def namespace(namespace) config[:namespace] = namespace end |
#schema(schema) ⇒ Object
Set the schema.
38 39 40 |
# File 'lib/deimos/shared_config.rb', line 38 def schema(schema) config[:schema] = schema end |
#schema_class_config(use_schema_classes) ⇒ Object
63 64 65 |
# File 'lib/deimos/shared_config.rb', line 63 def schema_class_config(use_schema_classes) config[:use_schema_classes] = use_schema_classes end |