spacer 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,6 @@
1
+ module Spacer
2
+ class Album
3
+ include Model
4
+ attr_accessor :user, :photosUri, :photoCount, :albumUri, :title, :id, :privacy, :defaultImage, :__type, :location
5
+ end
6
+ end
@@ -0,0 +1,6 @@
1
+ module Spacer
2
+ class Details
3
+ include Model
4
+ attr_accessor :user, :status, :ethnicity, :drink, :zodiacsign, :orientation, :religion, :herefor, :smoke, :education, :income, :children, :hometown, :bodyType
5
+ end
6
+ end
@@ -0,0 +1,6 @@
1
+ module Spacer
2
+ class Group
3
+ include Model
4
+ attr_accessor :user, :moderatorUserId, :memberBulletins, :descriptionShort, :city, :region, :groupUri, :nonMemberBoardPosting, :memberCount, :isPrivate, :groupName, :categoryId, :membersCanInvite, :imageId, :country, :isAdult, :groupUrl, :approveMembers, :postalCode, :description, :memberImages, :isPublic, :groupId, :__type, :categoryName, :imageType, :createDate
5
+ end
6
+ end
@@ -0,0 +1,6 @@
1
+ module Spacer
2
+ class Interest
3
+ include Model
4
+ attr_accessor :user, :heroes, :general, :music, :television, :movies, :books
5
+ end
6
+ end
@@ -0,0 +1,6 @@
1
+ module Spacer
2
+ class Mood
3
+ include Model
4
+ attr_accessor :user, :mood
5
+ end
6
+ end
@@ -0,0 +1,6 @@
1
+ module Spacer
2
+ class Photo
3
+ include Model
4
+ attr_accessor :user, :photoUri, :id, :imageUri, :caption, :__type
5
+ end
6
+ end
@@ -0,0 +1,6 @@
1
+ module Spacer
2
+ class Profile
3
+ include Model
4
+ attr_accessor :city, :region, :country, :gender, :postalcode, :culture, :basicprofile, :age, :aboutme, :maritalstatus, :hometown
5
+ end
6
+ end
@@ -0,0 +1,6 @@
1
+ module Spacer
2
+ class Status
3
+ include Model
4
+ attr_accessor :user, :status
5
+ end
6
+ end
@@ -0,0 +1,77 @@
1
+ module Spacer
2
+ class User
3
+ include Model
4
+ attr_accessor :name, :uri, :webUri, :userType, :userId, :onlineNow, :image, :__type
5
+ attr_accessor :client
6
+
7
+ class << self
8
+ def from_hash_with_client(hash, client)
9
+ instance = new(hash)
10
+ instance.client = client
11
+ instance
12
+ end
13
+ end
14
+
15
+ ## These are helper methods to access client calls if you already have a user instance
16
+
17
+ def profile
18
+ @client.profile(userId)
19
+ end
20
+
21
+ def friends(page=nil, page_size=nil, list=nil)
22
+ @client.friends(userId, page, page_size, list)
23
+ end
24
+
25
+ def albums
26
+ @client.albums(userId)
27
+ end
28
+
29
+ def album(album_id)
30
+ @client.album(userId, album_id)
31
+ end
32
+
33
+ def photos_for_album(album_id)
34
+ @client.photos_for_album(userId, album_id)
35
+ end
36
+
37
+ def photos
38
+ @client.photos(userId)
39
+ end
40
+
41
+ def interests
42
+ @client.interests(userId)
43
+ end
44
+
45
+ def details
46
+ @client.details(userId)
47
+ end
48
+
49
+ def videos
50
+ @client.videos(userId)
51
+ end
52
+
53
+ def video(video_id)
54
+ @client.video(userId, video_id)
55
+ end
56
+
57
+ def photo(photo_id)
58
+ @client.photo(userId, photo_id)
59
+ end
60
+
61
+ def status
62
+ @client.status(userId)
63
+ end
64
+
65
+ def mood
66
+ @client.mood(userId)
67
+ end
68
+
69
+ def friends_with?(friends_ids)
70
+ @client.friendship?(userId, friend_ids)
71
+ end
72
+
73
+ def groups
74
+ @client.groups(userId)
75
+ end
76
+ end
77
+ end
@@ -0,0 +1,6 @@
1
+ module Spacer
2
+ class Video
3
+ include Model
4
+ attr_accessor :user, :totalrating, :thumbnail, :title, :resourceuserid, :language, :dateupdated, :totalviews, :mediastatus, :country, :id, :runtime, :description, :privacy, :mediatype, :datecreated, :__type, :totalvotes, :videoUri
5
+ end
6
+ end
@@ -0,0 +1,30 @@
1
+ # $Id$
2
+
3
+ if HAVE_BONES
4
+
5
+ desc "Enumerate all annotations"
6
+ task :notes do
7
+ Bones::AnnotationExtractor.enumerate(
8
+ PROJ, "OPTIMIZE|FIXME|TODO", :tag => true)
9
+ end
10
+
11
+ namespace :notes do
12
+ desc "Enumerate all OPTIMIZE annotations"
13
+ task :optimize do
14
+ Bones::AnnotationExtractor.enumerate(PROJ, "OPTIMIZE")
15
+ end
16
+
17
+ desc "Enumerate all FIXME annotations"
18
+ task :fixme do
19
+ Bones::AnnotationExtractor.enumerate(PROJ, "FIXME")
20
+ end
21
+
22
+ desc "Enumerate all TODO annotations"
23
+ task :todo do
24
+ Bones::AnnotationExtractor.enumerate(PROJ, "TODO")
25
+ end
26
+ end
27
+
28
+ end # if HAVE_BONES
29
+
30
+ # EOF
data/tasks/doc.rake ADDED
@@ -0,0 +1,49 @@
1
+ # $Id$
2
+
3
+ require 'rake/rdoctask'
4
+
5
+ namespace :doc do
6
+
7
+ desc 'Generate RDoc documentation'
8
+ Rake::RDocTask.new do |rd|
9
+ rd.main = PROJ.rdoc_main
10
+ rd.rdoc_dir = PROJ.rdoc_dir
11
+
12
+ incl = Regexp.new(PROJ.rdoc_include.join('|'))
13
+ excl = Regexp.new(PROJ.rdoc_exclude.join('|'))
14
+ files = PROJ.files.find_all do |fn|
15
+ case fn
16
+ when excl; false
17
+ when incl; true
18
+ else false end
19
+ end
20
+ rd.rdoc_files.push(*files)
21
+
22
+ title = "#{PROJ.name}-#{PROJ.version} Documentation"
23
+ title = "#{PROJ.rubyforge_name}'s " + title if PROJ.rubyforge_name != title
24
+
25
+ rd.options << "-t #{title}"
26
+ rd.options.concat(PROJ.rdoc_opts)
27
+ end
28
+
29
+ desc 'Generate ri locally for testing'
30
+ task :ri => :clobber_ri do
31
+ sh "#{RDOC} --ri -o ri ."
32
+ end
33
+
34
+ desc 'Remove ri products'
35
+ task :clobber_ri do
36
+ rm_r 'ri' rescue nil
37
+ end
38
+
39
+ end # namespace :doc
40
+
41
+ desc 'Alias to doc:rdoc'
42
+ task :doc => 'doc:rdoc'
43
+
44
+ desc 'Remove all build products'
45
+ task :clobber => %w(doc:clobber_rdoc doc:clobber_ri)
46
+
47
+ remove_desc_for_task %w(doc:clobber_rdoc doc:clobber_ri)
48
+
49
+ # EOF
data/tasks/gem.rake ADDED
@@ -0,0 +1,89 @@
1
+ # $Id$
2
+
3
+ require 'rake/gempackagetask'
4
+
5
+ namespace :gem do
6
+
7
+ PROJ.spec = Gem::Specification.new do |s|
8
+ s.name = PROJ.name
9
+ s.version = PROJ.version
10
+ s.summary = PROJ.summary
11
+ s.authors = Array(PROJ.authors)
12
+ s.email = PROJ.email
13
+ s.homepage = Array(PROJ.url).first
14
+ s.rubyforge_project = PROJ.rubyforge_name
15
+
16
+ s.description = PROJ.description
17
+
18
+ PROJ.dependencies.each do |dep|
19
+ s.add_dependency(*dep)
20
+ end
21
+
22
+ s.files = PROJ.files
23
+ s.executables = PROJ.executables.map {|fn| File.basename(fn)}
24
+ s.extensions = PROJ.files.grep %r/extconf\.rb$/
25
+
26
+ s.bindir = 'bin'
27
+ dirs = Dir["{#{PROJ.libs.join(',')}}"]
28
+ s.require_paths = dirs unless dirs.empty?
29
+
30
+ incl = Regexp.new(PROJ.rdoc_include.join('|'))
31
+ excl = PROJ.rdoc_exclude.dup.concat %w[\.rb$ ^(\.\/|\/)?ext]
32
+ excl = Regexp.new(excl.join('|'))
33
+ rdoc_files = PROJ.files.find_all do |fn|
34
+ case fn
35
+ when excl; false
36
+ when incl; true
37
+ else false end
38
+ end
39
+ s.rdoc_options = PROJ.rdoc_opts + ['--main', PROJ.rdoc_main]
40
+ s.extra_rdoc_files = rdoc_files
41
+ s.has_rdoc = true
42
+
43
+ if test ?f, PROJ.test_file
44
+ s.test_file = PROJ.test_file
45
+ else
46
+ s.test_files = PROJ.tests.to_a
47
+ end
48
+
49
+ # Do any extra stuff the user wants
50
+ # spec_extras.each do |msg, val|
51
+ # case val
52
+ # when Proc
53
+ # val.call(s.send(msg))
54
+ # else
55
+ # s.send "#{msg}=", val
56
+ # end
57
+ # end
58
+ end
59
+
60
+ desc 'Show information about the gem'
61
+ task :debug do
62
+ puts PROJ.spec.to_ruby
63
+ end
64
+
65
+ Rake::GemPackageTask.new(PROJ.spec) do |pkg|
66
+ pkg.need_tar = PROJ.need_tar
67
+ pkg.need_zip = PROJ.need_zip
68
+ end
69
+
70
+ desc 'Install the gem'
71
+ task :install => [:clobber, :package] do
72
+ sh "#{SUDO} #{GEM} install pkg/#{PROJ.spec.full_name}"
73
+ end
74
+
75
+ desc 'Uninstall the gem'
76
+ task :uninstall do
77
+ sh "#{SUDO} #{GEM} uninstall -v '#{PROJ.version}' -x #{PROJ.name}"
78
+ end
79
+
80
+ end # namespace :gem
81
+
82
+ desc 'Alias to gem:package'
83
+ task :gem => 'gem:package'
84
+
85
+ task :clobber => 'gem:clobber_package'
86
+
87
+ remove_desc_for_task %w(gem:clobber_package)
88
+
89
+ # EOF
@@ -0,0 +1,55 @@
1
+ # $Id$
2
+
3
+ require 'find'
4
+
5
+ namespace :manifest do
6
+
7
+ desc 'Verify the manifest'
8
+ task :check do
9
+ fn = 'Manifest.tmp'
10
+ files = []
11
+ exclude = Regexp.new(PROJ.exclude.join('|'))
12
+ Find.find '.' do |path|
13
+ path.sub! %r/^(\.\/|\/)/o, ''
14
+ next unless test ?f, path
15
+ next if path =~ exclude
16
+ files << path
17
+ end
18
+
19
+ File.open(fn, 'w') {|fp| fp.puts files.sort}
20
+ lines = %x(#{DIFF} -du Manifest.txt #{fn}).split("\n")
21
+ if HAVE_FACETS_ANSICODE and ENV.has_key?('TERM')
22
+ lines.map! do |line|
23
+ case line
24
+ when %r/^(-{3}|\+{3})/; nil
25
+ when %r/^@/; Console::ANSICode.blue line
26
+ when %r/^\+/; Console::ANSICode.green line
27
+ when %r/^\-/; Console::ANSICode.red line
28
+ else line end
29
+ end
30
+ end
31
+ puts lines.compact
32
+ rm fn rescue nil
33
+ end
34
+
35
+ desc 'Create a new manifest'
36
+ task :create do
37
+ fn = 'Manifest.txt'
38
+ files = []
39
+ exclude = Regexp.new(PROJ.exclude.join('|'))
40
+ Find.find '.' do |path|
41
+ path.sub! %r/^(\.\/|\/)/o, ''
42
+ next unless test ?f, path
43
+ next if path =~ exclude
44
+ files << path
45
+ end
46
+
47
+ files << fn unless test ?f, fn
48
+ File.open(fn, 'w') {|fp| fp.puts files.sort}
49
+ end
50
+ end # namespace :manifest
51
+
52
+ desc 'Alias to manifest:check'
53
+ task :manifest => 'manifest:check'
54
+
55
+ # EOF
@@ -0,0 +1,18 @@
1
+ # $Id$
2
+
3
+ # This file does not define any rake tasks. It is used to load some project
4
+ # settings if they are not defined by the user.
5
+
6
+ unless PROJ.changes
7
+ PROJ.changes = paragraphs_of('History.txt', 0..1).join("\n\n")
8
+ end
9
+
10
+ unless PROJ.description
11
+ PROJ.description = paragraphs_of('README.txt', 'description').join("\n\n")
12
+ end
13
+
14
+ unless PROJ.summary
15
+ PROJ.summary = PROJ.description.split('.').first
16
+ end
17
+
18
+ # EOF
@@ -0,0 +1,57 @@
1
+ # $Id$
2
+
3
+ if PROJ.rubyforge_name && HAVE_RUBYFORGE
4
+
5
+ require 'rubyforge'
6
+ require 'rake/contrib/sshpublisher'
7
+
8
+ namespace :gem do
9
+ desc 'Package and upload to RubyForge'
10
+ task :release => [:clobber, :package] do |t|
11
+ v = ENV['VERSION'] or abort 'Must supply VERSION=x.y.z'
12
+ abort "Versions don't match #{v} vs #{PROJ.version}" if v != PROJ.version
13
+ pkg = "pkg/#{PROJ.spec.full_name}"
14
+
15
+ if $DEBUG then
16
+ puts "release_id = rf.add_release #{PROJ.rubyforge_name.inspect}, #{PROJ.name.inspect}, #{PROJ.version.inspect}, \"#{pkg}.tgz\""
17
+ puts "rf.add_file #{PROJ.rubyforge_name.inspect}, #{PROJ.name.inspect}, release_id, \"#{pkg}.gem\""
18
+ end
19
+
20
+ rf = RubyForge.new
21
+ puts 'Logging in'
22
+ rf.login
23
+
24
+ c = rf.userconfig
25
+ c['release_notes'] = PROJ.description if PROJ.description
26
+ c['release_changes'] = PROJ.changes if PROJ.changes
27
+ c['preformatted'] = true
28
+
29
+ files = [(PROJ.need_tar ? "#{pkg}.tgz" : nil),
30
+ (PROJ.need_zip ? "#{pkg}.zip" : nil),
31
+ "#{pkg}.gem"].compact
32
+
33
+ puts "Releasing #{PROJ.name} v. #{PROJ.version}"
34
+ rf.add_release PROJ.rubyforge_name, PROJ.name, PROJ.version, *files
35
+ end
36
+ end # namespace :gem
37
+
38
+
39
+ namespace :doc do
40
+ desc "Publish RDoc to RubyForge"
41
+ task :release => %w(doc:clobber_rdoc doc:rdoc) do
42
+ config = YAML.load(
43
+ File.read(File.expand_path('~/.rubyforge/user-config.yml'))
44
+ )
45
+
46
+ host = "#{config['username']}@rubyforge.org"
47
+ remote_dir = "/var/www/gforge-projects/#{PROJ.rubyforge_name}/"
48
+ remote_dir << PROJ.rdoc_remote_dir if PROJ.rdoc_remote_dir
49
+ local_dir = PROJ.rdoc_dir
50
+
51
+ Rake::SshDirPublisher.new(host, remote_dir, local_dir).upload
52
+ end
53
+ end # namespace :doc
54
+
55
+ end # if HAVE_RUBYFORGE
56
+
57
+ # EOF