Class: Stratagem::Model::Application

Inherits:
Object
  • Object
show all
Includes:
Singleton
Defined in:
lib/stratagem/model/application.rb

Overview

container for application

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeApplication

Returns a new instance of Application.



17
18
19
20
21
22
23
24
25
26
# File 'lib/stratagem/model/application.rb', line 17

def initialize
  log "initializing application model"
  @models = ComponentContainer.new self
  @controllers = ComponentContainer.new self
  @routes = RouteContainer.new self
  @views = ComponentContainer.new self
  @static_files = ComponentContainer.new self
  @gems = GemContainer.new self
  @plugins = PluginContainer.new self
end

Instance Attribute Details

#controllersObject (readonly)

Returns the value of attribute controllers.



15
16
17
# File 'lib/stratagem/model/application.rb', line 15

def controllers
  @controllers
end

#crawlerObject

Returns the value of attribute crawler.



14
15
16
# File 'lib/stratagem/model/application.rb', line 14

def crawler
  @crawler
end

#gemsObject (readonly)

Returns the value of attribute gems.



15
16
17
# File 'lib/stratagem/model/application.rb', line 15

def gems
  @gems
end

#modelsObject (readonly)

Returns the value of attribute models.



15
16
17
# File 'lib/stratagem/model/application.rb', line 15

def models
  @models
end

#pluginsObject (readonly)

Returns the value of attribute plugins.



15
16
17
# File 'lib/stratagem/model/application.rb', line 15

def plugins
  @plugins
end

#routesObject (readonly)

Returns the value of attribute routes.



15
16
17
# File 'lib/stratagem/model/application.rb', line 15

def routes
  @routes
end

#static_filesObject (readonly)

Returns the value of attribute static_files.



15
16
17
# File 'lib/stratagem/model/application.rb', line 15

def static_files
  @static_files
end

#viewsObject (readonly)

Returns the value of attribute views.



15
16
17
# File 'lib/stratagem/model/application.rb', line 15

def views
  @views
end

Instance Method Details

#exportObject



32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# File 'lib/stratagem/model/application.rb', line 32

def export
  puts "exporting site model"
  references = @controllers.map {|c| c.references }.flatten.map {|r| r.export }.uniq
  h = {
    :rails_version => rails_version,
    :rails_environment => Rails.env,
    :rails_root => Rails.root,
    :models => @models.export, 
    :controllers => @controllers.export, 
    :routes => @routes.export, 
    :views => @views.export,
    :gems => @gems.export,
    :plugins => @plugins.export,
    :site_model => crawler ? crawler.export : nil,
    :references => references
  }
  puts h.to_json
  h
end

#log(msg) ⇒ Object



28
29
30
# File 'lib/stratagem/model/application.rb', line 28

def log(msg)
  Stratagem.logger.debug(msg)
end

#rails_versionObject



52
53
54
# File 'lib/stratagem/model/application.rb', line 52

def rails_version
  Stratagem.rails_version
end