Class: Jabara::ParseCom::Schema::String
- Inherits:
-
PrimitiveParser
- Object
- PrimitiveParser
- Jabara::ParseCom::Schema::String
- Defined in:
- lib/jabara/parse_com/schema.rb
Instance Method Summary collapse
-
#initialize(max: nil, default: nil) ⇒ String
constructor
default = nil の場合はnullを許容する.
- #parse(data) ⇒ Object
Methods inherited from PrimitiveParser
Constructor Details
#initialize(max: nil, default: nil) ⇒ String
default = nil の場合はnullを許容する
96 97 98 99 100 101 |
# File 'lib/jabara/parse_com/schema.rb', line 96 def initialize(max: nil, default: nil) # default = nil の場合はnullを許容する raise TypeError, 'default must be string' unless default.is_a? ::String or default.nil? raise TypeError, 'max must be integer' unless max.is_a? ::Integer or max.nil? @max = max @default = default end |
Instance Method Details
#parse(data) ⇒ Object
103 104 105 106 107 108 109 |
# File 'lib/jabara/parse_com/schema.rb', line 103 def parse(data) return ::Jabara.null if data.nil? and @default.nil? return @default if data.nil? raise TypeError, 'data must be string' unless data.is_a? ::String or default.nil? data = data.slice(0, @max) unless @max.nil? ::Jabara.primitive(:string, data) end |