Class: Addressive::Graph::AppBuilder
- Inherits:
 - 
      Object
      
        
- Object
 - Addressive::Graph::AppBuilder
 
 
- Includes:
 - BuildsURIs
 
- Defined in:
 - lib/addressive/graph.rb
 
Overview
An app builder is used to add uris for a certain app to a node.
Instance Attribute Summary collapse
- 
  
    
      #defaults  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Returns the value of attribute defaults.
 - 
  
    
      #node  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Returns the value of attribute node.
 - 
  
    
      #spec_factory  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Returns the value of attribute spec_factory.
 
Instance Method Summary collapse
- 
  
    
      #initialize(node, factory, app)  ⇒ AppBuilder 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    
A new instance of AppBuilder.
 - #spec_factory_with_options(overrides) ⇒ Object
 - #use(middleware, *args, &block) ⇒ Object
 
Methods included from BuildsURIs
Constructor Details
#initialize(node, factory, app) ⇒ AppBuilder
Returns a new instance of AppBuilder.
      36 37 38 39 40 41 42 43  | 
    
      # File 'lib/addressive/graph.rb', line 36 def initialize(node, factory, app) @node = node @app = app @spec_factory = factory @callback = nil @defaults = {} @middleware = Middleware::End end  | 
  
Instance Attribute Details
#defaults ⇒ Object (readonly)
Returns the value of attribute defaults.
      33 34 35  | 
    
      # File 'lib/addressive/graph.rb', line 33 def defaults @defaults end  | 
  
#node ⇒ Object (readonly)
Returns the value of attribute node.
      33 34 35  | 
    
      # File 'lib/addressive/graph.rb', line 33 def node @node end  | 
  
#spec_factory ⇒ Object (readonly)
Returns the value of attribute spec_factory.
      33 34 35  | 
    
      # File 'lib/addressive/graph.rb', line 33 def spec_factory @spec_factory end  | 
  
Instance Method Details
#spec_factory_with_options(overrides) ⇒ Object
      45 46 47 48 49 50 51 52  | 
    
      # File 'lib/addressive/graph.rb', line 45 def (overrides) if overrides.key? :app cb = @middleware.unwind(overrides[:app]) else cb = (@callback ||= @middleware.unwind(@app)) end super( {:callback => cb}.merge(overrides) ) end  | 
  
#use(middleware, *args, &block) ⇒ Object
      54 55 56 57 58 59 60 61  | 
    
      # File 'lib/addressive/graph.rb', line 54 def use(middleware, *args, &block) if middleware.respond_to? :call @middleware <<= proc{|app| proc{|env| middleware.call(env, app, *args, &block) } } else @middleware <<= proc{|app| middleware.new(app,*args, &block) } end @callback = nil end  |