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

.URI(uri) ⇒ Object



14
15
16
# File 'lib/diva.rb', line 14

def self.URI(uri)
  Diva::URI.new(uri)
end