class Opium::Model::Field
Attributes
as[RW]
default[W]
name[RW]
readonly[RW]
type[RW]
Public Class Methods
new(name, type, default, readonly, as)
click to toggle source
# File lib/opium/model/field.rb, line 4 def initialize(name, type, default, readonly, as) self.name, self.type, self.default, self.readonly, self.as = name, type, default, readonly, as end
Public Instance Methods
contextual_default_value( context = nil)
click to toggle source
# File lib/opium/model/field.rb, line 20 def contextual_default_value( context = nil) type.to_ruby( default( context ) ) end
default( context = nil )
click to toggle source
# File lib/opium/model/field.rb, line 10 def default( context = nil ) if @default.respond_to? :call params = [] params.push( context ) if @default.arity != 0 @default.call( *params ) else @default end end
name_to_parse()
click to toggle source
# File lib/opium/model/field.rb, line 36 def name_to_parse @name_to_parse ||= (self.as || self.name).to_s.camelize(:lower) end
name_to_ruby()
click to toggle source
# File lib/opium/model/field.rb, line 40 def name_to_ruby @name_to_ruby ||= (self.as || self.name).to_s.underscore end
readonly?()
click to toggle source
# File lib/opium/model/field.rb, line 24 def readonly? self.readonly == true end
relation?()
click to toggle source
# File lib/opium/model/field.rb, line 28 def relation? self.type == Relation end
virtual?()
click to toggle source
# File lib/opium/model/field.rb, line 32 def virtual? relation? || self.type == Reference end