Class: Katagami::Field::FieldOptionParser

Inherits:
Object
  • Object
show all
Defined in:
lib/katagami/field/field_option_parser.rb

Instance Method Summary collapse

Constructor Details

#initialize(args) ⇒ FieldOptionParser

Returns a new instance of FieldOptionParser.



3
4
5
# File 'lib/katagami/field/field_option_parser.rb', line 3

def initialize(args)
  @args = args
end

Instance Method Details

#fieldsObject



28
29
30
31
32
33
# File 'lib/katagami/field/field_option_parser.rb', line 28

def fields
  e = -1
  e -= 1 if has_options?
  e -= 1 if has_type?
  @args[0..e]
end

#has_options?Boolean

Returns:

  • (Boolean)


7
8
9
# File 'lib/katagami/field/field_option_parser.rb', line 7

def has_options?
  @args[-1].instance_of?(Hash)
end

#has_type?Boolean

Returns:

  • (Boolean)


16
17
18
# File 'lib/katagami/field/field_option_parser.rb', line 16

def has_type?
  !type.nil?
end

#optionsObject



11
12
13
14
# File 'lib/katagami/field/field_option_parser.rb', line 11

def options
  return @args[-1] if has_options?
  {}
end

#typeObject



20
21
22
23
24
25
26
# File 'lib/katagami/field/field_option_parser.rb', line 20

def type
  if !has_options? && @args[-1].instance_of?(Class)
    @args[-1]
  elsif has_options? && @args[-2].instance_of?(Class)
    @args[-2]
  end
end