Class: Spork::AppFramework

Inherits:
Object
  • Object
show all
Defined in:
lib/spork/app_framework.rb

Direct Known Subclasses

Rails, Unknown

Defined Under Namespace

Classes: Rails, Unknown

Constant Summary collapse

SUPPORTED_FRAMEWORKS =
{
  :Rails => lambda do
    File.exist?("config/environment.rb") && File.read("config/environment.rb").include?('RAILS_GEM_VERSION')
  end
}

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.[](name) ⇒ Object



20
21
22
23
24
25
# File 'lib/spork/app_framework.rb', line 20

def self.[](name)
  instances[name] ||= (
    require File.join(File.dirname(__FILE__), "app_framework", name.to_s.downcase)
    const_get(name).new
  )
end

.detect_frameworkObject



15
16
17
18
# File 'lib/spork/app_framework.rb', line 15

def self.detect_framework
  name = detect_framework_name
  self[name]
end

.detect_framework_nameObject



8
9
10
11
12
13
# File 'lib/spork/app_framework.rb', line 8

def self.detect_framework_name
  SUPPORTED_FRAMEWORKS.each do |key, value|
    return key if value.call
  end
  :Unknown
end

.instancesObject



27
28
29
# File 'lib/spork/app_framework.rb', line 27

def self.instances
  @instances ||= {}
end

.short_nameObject



31
32
33
# File 'lib/spork/app_framework.rb', line 31

def self.short_name
  name.gsub('Spork::AppFramework::', '')
end

Instance Method Details

#bootstrap_required?Boolean

Returns:

  • (Boolean)


35
36
37
# File 'lib/spork/app_framework.rb', line 35

def bootstrap_required?
  entry_point.nil?
end

#entry_pointObject



39
40
41
# File 'lib/spork/app_framework.rb', line 39

def entry_point
  nil
end

#preload(&block) ⇒ Object



43
44
45
# File 'lib/spork/app_framework.rb', line 43

def preload(&block)
  yield
end

#short_nameObject



47
48
49
# File 'lib/spork/app_framework.rb', line 47

def short_name
  self.class.short_name
end