Module: Dragonfly::ActiveModelExtensions::ClassMethods

Defined in:
lib/dragonfly/active_record_extensions/class_methods.rb

Instance Method Summary collapse

Instance Method Details

#dragonfly_styles_for_attributesObject



15
16
17
18
19
20
# File 'lib/dragonfly/active_record_extensions/class_methods.rb', line 15

def dragonfly_styles_for_attributes
  @dragonfly_styles_for_attributes ||= begin
    parent_class = ancestors.select{|a| a.is_a?(Class) }[1]
    parent_class.respond_to?(:dragonfly_styles_for_attributes) ? parent_class.dragonfly_styles_for_attributes.dup : {}
  end
end

#register_dragonfly_styles(macro_name, app) ⇒ Object



4
5
6
7
8
9
10
11
12
13
# File 'lib/dragonfly/active_record_extensions/class_methods.rb', line 4

def register_dragonfly_styles macro_name, app
  (class << self; self; end).class_eval do
    # Defines e.g. 'image_styles' for any activerecord class body
    define_method macro_name do |attribute, styles|
      # Register the new styles
      dragonfly_styles_for_attributes[attribute] = styles
    end
  end
  app
end