Module: Cable::Media::ActsAsAttachable::ClassMethods
- Defined in:
- lib/cable/media/acts_as_attachable.rb
Instance Method Summary collapse
Instance Method Details
#add_asset(asset) ⇒ Object
34 35 36 |
# File 'lib/cable/media/acts_as_attachable.rb', line 34 def add_asset(asset) has_many(asset.pluralize.to_sym, :as => :attachable) end |
#add_collections(assets) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/cable/media/acts_as_attachable.rb', line 15 def add_collections(assets) all = (assets.size == 1 and assets.first == :all) if not all and assets.is_a?(Array) assets.each{|a| add_asset(a)} else if defined?(Rails.root) ( Dir["#{Rails.root}/app/models/*"] + Dir["#{Rails.root}/vendor/plugins/acts_as_attachable/app/models/*"] ).each do |e| e = File.basename(e) if File.extname(e) == '.rb' and e.split('_').first == 'attachable' add_asset(e.split('.').first) end end end end end |
#has_attachments(*args) ⇒ Object
10 11 12 13 |
# File 'lib/cable/media/acts_as_attachable.rb', line 10 def (*args) send :include, InstanceMethods add_collections(args) end |