Class: Jets::Engine::Configuration

Inherits:
Turbine::Configuration show all
Defined in:
lib/jets/engine/configuration.rb

Direct Known Subclasses

Application::Configuration

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Turbine::Configuration

#after_initialize, #app_generators, #app_middleware, #before_configuration, #before_eager_load, #before_initialize, #eager_load_namespaces, eager_load_namespaces, #respond_to?, #to_prepare, #to_prepare_blocks, #watchable_dirs, #watchable_files

Constructor Details

#initialize(root = nil) ⇒ Configuration

Returns a new instance of Configuration.



10
11
12
13
14
15
16
# File 'lib/jets/engine/configuration.rb', line 10

def initialize(root = nil)
  super()
  @root = root
  @generators = app_generators.dup
  @middleware = Jets::Configuration::MiddlewareStackProxy.new
  @javascript_path = "javascript"
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class Jets::Turbine::Configuration

Instance Attribute Details

#autoload_once_pathsObject



87
88
89
# File 'lib/jets/engine/configuration.rb', line 87

def autoload_once_paths
  @autoload_once_paths ||= paths.autoload_once
end

#autoload_pathsObject



91
92
93
# File 'lib/jets/engine/configuration.rb', line 91

def autoload_paths
  @autoload_paths ||= paths.autoload_paths
end

#eager_load_pathsObject



83
84
85
# File 'lib/jets/engine/configuration.rb', line 83

def eager_load_paths
  @eager_load_paths ||= paths.eager_load
end

#javascript_pathObject

Returns the value of attribute javascript_path.



7
8
9
# File 'lib/jets/engine/configuration.rb', line 7

def javascript_path
  @javascript_path
end

#middlewareObject

Returns the value of attribute middleware.



7
8
9
# File 'lib/jets/engine/configuration.rb', line 7

def middleware
  @middleware
end

#rootObject

Returns the value of attribute root.



6
7
8
# File 'lib/jets/engine/configuration.rb', line 6

def root
  @root
end

Instance Method Details

#generators {|@generators| ... } ⇒ Object

Holds generators configuration:

config.generators do |g|
  g.orm             :data_mapper, migration: true
  g.template_engine :haml
  g.test_framework  :rspec
end

If you want to disable color in console, do:

config.generators.colorize_logging = false

Yields:



30
31
32
33
34
# File 'lib/jets/engine/configuration.rb', line 30

def generators
  @generators ||= Jets::Configuration::Generators.new
  yield(@generators) if block_given?
  @generators
end

#pathsObject



36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# File 'lib/jets/engine/configuration.rb', line 36

def paths
  @paths ||= begin
    paths = Jets::Paths::Root.new(@root)

    paths.add "app",                 eager_load: true,
                                      glob: "{*,*/concerns}",
                                      exclude: ["assets", javascript_path]
    paths.add "app/assets",          glob: "*"
    paths.add "app/controllers",     eager_load: true
    paths.add "app/channels",        eager_load: true
    paths.add "app/helpers",         eager_load: true
    paths.add "app/models",          eager_load: true
    paths.add "app/mailers",         eager_load: true
    paths.add "app/views"
    # Jets
    paths.add "app/functions",         ignore: true
    paths.add "app/shared",            eager_load: false
    paths.add "app/shared/extensions", collapse: true
    paths.add "app/shared/functions",  ignore: true
    paths.add "app/shared/resources",  collapse: true

    paths.add "lib",                 load_path: true
    paths.add "lib/assets",          glob: "*"
    paths.add "lib/tasks",           glob: "**/*.rake"

    paths.add "config"
    paths.add "config/environments", glob: -"#{Jets.env}.rb"
    paths.add "config/initializers", glob: "**/*.rb"
    paths.add "config/locales",      glob: "**/*.{rb,yml}"
    paths.add "config/routes.rb"
    paths.add "config/routes",       glob: "**/*.rb"

    paths.add "db"
    paths.add "db/migrate"
    paths.add "db/seeds.rb"

    paths.add "vendor",              load_path: true
    paths.add "vendor/assets",       glob: "*"

    paths
  end
end