Module: RailsAdminJcrop::Orm::Extension

Defined in:
lib/rails_admin_jcrop/orm.rb

Constant Summary collapse

CropFields =
[:crop_x, :crop_y, :crop_w, :crop_h, :crop_field, :crop_process_before, :crop_process_after]

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



7
8
9
# File 'lib/rails_admin_jcrop/orm.rb', line 7

def self.included(base)
  base.send :attr_accessor, *CropFields
end

Instance Method Details

#auto_rails_admin_jcrop(field) ⇒ Object



25
26
27
28
29
# File 'lib/rails_admin_jcrop/orm.rb', line 25

def auto_rails_admin_jcrop(field)
  if !rails_admin_cropping? and self.try("#{field}_default_crop_params") and self.try("#{field}_updated_at_changed?")
    rails_admin_crop! self.send("#{field}_default_crop_params")
  end
end

#default_crop_params_for_center(field, width, height, left_offset = 0, top_offset = 0) ⇒ Object



39
40
41
42
43
44
# File 'lib/rails_admin_jcrop/orm.rb', line 39

def default_crop_params_for_center(field, width, height, left_offset = 0, top_offset = 0)
  {
    crop_x: left_offset, crop_y: top_offset, crop_w: width, crop_h: height, crop_field: :image,
    crop_process_before: '-gravity Center', crop_process_after: '+repage'
  }
end

#default_crop_params_for_left_top(field, width, height, left_offset = 0, top_offset = 0) ⇒ Object



31
32
33
34
35
36
# File 'lib/rails_admin_jcrop/orm.rb', line 31

def default_crop_params_for_left_top(field, width, height, left_offset = 0, top_offset = 0)
  {
    crop_x: left_offset, crop_y: left_offset, crop_w: width, crop_h: height, crop_field: field,
    crop_process_before: '+repage', crop_process_after: '+repage'
  }
end

#rails_admin_crop!(params) ⇒ Object



17
18
19
20
# File 'lib/rails_admin_jcrop/orm.rb', line 17

def rails_admin_crop!(params)
  CropFields.each {|f| self.send "#{f}=", params[f] }
  ::RailsAdminJcrop::AssetEngine.crop!(self, self.crop_field) if self.rails_admin_cropping?
end

#rails_admin_cropping?Boolean

Returns:

  • (Boolean)


13
14
15
# File 'lib/rails_admin_jcrop/orm.rb', line 13

def rails_admin_cropping?
  CropFields.all? {|f| send(f).present?}
end