Module: DataProvider::Base::InstanceMethods
- Defined in:
- lib/data_provider/base.rb
Instance Attribute Summary collapse
-
#options ⇒ Object
readonly
Returns the value of attribute options.
Instance Method Summary collapse
- #add(_module) ⇒ Object
- #add!(_module) ⇒ Object
- #add_scoped(_module, options = {}) ⇒ Object
- #add_scoped!(_module, options = {}) ⇒ Object
- #data_provider_container ⇒ Object (also: #dpc)
- #give(*args) ⇒ Object (also: #add_scope, #add_data)
- #initialize(opts = {}) ⇒ Object
- #logger ⇒ Object
Instance Attribute Details
#options ⇒ Object (readonly)
Returns the value of attribute options.
150 151 152 |
# File 'lib/data_provider/base.rb', line 150 def @options end |
Instance Method Details
#add(_module) ⇒ Object
172 173 174 175 176 177 178 179 180 181 182 183 184 |
# File 'lib/data_provider/base.rb', line 172 def add _module if _module.is_a?(DataProvider::Container) _dpc = _module else _dpc = _module.dpc self.class.include _module # todo: make optional? end self.class.new(.merge({ :data => nil, :dpc => dpc.add(_dpc) })) end |
#add!(_module) ⇒ Object
207 208 209 210 211 212 213 214 215 216 |
# File 'lib/data_provider/base.rb', line 207 def add! _module if _module.is_a?(DataProvider::Container) dpc.add!(_module) else dpc.add!(_module.dpc) self.class.include _module end return self end |
#add_scoped(_module, options = {}) ⇒ Object
186 187 188 189 190 191 192 193 194 195 196 197 198 |
# File 'lib/data_provider/base.rb', line 186 def add_scoped _module, = {} if _module.is_a?(DataProvider::Container) _dpc = _module else _dpc = _module.dpc self.class.include _module # todo: make optional? end self.class.new(.merge({ :data => nil, :dpc => dpc.add_scoped(_dpc, :scope => [:scope]) })) end |
#add_scoped!(_module, options = {}) ⇒ Object
218 219 220 221 222 223 224 225 226 227 |
# File 'lib/data_provider/base.rb', line 218 def add_scoped! _module, = {} if _module.is_a?(DataProvider::Container) dpc.add_scoped!(_module, ) else dpc.add_scoped! _module.dpc, self.class.include _module end return self end |
#data_provider_container ⇒ Object Also known as: dpc
163 164 165 166 167 168 |
# File 'lib/data_provider/base.rb', line 163 def data_provider_container @data_provider_container ||= [:dpc] || DataProvider::Container.new.tap do |c| # automatically adopt all class-level providers/provides/data c.add! self.class.dpc end end |
#give(*args) ⇒ Object Also known as: add_scope, add_data
200 201 202 |
# File 'lib/data_provider/base.rb', line 200 def give *args self.class.new(.merge(:data => nil, :dpc => self.dpc.give(*args))) end |
#initialize(opts = {}) ⇒ Object
152 153 154 155 |
# File 'lib/data_provider/base.rb', line 152 def initialize(opts = {}) @options = opts.is_a?(Hash) ? opts : {} dpc.give!([:data]) if [:data].is_a?(Hash) end |
#logger ⇒ Object
157 158 159 160 161 |
# File 'lib/data_provider/base.rb', line 157 def logger @logger ||= [:logger] || Logger.new(STDOUT).tap do |lger| lger.level = Logger::WARN end end |