Module: Diva
- Defined in:
- lib/diva/field.rb,
lib/diva.rb,
lib/diva/type.rb,
lib/diva/error.rb,
lib/diva/version.rb
Overview
Modelのキーの情報を格納する。 キーひとつにつき1つのインスタンスが作られる。
Defined Under Namespace
Modules: DataSource, ModelExtend, Type Classes: DivaError, Field, FieldGenerator, InvalidEntityError, InvalidTypeError, InvalidURIError, Model, ModelNotFoundError, NotImplementedError, URI
Constant Summary collapse
- VERSION =
'2.0.0'.freeze
Class Method Summary collapse
Class Method Details
.Type(type) ⇒ Object
290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 |
# File 'lib/diva/type.rb', line 290 def self.Type(type) case type when Diva::Type::MetaType type when :int Diva::Type::INT when :float Diva::Type::FLOAT when :bool Diva::Type::BOOL when :string Diva::Type::STRING when :time Diva::Type::TIME when :uri Diva::Type::URI when :null Diva::Type::NULL when ->(x) { x.instance_of?(Class) && x.ancestors.include?(Diva::Model) } Diva::Type.model_of(type) when Array if type.size >= 2 Diva::Type.union(*type) else Diva::Type.array_of(type.first) end else fail "Invalid type #{type.inspect} (#{type.class})." end end |