Module: AbAdmin::Models::Asset

Extended by:
ActiveSupport::Concern
Included in:
Asset
Defined in:
lib/ab_admin/models/asset.rb

Defined Under Namespace

Modules: ClassMethods

Instance Method Summary collapse

Instance Method Details

#as_json(options = nil) ⇒ Object



49
50
51
52
53
54
55
56
57
58
# File 'lib/ab_admin/models/asset.rb', line 49

def as_json(options = nil)
  options = {
      :only => [:id, :guid, :assetable_id, :assetable_type, :user_id,
                :data_file_size, :data_content_type, :is_main, :original_name],
      :root => 'asset',
      :methods => [:filename, :url, :preview_url, :thumb_url, :width, :height]
  }.merge(options || {})

  super
end

#cropper_geometry=(value) ⇒ Object



78
79
80
81
82
83
84
85
# File 'lib/ab_admin/models/asset.rb', line 78

def cropper_geometry=(value)
  geometry = (value || '').to_s.split(',')

  unless geometry.map(&:blank?).any?
    @cropper_geometry_changed = true
    @cropper_geometry = geometry
  end
end

#cropper_geometry_changed?Boolean

Returns:

  • (Boolean)


87
88
89
# File 'lib/ab_admin/models/asset.rb', line 87

def cropper_geometry_changed?
  @cropper_geometry_changed === true
end

#format_created_atObject



45
46
47
# File 'lib/ab_admin/models/asset.rb', line 45

def format_created_at
  I18n.l(created_at, :format => '%d.%m.%Y %H:%M')
end

#full_url(*args) ⇒ Object



73
74
75
76
# File 'lib/ab_admin/models/asset.rb', line 73

def full_url(*args)
  host = Rails.application.config.action_mailer.default_url_options[:host] || 'www.example.com'
  "//#{host}#{data.url(*args)}"
end

#has_dimensions?Boolean

Returns:

  • (Boolean)


60
61
62
# File 'lib/ab_admin/models/asset.rb', line 60

def has_dimensions?
  respond_to?(:width) && respond_to?(:height)
end

#image?Boolean

Returns:

  • (Boolean)


64
65
66
# File 'lib/ab_admin/models/asset.rb', line 64

def image?
  AbAdmin.image_types.include?(self.data_content_type)
end

#main!Object



68
69
70
71
# File 'lib/ab_admin/models/asset.rb', line 68

def main!
  self.class.update_all('is_main=0', ['assetable_type=? AND assetable_id=? AND type=?', assetable_type, assetable_id, type])
  update_column(:is_main, true) and self
end

#rotate_degrees=(value) ⇒ Object



91
92
93
94
95
96
# File 'lib/ab_admin/models/asset.rb', line 91

def rotate_degrees=(value)
  unless value.blank?
    @rotate_degrees_changed = true
    @rotate_degrees = value.to_s
  end
end

#rotate_degrees_changed?Boolean

Returns:

  • (Boolean)


98
99
100
# File 'lib/ab_admin/models/asset.rb', line 98

def rotate_degrees_changed?
  @rotate_degrees_changed === true
end

#thumb_urlObject



41
42
43
# File 'lib/ab_admin/models/asset.rb', line 41

def thumb_url
  data.url(self.thumb_size) if image?
end