Class: Linner::Environment

Inherits:
Object
  • Object
show all
Defined in:
lib/linner/environment.rb

Instance Method Summary collapse

Constructor Details

#initialize(path) ⇒ Environment

Returns a new instance of Environment.



6
7
8
9
# File 'lib/linner/environment.rb', line 6

def initialize(path)
  @env ||= (YAML::load(File.read path) || Hash.new)
  merge_with_convension
end

Instance Method Details

#bundlesObject



37
38
39
# File 'lib/linner/environment.rb', line 37

def bundles
  @env["bundles"] || []
end

#definitionObject



53
54
55
# File 'lib/linner/environment.rb', line 53

def definition
  File.join public_folder, @env["modules"]["definition"]
end

#environmentsObject



61
62
63
# File 'lib/linner/environment.rb', line 61

def environments
  @env["environments"] || {}
end

#groupsObject



57
58
59
# File 'lib/linner/environment.rb', line 57

def groups
  @env["groups"].values
end

#manifestObject



33
34
35
# File 'lib/linner/environment.rb', line 33

def manifest
  revision["manifest"]
end

#merge_with_environment(environment) ⇒ Object



65
66
67
68
# File 'lib/linner/environment.rb', line 65

def merge_with_environment(environment)
  return @env unless picked = environments[environment]
  @env = @env.rmerge!(picked)
end

#modules_ignoredObject



45
46
47
# File 'lib/linner/environment.rb', line 45

def modules_ignored
  Dir.glob(@env["modules"]["ignored"])
end

#pathsObject



17
18
19
# File 'lib/linner/environment.rb', line 17

def paths
  groups.map { |group| group["paths"] }.flatten.uniq
end

#spritesObject



41
42
43
# File 'lib/linner/environment.rb', line 41

def sprites
  @env["sprites"] || {}
end

#watched_pathsObject



21
22
23
24
25
# File 'lib/linner/environment.rb', line 21

def watched_paths
  [app_folder, vendor_folder, test_folder].select do |path|
    File.exist? path
  end
end

#wrapperObject



49
50
51
# File 'lib/linner/environment.rb', line 49

def wrapper
  @env["modules"]["wrapper"]
end