Class: BinderCore::FileContext

Inherits:
Object
  • Object
show all
Defined in:
lib/binder_core/file_context.rb

Overview

this object is passed to parser definition test proc it is then wrapped by the obtained parser instance

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeFileContext

Returns a new instance of FileContext.



8
9
10
11
12
13
14
# File 'lib/binder_core/file_context.rb', line 8

def initialize
  @rules    = []
  @parsers  = []
  @route    = []
  @assets   = []
  @params   = {}
end

Instance Attribute Details

#assetsObject

Returns the value of attribute assets.



6
7
8
# File 'lib/binder_core/file_context.rb', line 6

def assets
  @assets
end

#consoleObject

Returns the value of attribute console.



6
7
8
# File 'lib/binder_core/file_context.rb', line 6

def console
  @console
end

#dataObject

Returns the value of attribute data.



6
7
8
# File 'lib/binder_core/file_context.rb', line 6

def data
  @data
end

#fileObject

Returns the value of attribute file.



6
7
8
# File 'lib/binder_core/file_context.rb', line 6

def file
  @file
end

#nameObject

Returns the value of attribute name.



6
7
8
# File 'lib/binder_core/file_context.rb', line 6

def name
  @name
end

#paramsObject

Returns the value of attribute params.



6
7
8
# File 'lib/binder_core/file_context.rb', line 6

def params
  @params
end

#parsersObject

Returns the value of attribute parsers.



6
7
8
# File 'lib/binder_core/file_context.rb', line 6

def parsers
  @parsers
end

#routeObject

Returns the value of attribute route.



6
7
8
# File 'lib/binder_core/file_context.rb', line 6

def route
  @route
end

#rulesObject

Returns the value of attribute rules.



6
7
8
# File 'lib/binder_core/file_context.rb', line 6

def rules
  @rules
end

Instance Method Details

#descend(&user_config) ⇒ Object



28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/binder_core/file_context.rb', line 28

def descend(&user_config)
  feed_config = lambda{ |config|
    config.set_rules    @rules
    config.set_parsers  @parsers
    config.set_assets   @assets
    config.set_console  console
    config.add_params   @params.dup
    config.set_path     file.path
    config.set_route    route.dup << self.name
    user_config.call    config
    config.verify_context
  }
  
  BinderCore::Scanner.descend( feed_config )
end

#register_asset(new_asset) ⇒ Object



21
22
23
24
25
26
# File 'lib/binder_core/file_context.rb', line 21

def register_asset( new_asset )
  new_asset.route = @route.dup
  new_asset.base_url = console.defaults( :base_asset_url ) 
  @assets << new_asset
  new_asset
end