File: images.rb

package info (click to toggle)
ruby-compass 1.0.1~dfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 8,152 kB
  • ctags: 1,795
  • sloc: ruby: 12,901; makefile: 127; perl: 43; xml: 14; sh: 4
file content (29 lines) | stat: -rw-r--r-- 681 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
module Compass
  module SassExtensions
    module Sprites
      class Images < Array

        def sort_by!(method)
          invert = false
          if method.to_s[0] == '!'[0] # have todo this for 1.8.7 compat
            method = method.to_s[1..-1]
            invert = true
          end
          method = method.to_sym
          self.sort! do |a, b|
            unless a.send(method) == b.send(method)
              a.send(method) <=> b.send(method)
            else
              other = ([:size, :name] - [method]).first
              a.send(other) <=> b.send(other)
            end
          end
          self.reverse! if invert
        end



      end
    end
  end
end