Class: Concrete::ConcreteSyntaxProvider
- Inherits:
-
Object
- Object
- Concrete::ConcreteSyntaxProvider
- Defined in:
- lib/concrete/concrete_syntax_provider.rb
Defined Under Namespace
Classes: ConcreteSyntax
Instance Method Summary collapse
-
#initialize(configDirs, logger, config = nil) ⇒ ConcreteSyntaxProvider
constructor
A new instance of ConcreteSyntaxProvider.
- #selectedSyntax ⇒ Object
- #selectSyntax(ident) ⇒ Object
- #syntaxes ⇒ Object
- #syntaxesAsJson ⇒ Object
Constructor Details
#initialize(configDirs, logger, config = nil) ⇒ ConcreteSyntaxProvider
Returns a new instance of ConcreteSyntaxProvider.
11 12 13 14 15 16 |
# File 'lib/concrete/concrete_syntax_provider.rb', line 11 def initialize(configDirs, logger, config=nil) @configDirs = configDirs @logger = logger @config = config @selectedSyntax = nil end |
Instance Method Details
#selectedSyntax ⇒ Object
18 19 20 21 22 23 |
# File 'lib/concrete/concrete_syntax_provider.rb', line 18 def selectedSyntax syn = syntaxes storedIdent = @config.andand.loadValue("concrete_syntax") storedSyntax = syn.find{|s| s.ident == storedIdent} if storedIdent storedSyntax || @selectedSyntax || syn.first end |
#selectSyntax(ident) ⇒ Object
25 26 27 28 |
# File 'lib/concrete/concrete_syntax_provider.rb', line 25 def selectSyntax(ident) @selectedSyntax = syntaxes.find{|s| s.ident == ident} @config.andand.storeValue("concrete_syntax", ident.to_s) if @selectedSyntax end |
#syntaxes ⇒ Object
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/concrete/concrete_syntax_provider.rb', line 36 def syntaxes result = [] @configDirs.each do |cd| next unless File.exist?(cd) Dir.entries(cd).sort.each do |sd| next if sd == "." || sd == ".." syntaxDir = cd+"/"+sd s = ConcreteSyntax.new s.ident = syntaxDir.gsub("\\","/") s.dir = syntaxDir s.name = sd.split(/[_\W]/).collect{|w| w.capitalize}.join(" ") s.desc = "" result << s end end result end |
#syntaxesAsJson ⇒ Object
30 31 32 33 34 |
# File 'lib/concrete/concrete_syntax_provider.rb', line 30 def syntaxesAsJson '{ "syntaxes": [' + syntaxes.collect do |s| '{ "ident": "'+s.ident+'", "name": "'+s.name+'" }' end.join(", ") + '], "selected": "'+@selectedSyntax.andand.ident.to_s+'" }' end |