Class: AcmsRuby::FieldGroup

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/acms_ruby/models/field_group.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(group_name, base) ⇒ FieldGroup

Returns a new instance of FieldGroup.



8
9
10
11
12
# File 'lib/acms_ruby/models/field_group.rb', line 8

def initialize(group_name, base)
  @base = base
  @name = group_name
  load_fields
end

Instance Attribute Details

#fieldsObject

Returns the value of attribute fields.



5
6
7
# File 'lib/acms_ruby/models/field_group.rb', line 5

def fields
  @fields
end

#nameObject

Returns the value of attribute name.



6
7
8
# File 'lib/acms_ruby/models/field_group.rb', line 6

def name
  @name
end

Instance Method Details

#eachObject



29
30
31
32
33
# File 'lib/acms_ruby/models/field_group.rb', line 29

def each
  @fields.each do |field|
    yield field
  end
end

#field(key, sort_no = nil) ⇒ Object



18
19
20
21
# File 'lib/acms_ruby/models/field_group.rb', line 18

def field(key, sort_no=nil)
  return nil if !field_names.include?(key)
  @base.field(key, sort_no)
end

#field_namesObject



23
24
25
26
27
# File 'lib/acms_ruby/models/field_group.rb', line 23

def field_names
  @fields.collect do |field|
    field.value
  end.uniq
end

#load_fieldsObject



14
15
16
# File 'lib/acms_ruby/models/field_group.rb', line 14

def load_fields
  @fields = @base.fields.where(field_key: "@"+@name)
end