Class: Serega::SeregaPlugins::Batch::BatchConfig
- Inherits:
-
Object
- Object
- Serega::SeregaPlugins::Batch::BatchConfig
- Defined in:
- lib/serega/plugins/batch/lib/batch_config.rb
Overview
Batch plugin config
Instance Attribute Summary collapse
-
#opts ⇒ Object
readonly
Returns the value of attribute opts.
Instance Method Summary collapse
-
#auto_hide ⇒ Boolean?
Shows option to auto hide attributes with :batch specified.
-
#auto_hide=(value) ⇒ Boolean
New option value.
-
#default_key ⇒ Symbol?
Shows default key for :batch option.
-
#default_key=(value) ⇒ Boolean
New option value.
-
#define(loader_name, &block) ⇒ void
Defines batch loader.
-
#fetch_loader(loader_name) ⇒ Proc
Finds previously defined batch loader by name.
-
#initialize(opts) ⇒ BatchConfig
constructor
A new instance of BatchConfig.
-
#loaders ⇒ Hash
Shows defined loaders.
Constructor Details
#initialize(opts) ⇒ BatchConfig
Returns a new instance of BatchConfig.
12 13 14 |
# File 'lib/serega/plugins/batch/lib/batch_config.rb', line 12 def initialize(opts) @opts = opts end |
Instance Attribute Details
#opts ⇒ Object (readonly)
Returns the value of attribute opts.
10 11 12 |
# File 'lib/serega/plugins/batch/lib/batch_config.rb', line 10 def opts @opts end |
Instance Method Details
#auto_hide ⇒ Boolean?
Shows option to auto hide attributes with :batch specified
56 57 58 |
# File 'lib/serega/plugins/batch/lib/batch_config.rb', line 56 def auto_hide opts[:auto_hide] end |
#auto_hide=(value) ⇒ Boolean
Returns New option value.
62 63 64 65 |
# File 'lib/serega/plugins/batch/lib/batch_config.rb', line 62 def auto_hide=(value) raise SeregaError, "Must have boolean value, #{value.inspect} provided" if (value != true) && (value != false) opts[:auto_hide] = value end |
#default_key ⇒ Symbol?
Shows default key for :batch option
69 70 71 |
# File 'lib/serega/plugins/batch/lib/batch_config.rb', line 69 def default_key opts[:default_key] end |
#default_key=(value) ⇒ Boolean
Returns New option value.
75 76 77 78 |
# File 'lib/serega/plugins/batch/lib/batch_config.rb', line 75 def default_key=(value) raise SeregaError, "Must be a Symbol, #{value.inspect} provided" unless value.is_a?(Symbol) opts[:default_key] = value end |
#define(loader_name, &block) ⇒ void
This method returns an undefined value.
Defines batch loader
25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/serega/plugins/batch/lib/batch_config.rb', line 25 def define(loader_name, &block) unless block raise SeregaError, "Block must be given to #define method" end params = block.parameters if params.count > 3 || !params.all? { |param| (param[0] == :req) || (param[0] == :opt) } raise SeregaError, "Block can have maximum 3 regular parameters" end loaders[loader_name] = block end |
#fetch_loader(loader_name) ⇒ Proc
Finds previously defined batch loader by name
50 51 52 |
# File 'lib/serega/plugins/batch/lib/batch_config.rb', line 50 def fetch_loader(loader_name) loaders[loader_name] || (raise SeregaError, "Batch loader with name `#{loader_name.inspect}` was not defined. Define example: config.batch.define(:#{loader_name}) { |keys, ctx, points| ... }") end |
#loaders ⇒ Hash
Shows defined loaders
40 41 42 |
# File 'lib/serega/plugins/batch/lib/batch_config.rb', line 40 def loaders opts[:loaders] end |