Module: Gitara

Defined in:
lib/gitara.rb,
lib/gitara/app.rb,
lib/gitara/dsl.rb,
lib/gitara/voice.rb,
lib/gitara/version.rb,
lib/gitara/node/bar.rb,
lib/gitara/node/tab.rb,
lib/gitara/node/base.rb,
lib/gitara/node/line.rb,
lib/gitara/utilities.rb,
lib/gitara/dsl_macros.rb,
lib/gitara/node/score.rb,
lib/gitara/node/repeat.rb,
lib/gitara/node/stanza.rb,
lib/gitara/node/note_set.rb,
lib/gitara/node/chord_set.rb,
lib/gitara/time_signature.rb,
lib/gitara/node/alternative.rb,
lib/gitara/node/base/node_version.rb,
lib/gitara/node/bar/stanza_version.rb,
lib/gitara/node/bar/voiced_version.rb,
lib/gitara/node/bar/chorded_version.rb,
lib/gitara/node/base/stanza_version.rb,
lib/gitara/node/base/voiced_version.rb,
lib/gitara/node/base/chorded_version.rb,
lib/gitara/node/chord_set/chorded_version.rb

Defined Under Namespace

Modules: DslMacros, Node, Utilities Classes: App, Dsl, TimeSignature, Voice

Constant Summary collapse

VERSION =
"1.0.1"

Class Method Summary collapse

Class Method Details

.define(&block) ⇒ Object


37
38
39
40
41
# File 'lib/gitara.rb', line 37

def self.define(&block)
  @tab = Dsl.new(:node => Node::Tab.new).tap {|dsl|
    dsl.instance_eval(&block) if block_given?
  }.node
end

.render(path, object) ⇒ Object


43
44
45
46
47
# File 'lib/gitara.rb', line 43

def self.render(path, object)
  template = (Pow!('gitara/template') / "#{path}.erb")
  erb = Erubis::Eruby.new(Utilities.read!(template))
  erb.evaluate(object)
end

.tabObject


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

def self.tab
  @tab
end