Module: Freeberry::Models::Asset::InstanceMethods

Defined in:
lib/freeberry/models/asset.rb

Instance Method Summary collapse

Instance Method Details

#content_typeObject



35
36
37
# File 'lib/freeberry/models/asset.rb', line 35

def content_type
  data_content_type
end

#filenameObject



31
32
33
# File 'lib/freeberry/models/asset.rb', line 31

def filename
  data_file_name
end

#format_created_atObject



51
52
53
# File 'lib/freeberry/models/asset.rb', line 51

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

#geometryObject



83
84
85
86
# File 'lib/freeberry/models/asset.rb', line 83

def geometry
  @geometry ||= Paperclip::Geometry.from_file(data.to_file)
  @geometry
end

#has_dimensions?Boolean

Returns:

  • (Boolean)


75
76
77
# File 'lib/freeberry/models/asset.rb', line 75

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

#image?Boolean

Returns:

  • (Boolean)


79
80
81
# File 'lib/freeberry/models/asset.rb', line 79

def image?
  Freeberry::IMAGE_TYPES.include?(data_content_type)
end

#pathObject



43
44
45
# File 'lib/freeberry/models/asset.rb', line 43

def path
  data.path
end

#sizeObject



39
40
41
# File 'lib/freeberry/models/asset.rb', line 39

def size
  data_file_size
end

#stylesObject



47
48
49
# File 'lib/freeberry/models/asset.rb', line 47

def styles
  data.styles
end

#to_xml(options = {}, &block) ⇒ Object



55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# File 'lib/freeberry/models/asset.rb', line 55

def to_xml(options = {}, &block)
  options = {:only => [:id], :root => 'asset'}.merge(options)
  
  options[:procs] ||= Proc.new do |options, record| 
    options[:builder].tag!('filename', filename)
    options[:builder].tag!('path', url)
    options[:builder].tag!('size', size)
    
    unless styles.empty?
      options[:builder].tag!('styles') do |xml|
        styles.each do |style|
          xml.tag!(style.first, url(style.first))
        end
      end
    end
  end
  
  super
end

#url(*args) ⇒ Object



27
28
29
# File 'lib/freeberry/models/asset.rb', line 27

def url(*args)
  data.url(*args)
end