Class: AcmsRuby::ImageField

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(field_name, base) ⇒ ImageField

Returns a new instance of ImageField.



9
10
11
12
13
# File 'lib/acms_ruby/models/image_field.rb', line 9

def initialize(field_name, base)
  @base = base
  @name = field_name
  load_image
end

Instance Attribute Details

#fieldsObject

Returns the value of attribute fields.



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

def fields
  @fields
end

#imagesObject

Returns the value of attribute images.



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

def images
  @images
end

#nameObject

Returns the value of attribute name.



7
8
9
# File 'lib/acms_ruby/models/image_field.rb', line 7

def name
  @name
end

Instance Method Details

#eachObject



36
37
38
39
40
# File 'lib/acms_ruby/models/image_field.rb', line 36

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

#field(key, sort_no = nil) ⇒ Object



24
25
26
27
28
# File 'lib/acms_ruby/models/image_field.rb', line 24

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

#field_namesObject



30
31
32
33
34
# File 'lib/acms_ruby/models/image_field.rb', line 30

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

#load_imageObject



15
16
17
18
19
20
21
22
# File 'lib/acms_ruby/models/image_field.rb', line 15

def load_image
  @fields = @base.fields.where(['field_key like ?', @name+"@%"])
  image_count = @fields.collect{|f| f.field_sort }.max
  @images = []
  image_count.times do |i|
    @images.push AcmsRuby::Image.new(@name, i+1, self)
  end
end