Class: Middleman::DataSource::Extension
- Inherits:
-
Extension
- Object
- Extension
- Middleman::DataSource::Extension
- Defined in:
- lib/middleman/data_source/extension.rb
Defined Under Namespace
Classes: UnsupportedDataExtension
Instance Attribute Summary collapse
-
#app_inst ⇒ Object
readonly
Returns the value of attribute app_inst.
-
#decoders ⇒ Object
readonly
Returns the value of attribute decoders.
-
#sources ⇒ Object
readonly
Returns the value of attribute sources.
Instance Method Summary collapse
-
#initialize(app, options_hash = {}, &block) ⇒ Extension
constructor
A new instance of Extension.
- #rack_app ⇒ Object
Constructor Details
#initialize(app, options_hash = {}, &block) ⇒ Extension
Returns a new instance of Extension.
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/middleman/data_source/extension.rb', line 20 def initialize app, ={}, &block super app, , &block @app_inst = app.respond_to?(:inst) ? app.inst : app @sources = .sources.dup + convert_files_to_sources(.files) @decoders = default_decoders.merge(.decoders) sources.each do |source| add_data_callback_for_source source end if !.collection.empty? collection = { index: 'all' }.merge .collection if collection[:index] add_data_callback_for_source collection.merge alias: File.join( collection[:alias], collection[:index] ) collection_data_callback = lambda { app_inst.data[collection[:alias]][collection[:index]] } else collection_data_callback = lambda { get_data(collection) } end collection[:items].call( collection_data_callback.call() ).map do |source| source[:alias] = File.join(collection[:alias], source[:alias]) source end.each do |source| add_data_callback_for_source(source) end end end |
Instance Attribute Details
#app_inst ⇒ Object (readonly)
Returns the value of attribute app_inst.
14 15 16 |
# File 'lib/middleman/data_source/extension.rb', line 14 def app_inst @app_inst end |
#decoders ⇒ Object (readonly)
Returns the value of attribute decoders.
14 15 16 |
# File 'lib/middleman/data_source/extension.rb', line 14 def decoders @decoders end |
#sources ⇒ Object (readonly)
Returns the value of attribute sources.
14 15 16 |
# File 'lib/middleman/data_source/extension.rb', line 14 def sources @sources end |
Instance Method Details
#rack_app ⇒ Object
16 17 18 |
# File 'lib/middleman/data_source/extension.rb', line 16 def rack_app @_rack_app ||= ::Rack::Test::Session.new( ::Rack::MockSession.new( .rack_app ) ) end |