11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
# File 'lib/zephyrus/resources/base.rb', line 11
def field( name, options = {} )
self.fields[ name.to_sym ] = options.merge( name: name )
class_eval(
"def #{name}(); " +
"@#{name}.is_a?( FalseClass ) ? @#{name} : (" +
"@#{name} || " +
( options[ :default ].nil? ?
"nil" :
( options[ :default ].is_a?( String ) ?
"'#{options[ :default ]}'" :
"#{options[ :default ]}" ) ) + ");" +
"end;" +
" " +
"attr_writer :#{name};",
__FILE__,
__LINE__
)
end
|