Module: Stupidedi::Reader
- Defined in:
- lib/stupidedi/reader.rb,
lib/stupidedi/reader/input.rb,
lib/stupidedi/reader/result.rb,
lib/stupidedi/reader/position.rb,
lib/stupidedi/reader/separators.rb,
lib/stupidedi/reader/segment_dict.rb,
lib/stupidedi/reader/token_reader.rb,
lib/stupidedi/reader/stream_reader.rb,
lib/stupidedi/reader/input/file_input.rb,
lib/stupidedi/reader/tokens/segment_tok.rb,
lib/stupidedi/reader/input/abstract_input.rb,
lib/stupidedi/reader/input/delegated_input.rb,
lib/stupidedi/reader/tokens/simple_element_tok.rb,
lib/stupidedi/reader/tokens/repeated_element_tok.rb,
lib/stupidedi/reader/tokens/component_element_tok.rb,
lib/stupidedi/reader/tokens/composite_element_tok.rb
Defined Under Namespace
Modules: Input, Result
Classes: AbstractInput, ComponentElementTok, CompositeElementTok, DelegatedInput, Failure, FileInput, Position, RepeatedElementTok, SegmentDict, SegmentTok, Separators, SimpleElementTok, StreamReader, Success, TokenReader
Constant Summary
collapse
- R_BASIC =
/[A-Z0-9!"&'()*+,.\/:;?= -]/.freeze
- R_EXTENDED =
/[a-z%@\[\]_{}\\|<>~^`#\$ÀÁÂÄàáâäÈÉÊèéêëÌÍÎìíîïÒÓÔÖòóôöÙÚÛÜùúûüÇçÑñ¿¡]/.freeze
- R_EITHER =
Regexp.union(R_BASIC, R_EXTENDED).freeze
- C_BYTES =
(0..255).inject(""){|string, c| string + [c].pack('U') }
- H_BASIC =
C_BYTES.scan(R_BASIC).inject({}){|h,c| h[c] = nil; h }.freeze
- H_EXTENDED =
C_BYTES.scan(R_EXTENDED).inject({}){|h,c| h[c] = nil; h }.freeze
- H_EITHER =
C_BYTES.scan(R_EITHER).inject({}){|h,c| h[c] = nil; h }.freeze
Class Method Summary
collapse
Class Method Details
.basic_characters ⇒ Character
104
105
106
|
# File 'lib/stupidedi/reader.rb', line 104
def basic_characters
H_BASIC.keys
end
|
65
66
67
|
# File 'lib/stupidedi/reader.rb', line 65
def build(input)
StreamReader.new(Input.build(input))
end
|
.control_characters ⇒ Character
116
117
118
|
# File 'lib/stupidedi/reader.rb', line 116
def control_characters
C_BYTES.split(//) - H_EITHER.keys
end
|
.extended_characters ⇒ Character
110
111
112
|
# File 'lib/stupidedi/reader.rb', line 110
def extended_characters
H_EXTENDED.keys
end
|
.has_control_characters?(string) ⇒ Boolean
98
99
100
|
# File 'lib/stupidedi/reader.rb', line 98
def has_control_characters?(string)
end
|
.has_extended_characters?(string) ⇒ Boolean
93
94
95
|
# File 'lib/stupidedi/reader.rb', line 93
def has_extended_characters?(string)
R_EXTENDED =~ string
end
|
.is_basic_character?(character) ⇒ Boolean
82
83
84
|
# File 'lib/stupidedi/reader.rb', line 82
def is_basic_character?(character)
H_BASIC.include?(character)
end
|
.is_control_character?(character) ⇒ Boolean
Returns true if ‘character` does not belong to the extended or basic character set.
76
77
78
|
# File 'lib/stupidedi/reader.rb', line 76
def is_control_character?(character)
not H_EITHER.include?(character)
end
|
.is_extended_character?(character) ⇒ Boolean
88
89
90
|
# File 'lib/stupidedi/reader.rb', line 88
def is_extended_character?(character)
H_EXTENDED.include?(character)
end
|