Class: Jake::Build
Constant Summary collapse
- DEFAULT_LAYOUT =
'together'
Instance Attribute Summary collapse
-
#helper ⇒ Object
readonly
Returns the value of attribute helper.
Instance Method Summary collapse
- #build_directory ⇒ Object
- #each(&block) ⇒ Object
- #force! ⇒ Object
- #forced? ⇒ Boolean
- #header ⇒ Object
-
#initialize(dir, config = nil, options = {}) ⇒ Build
constructor
A new instance of Build.
- #layout ⇒ Object
- #package(name) ⇒ Object
- #packer_settings(build_name) ⇒ Object
- #run! ⇒ Object
- #source_directory ⇒ Object
- #use_suffix?(build_name) ⇒ Boolean
Constructor Details
#initialize(dir, config = nil, options = {}) ⇒ Build
Returns a new instance of Build.
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/jake/build.rb', line 12 def initialize(dir, config = nil, = {}) @dir = File.(dir) @helper = Helper.new() path = "#{dir}/#{CONFIG_FILE}" yaml = File.read(path) @config = Jake.symbolize_hash( config || YAML.load(ERB.new(yaml).result(@helper.scope)) ) helpers = "#{dir}/#{HELPER_FILE}" load helpers if File.file?(helpers) @builds = @config[:builds] || {:src => false, :min => @config[:packer]} @packages = @config[:packages].inject({}) do |pkgs, (name, conf)| pkgs[name] = Package.new(self, name, conf) pkgs end @bundles = (@config[:bundles] || {}).inject({}) do |pkgs, (name, conf)| pkgs[name] = Bundle.new(self, name, conf) pkgs end end |
Instance Attribute Details
#helper ⇒ Object (readonly)
Returns the value of attribute helper.
10 11 12 |
# File 'lib/jake/build.rb', line 10 def helper @helper end |
Instance Method Details
#build_directory ⇒ Object
59 60 61 |
# File 'lib/jake/build.rb', line 59 def build_directory "#{ @dir }/#{ @config[:build_directory] || '.' }" end |
#each(&block) ⇒ Object
37 38 39 |
# File 'lib/jake/build.rb', line 37 def each(&block) @builds.each(&block) end |
#force! ⇒ Object
41 42 43 |
# File 'lib/jake/build.rb', line 41 def force! @forced = true end |
#forced? ⇒ Boolean
45 46 47 |
# File 'lib/jake/build.rb', line 45 def forced? !!@forced end |
#header ⇒ Object
67 68 69 70 71 |
# File 'lib/jake/build.rb', line 67 def header @config[:header] ? Jake.read("#{ source_directory }/#{ @config[:header] }") : "" end |
#layout ⇒ Object
85 86 87 |
# File 'lib/jake/build.rb', line 85 def layout @config[:layout] || DEFAULT_LAYOUT end |
#package(name) ⇒ Object
49 50 51 |
# File 'lib/jake/build.rb', line 49 def package(name) @packages[name.to_sym] || @bundles[name.to_sym] end |
#packer_settings(build_name) ⇒ Object
73 74 75 76 77 |
# File 'lib/jake/build.rb', line 73 def packer_settings(build_name) build = @builds[build_name.to_sym] return false unless build build[:packer].nil? ? build : build[:packer] end |
#run! ⇒ Object
53 54 55 56 57 |
# File 'lib/jake/build.rb', line 53 def run! @packages.each { |name, pkg| pkg.write! } @bundles.each { |name, pkg| pkg.write! } @helper.after_build(self) if @helper.respond_to?(:after_build) end |
#source_directory ⇒ Object
63 64 65 |
# File 'lib/jake/build.rb', line 63 def source_directory "#{ @dir }/#{ @config[:source_directory] || '.' }" end |
#use_suffix?(build_name) ⇒ Boolean
79 80 81 82 83 |
# File 'lib/jake/build.rb', line 79 def use_suffix?(build_name) build = @builds[build_name.to_sym] return true unless build build[:suffix] != false end |