@@ -17,14 +17,26 @@ class ColumnMismatchError < StandardError; end
1717 class LineWrongSizeError < StandardError ; end
1818 class SectionsNotSameLengthError < StandardError ; end
1919
20+ class << self
21+ private
22+
23+ def definitions
24+ @@definitions ||= { } # rubocop:disable Style/ClassVars
25+ end
26+
27+ def definition ( name )
28+ definitions [ name ]
29+ end
30+ end
31+
2032 # Define a Slither's definition to parse a file.
2133 #
2234 # name - String name of the definition, this should be unique.
2335 # options - Hash of options to pass to the definition.
2436 # Ex: by_bytes: true, to parse by bytes
2537 # Ex: align: :left, to align the columns to the left
2638 # block - Block to define the sections of the definition. See README.md for more info.
27- def self . define ( name , options = { } , &block )
39+ def self . define ( name , options = { } , &block ) # rubocop:disable Lint/UnusedMethodArgument
2840 definition = Definition . new ( options )
2941 yield ( definition )
3042 definitions [ name ] = definition
@@ -42,33 +54,21 @@ def self.generate(definition_name, data)
4254
4355 # Writes the File
4456 def self . write ( filename , definition_name , data )
45- File . open ( filename , "w" ) do |f |
46- f . write generate ( definition_name , data )
47- end
57+ File . write ( filename , generate ( definition_name , data ) )
4858 end
4959
5060 def self . parse ( filename , definition_name )
5161 raise ArgumentError , "File #{ filename } does not exist." unless File . exist? ( filename )
5262
53- file_io = File . open ( filename , 'r' )
63+ file_io = File . open ( filename , "r" )
5464 parseIo ( file_io , definition_name )
5565 end
5666
57- def self . parseIo ( io , definition_name )
67+ def self . parseIo ( io , definition_name ) # rubocop:disable Naming/MethodName
5868 definition = definition ( definition_name )
5969 raise ArgumentError , "Definition name '#{ definition_name } ' was not found." unless definition
6070
6171 parser = Parser . new ( definition , io )
6272 definition . options [ :by_bytes ] ? parser . parse_by_bytes : parser . parse
6373 end
64-
65- private
66-
67- def self . definitions
68- @@definitions ||= { }
69- end
70-
71- def self . definition ( name )
72- definitions [ name ]
73- end
7474end
0 commit comments