{: rooto:"YARD::CodeObjects::RootObject:@childrenIC:&YARD::CodeObjects::CodeObjectList[o:$YARD::CodeObjects::ModuleObject;IC;[o:#YARD::CodeObjects::ClassObject;IC;[: @owner@ :@class_mixinsIC;[; @ :@instance_mixinsIC;[; @ :@attributesIC:SymbolHash{: classIC;{:@symbolize_valueT: instanceIC;{;T;T: @aliases{: @groups[: @files[["lib/iqeo/configuration.rbi:@current_file_has_commentsF: @name:BlankSlate:@source_type: ruby:@visibility: public: @tags[:@docstringIC:YARD::Docstring" :EF: @object@ : @summary0:@hash_flagF:@ref_tags[;[: @allI"; F:@docstring_extra0:@docstring_extra_tags0:@namespace@: @pathI"Iqeo::BlankSlate; F:@superclasso:YARD::CodeObjects::Proxy : @imethod0:@origname0:@orignamespace0;: Object;(@: @obj0: @dynamicTo; ;IC;[o:$YARD::CodeObjects::MethodObject:@module_functionF: @scope;;;;)I" Iqeo::Configuration.version; F:@parameters[;[[@i;;T;: version;;;[;IC;"*Returns Configuration version number. ; F;$[;[;%"*Returns Configuration version number.;!@;#F:@line_rangeo: Range: exclF: begini9:endi9;&0;'0;(@:@signature"def self.version:@explicitT: @source"7def self.version Iqeo::CONFIGURATION_VERSION end;1To;2;3F;4;;;;)I"Iqeo::Configuration.read; F;5[[" string0;[[@iC;T;: read;;;[;IC;"]Creates a new Configuration instance from string. Content should be in eval DSL format. ; F;$[;[;%I"]Creates a new Configuration instance from string. Content should be in eval DSL format.; F;!@,;#F;7o;8;9F;:i?;;iA;&0;'0;(@;<"def self.read string;=T;>"Rdef self.read string conf = self.new conf.instance_eval string conf end;1To;2;3F;4;;;;)I"Iqeo::Configuration.load; F;5[[" file0;[[@iM;T;: load;;;[;IC;"qCreates a new Configuration instance from filename or File/IO object. Content should be in eval DSL format. ; F;$[;[;%I"qCreates a new Configuration instance from filename or File/IO object. Content should be in eval DSL format.; F;!@;;#F;7o;8;9F;:iI;;iK;&0;'0;(@;<"def self.load file;=T;>"ddef self.load file return self.read file.respond_to?(:read) ? file.read : File.read(file) end;1To;2;3F;4;;;;)I"3Iqeo::Configuration.new_defer_block_for_parent; F;5[[" parent0[I" &block; F0;[[@iQ;F;:new_defer_block_for_parent;;;[;IC;" ; F;!@J;"0;#F;$[;[;%I"; F;&0;'0;(@;<"7def self.new_defer_block_for_parent parent, █=T;>"def self.new_defer_block_for_parent parent, &block conf = Configuration.new conf._parent = parent if block_given? && block.arity > 0 block.call(conf) # this is 'yield self' from the outside end conf end;1To;2;3F;4;;:protected;)I" Iqeo::Configuration#_parent; F;5[;[[@iZ;F;: _parent;;;[;IC;"+Returns the value of attribute _parent ; F;!@Z;"0;#F;$[;[;%I"+Returns the value of attribute _parent; F;&0;'0;(@;I"def _parent @_parent end; F;1To;2;3F;4;;;;)I"!Iqeo::Configuration#_parent=; F;5[[I" value; F0;[[@iZ;F;: _parent=;;;[;IC;"Sets the attribute _parent ; F;!@f;"0;#F;$[;[o:YARD::Tags::Tag :@tag_nameI" param; F: @textI"/the value to set the attribute _parent to.; F;I" value; F: @types0;!@f;%I"WSets the attribute _parent @param value the value to set the attribute _parent to.; F;&0;'0;(@;I"/def _parent=(value) @_parent = value end; F;1To;2;3F;4;;;B;)I"Iqeo::Configuration#_items; F;5[;[[@iZ;F;: _items;;;[;IC;"*Returns the value of attribute _items ; F;!@x;"0;#F;$[;[;%I"*Returns the value of attribute _items; F;&0;'0;(@;I"def _items @_items end; F;1To;2;3F;4;;;B;)I" Iqeo::Configuration#_items=; F;5[[I" value; F0;[[@iZ;F;: _items=;;;[;IC;"Sets the attribute _items ; F;!@;"0;#F;$[;[o;E ;FI" param; F;GI".the value to set the attribute _items to.; F;I" value; F;H0;!@;%I"USets the attribute _items @param value the value to set the attribute _items to.; F;&0;'0;(@;I"-def _items=(value) @_items = value end; F;1To;2;3F;4;;;;)I"#Iqeo::Configuration#initialize; F;5[[" default"nil[I" &block; F0;[[@i\;F;:initialize;;;[;IC;" ; F;!@;"0;#F;$[;[o;E ;FI" return; F;GI"$a new instance of Configuration; F;0;H[I"Configuration; F;!@;%I"; F;&0;'0;(@;<")def initialize default = nil, █=T;>"def initialize default = nil, &block @_items = HashWithIndifferentAccess.new @_parent = nil _merge! default if default.kind_of?( Configuration ) if block_given? if block.arity > 0 # cannot set parent for yield block here as context is unknowable yield self # parent is being set in new_defer_block_for_parent else if block.binding.eval('self').kind_of?( Configuration ) # for eval block if nested configuration @_parent = block.binding.eval('self') # set parent to make inherited values available end # during block execution instance_eval &block end end end;1To;2;3F;4;;;;)I"'Iqeo::Configuration#method_missing; F;5[[" name0[I" *values; F0[I" &block; F0;[[@il;F;:method_missing;;;[;IC;" ; F;!@;"0;#F;$[;[;%I"; F;&0;'0;(@;<"-def method_missing name, *values, █=T;>"def method_missing name, *values, &block return @_items.send( name, *values, &block ) if @_items.respond_to? name # @_items methods are highest priority name = name.to_s.chomp('=') if block_given? # block is a nested configuration if block.arity == 1 # yield DSL needs deferred block to set parent without binding return _set name, Configuration.new_defer_block_for_parent( self, &block ) else return _set name, Configuration.new( &block ) # eval DSL can set parent from block binding in initialize end end return _get name if values.empty? # just get item return _set name, values if values.size > 1 # set item to multiple values return _set name, values.first # set item to single value end;1To;2;3F;4;;;B;)I"Iqeo::Configuration#_set; F;5[["key0[" value0;[[@i~;F;: _set;;;[;IC;" ; F;!@;"0;#F;$[;[;%I"; F;&0;'0;(@;<"def _set key, value;=T;>"mdef _set key, value value._parent = self if value.kind_of?( Configuration ) @_items[key] = value end;1To;2;3F;4;;;B;)I"Iqeo::Configuration#[]=; F;5[;[[@i};F;:[]=;;;[;IC;" ; F;!@;"0;#F;$[;[;%I" ; F;70;&0;'0;(@;<@;>"mdef _set key, value value._parent = self if value.kind_of?( Configuration ) @_items[key] = value end;1To;2;3F;4;;;B;)I"Iqeo::Configuration#_get; F;5[["key0;[[@i;T;: _get;;;[;IC;"Retrieves value for key, indifferent storage permits key to be a string or symbol. If configuration is nested, searches for key recursively up to root. Returns nil if key does not exist. ; F;$[;[;%I"Retrieves value for key, indifferent storage permits key to be a string or symbol. If configuration is nested, searches for key recursively up to root. Returns nil if key does not exist.; F;!@;#F;7o;8;9F;:i;;i;&0;'0;(@;<"def _get key;=T;>"def _get key return @_items[key] unless @_items[key].nil? return @_items[key] if @_parent.nil? @_parent._get key end;1To;2;3F;4;;;B;)I"Iqeo::Configuration#[]; F;5[;[[@i;F;:[];;;[;IC;"Retrieves value for key, indifferent storage permits key to be a string or symbol. If configuration is nested, searches for key recursively up to root. Returns nil if key does not exist. ; F;!@;"0;#F;$[;[;%I"Retrieves value for key, indifferent storage permits key to be a string or symbol. If configuration is nested, searches for key recursively up to root. Returns nil if key does not exist. ; F;70;&0;'0;(@;<@;>"def _get key return @_items[key] unless @_items[key].nil? return @_items[key] if @_parent.nil? @_parent._get key end;1To;2;3F;4;;;;)I"Iqeo::Configuration#_read; F;5[[" string0;[[@i;F;: _read;;;[;IC;" ; F;!@;"0;#F;$[;[;%I"; F;&0;'0;(@;<"def _read string;=T;>"0def _read string instance_eval string end;1To;2;3F;4;;;;)I"Iqeo::Configuration#_load; F;5[[" file0;[[@i;F;: _load;;;[;IC;" ; F;!@;"0;#F;$[;[;%I"; F;&0;'0;(@;<"def _load file;=T;>"Udef _load file _read file.respond_to?(:read) ? file.read : File.read(file) end;1To;2;3F;4;;;;)I" Iqeo::Configuration#_merge!; F;5[[" other0;[[@i;F;: _merge!;;;[;IC;" ; F;!@ ;"0;#F;$[;[;%I"; F;&0;'0;(@;<"def _merge! other;=T;>".def _merge! other @_items.merge!(other._items) do |key,this,other| if this.kind_of?( Configuration ) && other.kind_of?( Configuration ) this._merge! other else other end end @_items.values.each { |value| value._parent = self if value.kind_of?( Configuration ) } self end;1To;2;3F;4;;;;)I"Iqeo::Configuration#_merge; F;5[[" other0;[[@i;F;: _merge;;;[;IC;" ; F;!@;"0;#F;$[;[;%I"; F;&0;'0;(@;<"def _merge other;=T;>"2def _merge other self.dup._merge! other end;1T; @; IC;[; @; IC;[; @;IC;{;IC;{;T;IC;{;CIC;{;?@Z: write@f;T;IIC;{;?@x;U@;T;T;T;{@;M@;O;[;[[@i7;T;:Configuration;;;;;[;IC;"BConfiguration class. A DSL representing configuration files. ; F;$[;[;%I"BConfiguration class. A DSL representing configuration files.; F;!@;#F;7o;8;9F;:i3;;i5;&0;'0;(@;)I"Iqeo::Configuration; F;*o;+ ;,0;-0;.0;;;(@;0@ ;1To:&YARD::CodeObjects::ConstantObject;[["&lib/iqeo/configuration/version.rbi;F;:CONFIGURATION_VERSION;;;;;[;IC;" ; F;!@9;"0;#F;$[;[;%I"; F;&0;'0;(@;)I" Iqeo::CONFIGURATION_VERSION; F;<"$CONFIGURATION_VERSION = "1.0.1";>"$CONFIGURATION_VERSION = "1.0.1": @value" "1.0.1";1T; @; IC;[; @; IC;[; @;IC;{;IC;{;T;IC;{;T;T;{;[;[[@i [@<i;T;: Iqeo;;;;;[;IC;"Iqeo namespace ; F;$[;[;%"Iqeo namespace;!@;#F;7o;8;9F;:i ;;i ;&0;'0;(@;)I" Iqeo; F; @; IC;[; @; IC;[; @;IC;{;IC;{;T;IC;{;T;T;{;[;[;F;;;;;;;[;IC;" ; F;!@;"0;#F;$[;[;%I"; F;&0;'0;(0;)I"; F;Z@:Iqeo::BlankSlate@ :Iqeo::Configuration@: Iqeo::Configuration.version@:Iqeo::Configuration.read@,:Iqeo::Configuration.load@;:3Iqeo::Configuration.new_defer_block_for_parent@J: Iqeo::Configuration#_parent@Z:!Iqeo::Configuration#_parent=@f:Iqeo::Configuration#_items@x: Iqeo::Configuration#_items=@:#Iqeo::Configuration#initialize@:'Iqeo::Configuration#method_missing@:Iqeo::Configuration#_set@:Iqeo::Configuration#[]=@:Iqeo::Configuration#_get@:Iqeo::Configuration#[]@:Iqeo::Configuration#_read@:Iqeo::Configuration#_load@: Iqeo::Configuration#_merge!@ :Iqeo::Configuration#_merge@: Iqeo::CONFIGURATION_VERSION@9