Class: Acfs::Resource::Attributes::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/acfs/resource/attributes/base.rb

Direct Known Subclasses

Boolean, DateTime, Dict, Float, Integer, List, String, UUID

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(default: nil) ⇒ Base

Returns a new instance of Base.



7
8
9
# File 'lib/acfs/resource/attributes/base.rb', line 7

def initialize(default: nil)
  @default = default
end

Instance Attribute Details

#defaultObject (readonly)



5
6
7
# File 'lib/acfs/resource/attributes/base.rb', line 5

def default
  @default
end

Instance Method Details

#cast(value) ⇒ Object



11
12
13
# File 'lib/acfs/resource/attributes/base.rb', line 11

def cast(value)
  cast_value(value) unless value.nil?
end

#default_valueObject



15
16
17
18
19
20
21
# File 'lib/acfs/resource/attributes/base.rb', line 15

def default_value
  if default.respond_to? :call
    default
  else
    cast default
  end
end