Module: Squarepusher

Defined in:
lib/squarepusher/core.rb,
lib/squarepusher/cli.rb,
lib/squarepusher/version.rb

Overview

TODO: keep track of failures

Defined Under Namespace

Classes: CLI, Client

Constant Summary collapse

VERSION =
"0.0.6"

Class Method Summary collapse

Class Method Details

.describe_photoset(pset) ⇒ Object



17
18
19
# File 'lib/squarepusher/core.rb', line 17

def describe_photoset(pset)
  "#{pset.id} '#{pset.title}'"
end

.normalize(name) ⇒ Object



21
22
23
# File 'lib/squarepusher/core.rb', line 21

def normalize(name)
  name.gsub(/[^a-zA-Z0-9_+\.=-]+/, '-')
end

.owner_page_url(p) ⇒ Object



25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/squarepusher/core.rb', line 25

def owner_page_url(p)
  # TODO: maybe abstract this to allow ownername to be passed in as a parameter
  if p.respond_to?(:owner)
    owner = p.owner
    if owner.respond_to?(:username)
      ownername = p.owner.username
    else
      ownername = owner
    end
  else
    raise Exception("photo does not contain 'owner' attribute: #{p.inspect}")
  end
  
  "http://flickr.com/photos/#{ownername}"
end

.photo_page_url(p) ⇒ Object



41
42
43
44
# File 'lib/squarepusher/core.rb', line 41

def photo_page_url(p)
  owner_page_url = Squarepusher::owner_page_url(p)
  "#{owner_page_url}/#{p.id}"
end

.sizesObject



46
47
48
# File 'lib/squarepusher/core.rb', line 46

def sizes
   return [:original, :large, :medium_640, :medium_500, :small, :thumb, :small_square]
end

.url_for(photo, size) ⇒ Object



50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# File 'lib/squarepusher/core.rb', line 50

def url_for(photo, size)
  case size
      when :original
        FlickRaw.url_o(photo)
      when :large
        FlickRaw.url_b(photo)
      when :medium_640
        FlickRaw.url_z(photo)
      when :medium_500
        FlickRaw.url(photo)
      when :small
        FlickRaw.url_m(photo)
      when :thumb
        FlickRaw.url_t(photo)
      when :small_square
        FlickRaw.url_s(photo)
  end
end