Module: Serega::SeregaConfig::SeregaConfigInstanceMethods
- Included in:
- Serega::SeregaConfig
- Defined in:
- lib/serega/config.rb
Overview
SeregaConfig Instance methods
Instance Attribute Summary collapse
-
#opts ⇒ Hash
readonly
Shows current config as Hash.
Instance Method Summary collapse
-
#attribute_keys ⇒ Array<Symbol>
Returns options names allowed in
Serega.attributemethod. -
#auto_preload ⇒ Hash
Auto_preload option.
-
#auto_preload=(value) ⇒ Hash
Validates and sets auto_preload option.
-
#batch_id_option ⇒ Object
Returns current batch_id_option.
-
#batch_id_option=(value) ⇒ Symbol
Sets :batch_id_option config option.
-
#check_attribute_name ⇒ Object
Returns whether attributes names check is disabled.
-
#check_attribute_name=(value) ⇒ Boolean
Sets :check_attribute_name config option.
-
#check_initiate_params ⇒ Boolean
Returns :check_initiate_params config option.
-
#check_initiate_params=(value) ⇒ Boolean
Sets :check_initiate_params config option.
-
#delegate_default_allow_nil ⇒ Boolean
Returns :delegate_default_allow_nil config option.
-
#delegate_default_allow_nil=(value) ⇒ Boolean
Sets :delegate_default_allow_nil config option.
-
#hide_by_default ⇒ Boolean, Symbol
Returns :hide_by_default config option.
-
#hide_by_default=(value) ⇒ Boolean, Symbol
Sets :hide_by_default config option.
-
#initialize(opts = nil) ⇒ Object
Initializes new config instance.
-
#initiate_keys ⇒ Array<Symbol>
Returns options names allowed in
Serega#newmethod. -
#max_cached_plans_per_serializer_count ⇒ Boolean
Returns :max_cached_plans_per_serializer_count config option.
-
#max_cached_plans_per_serializer_count=(value) ⇒ Boolean
Sets :max_cached_plans_per_serializer_count config option.
-
#plugins ⇒ Array
Shows used plugins.
-
#serialize_keys ⇒ Array<Symbol>
Returns options names allowed in
call, to_hmethods.
Instance Attribute Details
#opts ⇒ Hash (readonly)
Shows current config as Hash
46 47 48 |
# File 'lib/serega/config.rb', line 46 def opts @opts end |
Instance Method Details
#attribute_keys ⇒ Array<Symbol>
Returns options names allowed in Serega.attribute method
75 76 77 |
# File 'lib/serega/config.rb', line 75 def attribute_keys opts.fetch(:attribute_keys) end |
#auto_preload ⇒ Hash
Returns auto_preload option.
142 143 144 |
# File 'lib/serega/config.rb', line 142 def auto_preload opts.fetch(:auto_preload) end |
#auto_preload=(value) ⇒ Hash
Validates and sets auto_preload option
148 149 150 151 152 153 154 155 156 157 158 159 |
# File 'lib/serega/config.rb', line 148 def auto_preload=(value) opts[:auto_preload] = case value when true then {has_delegate_option: true, has_serializer_option: true} when false then {has_delegate_option: false, has_serializer_option: false} when Hash SeregaValidations::Utils::CheckAllowedKeys.call(value, %i[has_delegate_option has_serializer_option], "auto_preload") {has_delegate_option: !!value[:has_delegate_option], has_serializer_option: !!value[:has_serializer_option]} else raise SeregaError, "Must have boolean value or Hash, #{value.inspect} provided" end end |
#batch_id_option ⇒ Object
Returns current batch_id_option
193 194 195 |
# File 'lib/serega/config.rb', line 193 def batch_id_option opts.fetch(:batch_id_option) end |
#batch_id_option=(value) ⇒ Symbol
Sets :batch_id_option config option
202 203 204 205 |
# File 'lib/serega/config.rb', line 202 def batch_id_option=(value) raise SeregaError, "Must have Symbol value, #{value.inspect} provided" unless value.is_a?(Symbol) opts[:batch_id_option] = value end |
#check_attribute_name ⇒ Object
Returns whether attributes names check is disabled
178 179 180 |
# File 'lib/serega/config.rb', line 178 def check_attribute_name opts.fetch(:check_attribute_name) end |
#check_attribute_name=(value) ⇒ Boolean
Sets :check_attribute_name config option
187 188 189 190 |
# File 'lib/serega/config.rb', line 187 def check_attribute_name=(value) raise SeregaError, "Must have boolean value, #{value.inspect} provided" if (value != true) && (value != false) opts[:check_attribute_name] = value end |
#check_initiate_params ⇒ Boolean
Returns :check_initiate_params config option
87 88 89 |
# File 'lib/serega/config.rb', line 87 def check_initiate_params opts.fetch(:check_initiate_params) end |
#check_initiate_params=(value) ⇒ Boolean
Sets :check_initiate_params config option
96 97 98 99 |
# File 'lib/serega/config.rb', line 96 def check_initiate_params=(value) raise SeregaError, "Must have boolean value, #{value.inspect} provided" if (value != true) && (value != false) opts[:check_initiate_params] = value end |
#delegate_default_allow_nil ⇒ Boolean
Returns :delegate_default_allow_nil config option
103 104 105 |
# File 'lib/serega/config.rb', line 103 def delegate_default_allow_nil opts.fetch(:delegate_default_allow_nil) end |
#delegate_default_allow_nil=(value) ⇒ Boolean
Sets :delegate_default_allow_nil config option
112 113 114 115 |
# File 'lib/serega/config.rb', line 112 def delegate_default_allow_nil=(value) raise SeregaError, "Must have boolean value, #{value.inspect} provided" if (value != true) && (value != false) opts[:delegate_default_allow_nil] = value end |
#hide_by_default ⇒ Boolean, Symbol
Returns :hide_by_default config option
119 120 121 |
# File 'lib/serega/config.rb', line 119 def hide_by_default opts.fetch(:hide_by_default) end |
#hide_by_default=(value) ⇒ Boolean, Symbol
Sets :hide_by_default config option
131 132 133 134 135 136 137 138 139 |
# File 'lib/serega/config.rb', line 131 def hide_by_default=(value) opts[:hide_by_default] = case value when true, false, :auto value else raise SeregaError, "Must have true, false, or :auto, #{value.inspect} provided" end end |
#initialize(opts = nil) ⇒ Object
Initializes new config instance.
53 54 55 56 |
# File 'lib/serega/config.rb', line 53 def initialize(opts = nil) opts ||= DEFAULTS @opts = SeregaUtils::EnumDeepDup.call(opts) end |
#initiate_keys ⇒ Array<Symbol>
Returns options names allowed in Serega#new method
69 70 71 |
# File 'lib/serega/config.rb', line 69 def initiate_keys opts.fetch(:initiate_keys) end |
#max_cached_plans_per_serializer_count ⇒ Boolean
Returns :max_cached_plans_per_serializer_count config option
163 164 165 |
# File 'lib/serega/config.rb', line 163 def max_cached_plans_per_serializer_count opts.fetch(:max_cached_plans_per_serializer_count) end |
#max_cached_plans_per_serializer_count=(value) ⇒ Boolean
Sets :max_cached_plans_per_serializer_count config option
172 173 174 175 |
# File 'lib/serega/config.rb', line 172 def max_cached_plans_per_serializer_count=(value) raise SeregaError, "Must have Integer value, #{value.inspect} provided" unless value.is_a?(Integer) opts[:max_cached_plans_per_serializer_count] = value end |
#plugins ⇒ Array
Shows used plugins
63 64 65 |
# File 'lib/serega/config.rb', line 63 def plugins opts.fetch(:plugins) end |
#serialize_keys ⇒ Array<Symbol>
Returns options names allowed in call, to_h methods
81 82 83 |
# File 'lib/serega/config.rb', line 81 def serialize_keys opts.fetch(:serialize_keys) end |