Class: Slither
- Inherits:
-
Object
show all
- Defined in:
- lib/slither/column.rb,
lib/slither/parser.rb,
lib/slither/section.rb,
lib/slither/slither.rb,
lib/slither/generator.rb,
lib/slither/definition.rb
Defined Under Namespace
Classes: Column, ColumnMismatchError, Definition, DuplicateColumnNameError, FormattedStringExceedsLengthError, Generator, LineWrongSizeError, Parser, ParserError, RequiredSectionEmptyError, RequiredSectionNotFoundError, Section, SectionsNotSameLengthError
Constant Summary
collapse
- VERSION =
'0.99.5'
Class Method Summary
collapse
Class Method Details
.define(name, options = {}) {|definition| ... } ⇒ Object
14
15
16
17
18
19
|
# File 'lib/slither/slither.rb', line 14
def self.define(name, options = {}, &block)
definition = Definition.new(options)
yield(definition)
definitions[name] = definition
definition
end
|
.generate(definition_name, data) ⇒ Object
21
22
23
24
25
26
|
# File 'lib/slither/slither.rb', line 21
def self.generate(definition_name, data)
definition = definition(definition_name)
raise ArgumentError, "Definition name '#{name}' was not found." unless definition
generator = Generator.new(definition)
generator.generate(data)
end
|
.parse(filename, definition_name) ⇒ Object
34
35
36
37
38
39
|
# File 'lib/slither/slither.rb', line 34
def self.parse(filename, definition_name)
raise ArgumentError, "File #{filename} does not exist." unless File.exists?(filename)
file_io = File.open(filename, 'r')
parseIo(file_io, definition_name)
end
|
.parseIo(io, definition_name) ⇒ Object
41
42
43
44
45
46
|
# File 'lib/slither/slither.rb', line 41
def self.parseIo(io, definition_name)
definition = definition(definition_name)
raise ArgumentError, "Definition name '#{definition_name}' was not found." unless definition
parser = Parser.new(definition, io)
definition.options[:by_bytes] ? parser.parse_by_bytes : parser.parse(definition.options[:error_handler])
end
|
.write(filename, definition_name, data) ⇒ Object
28
29
30
31
32
|
# File 'lib/slither/slither.rb', line 28
def self.write(filename, definition_name, data)
File.open(filename, 'w') do |f|
f.write generate(definition_name, data)
end
end
|