Class: SublimeDSL::TextMate::Snippet::Importer

Inherits:
Object
  • Object
show all
Defined in:
lib/sublime_dsl/textmate/snippet.rb

Overview

Abstract importer

Direct Known Subclasses

PListReader, XMLReader

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(file) ⇒ Importer

Returns a new instance of Importer.



175
176
177
178
179
180
181
# File 'lib/sublime_dsl/textmate/snippet.rb', line 175

def initialize(file)
  @file = file
  @snippet = Snippet.new
  load
  @snippet.basename = File.basename(file, File.extname(file))
  @snippet.complete!
end

Instance Attribute Details

#fileObject (readonly)

Returns the value of attribute file.



173
174
175
# File 'lib/sublime_dsl/textmate/snippet.rb', line 173

def file
  @file
end

#snippetObject (readonly)

Returns the value of attribute snippet.



173
174
175
# File 'lib/sublime_dsl/textmate/snippet.rb', line 173

def snippet
  @snippet
end

Class Method Details

.for(file) ⇒ Object

Return a concrete importer for file.



162
163
164
165
166
167
168
169
170
171
# File 'lib/sublime_dsl/textmate/snippet.rb', line 162

def self.for(file)
  case File.extname(file)
  when '.tmSnippet'
    PListReader.new(file)
  when '.sublime-snippet'
    XMLReader.new(file)
  else
    raise Error, "unknown snippet file format: #{file}"
  end
end

Instance Method Details

#loadObject

Load the content of #file into #snippet

Raises:

  • (NotImplementedError)


184
185
186
# File 'lib/sublime_dsl/textmate/snippet.rb', line 184

def load
  raise NotImplementedError
end