geppetto 0.9.4 → 0.9.5

Sign up to get free protection for your applications and to get access to all the features.
data/README.md ADDED
@@ -0,0 +1,88 @@
1
+ Geppetto is a simple command line tool to help manage Facebook test users and the generation of content.
2
+
3
+ ## Installation
4
+
5
+ <pre class="terminal">
6
+ $ gem install geppetto
7
+ </pre>
8
+
9
+ ## Usage
10
+
11
+ ### Help
12
+
13
+ <pre class="terminal">
14
+ $ geppetto help
15
+ </pre>
16
+
17
+ ### Common Scenarios
18
+
19
+ First let's start by creating a network of 5 friends.
20
+
21
+ <pre class="terminal">
22
+ $ geppetto create 5 --networked
23
+ </pre>
24
+
25
+ For each user, you will get a <code>login_url</code>, <code>id</code> and <code>access_token</code>. The <code>login_url</code> is useful to view this user on the facebook.com site. Otherwise, you can simply use the <code>access_token</code> to authenticate them within your own application.
26
+
27
+ <img src="http://cdn.ternarylabs.com/media/2011/03/fb_new_user.png">
28
+
29
+ <p class="caption">
30
+ A new test user. Test users seem to always be female.
31
+ </p>
32
+
33
+ To list all your test users, simply type:
34
+
35
+ <pre class="terminal">
36
+ $ geppetto list
37
+ </pre>
38
+
39
+ Now it's time to create some content by having all the users in the network update their status.
40
+
41
+ <pre class="terminal">
42
+ $ geppetto generate_status
43
+ </pre>
44
+
45
+ <img src="http://cdn.ternarylabs.com/media/2011/03/fb_status_update.png">
46
+
47
+ <p class="caption">
48
+ A new status update.
49
+ </p>
50
+
51
+ Let's engage in some social interactions. Each user will comment and like each other's posts.
52
+
53
+ <pre class="terminal">
54
+ $ geppetto generate_comments
55
+ $ geppetto generate_likes
56
+ </pre>
57
+
58
+ <img src="http://cdn.ternarylabs.com/media/2011/03/fb_like.png">
59
+
60
+ <p class="caption">
61
+ Liking and commenting.
62
+ </p>
63
+
64
+ You can also create and upload "photos".
65
+
66
+ <pre class="terminal">
67
+ $ geppetto generate_images
68
+ </pre>
69
+
70
+ <img src="http://cdn.ternarylabs.com/media/2011/03/fb_photo.png">
71
+
72
+ <p class="caption">
73
+ A photo is posted.
74
+ </p>
75
+
76
+ Geppetto provides a couple of shortcuts to populate content.
77
+
78
+ <pre class="terminal">
79
+ $ geppetto build
80
+ </pre>
81
+
82
+ Will build a network of test users and generate posts, likes, comments and images.
83
+
84
+ <pre class="terminal">
85
+ $ geppetto frenzy
86
+ </pre>
87
+
88
+ Frenzy mode will continuously generate random content until you terminate the application.
data/lib/geppetto.rb CHANGED
@@ -1 +1,12 @@
1
1
  require 'geppetto/version'
2
+ require 'net/http'
3
+
4
+ # Mokey patch to suppress 'warning: peer certificate won't be verified in this SSL session'
5
+ class Net::HTTP
6
+ alias_method :old_initialize, :initialize
7
+ def initialize(*args)
8
+ old_initialize(*args)
9
+ @ssl_context = OpenSSL::SSL::SSLContext.new
10
+ @ssl_context.verify_mode = OpenSSL::SSL::VERIFY_NONE
11
+ end
12
+ end
Binary file
Binary file
data/lib/geppetto/cli.rb CHANGED
@@ -147,7 +147,7 @@ module Geppetto
147
147
  }
148
148
  end
149
149
 
150
- desc "generate_images", "Every user will post a picture to their feed"
150
+ desc "generate_images", "Every user will post two pictures (landscape and portrait) to their feed"
151
151
  def generate_images
152
152
  users_hash = get_test_users
153
153
  say "Posting images for #{users_hash.size} users", :white
@@ -155,9 +155,11 @@ module Geppetto
155
155
  users_hash.each{|user_hash|
156
156
  # Get this user's feed
157
157
  @graph = Facebook::GraphAPI.new(get_token_for_user_id(user_hash['id']))
158
- file_path = File.join(File.dirname(__FILE__), '320_240.png')
159
- @graph.put_picture(file_path, 'image/png', {:message => "Image created at #{Time.now}"})
160
- progress.inc
158
+ %w(640_480.png 480_640.png).each {|file_name|
159
+ file_path = File.join(File.dirname(__FILE__), file_name)
160
+ @graph.put_picture(file_path, 'image/png', {:message => "Image created at #{Time.now}"})
161
+ progress.inc
162
+ }
161
163
  }
162
164
  progress.finish
163
165
  end
@@ -192,7 +194,7 @@ module Geppetto
192
194
  format_string = "%#{max_key_width}s: %s"
193
195
  hash.each{|key,value| say format(format_string, key, value)}
194
196
  if hash.has_key?('access_token')
195
- say format(format_string, 'app_login', "#{Settings[options.env]['app_url']}?access_token=#{hash['access_token']}&expires_in=0")
197
+ say format(format_string, 'app_login', "#{Settings[options.env]['app_url']}#access_token=#{hash['access_token']}&expires_in=0")
196
198
  end
197
199
  say "-" * 80
198
200
  end
@@ -232,7 +234,7 @@ module Geppetto
232
234
  end
233
235
 
234
236
  def create_network(network_size, installed = true, permissions = '')
235
- network_size = 100 if network_size > 100
237
+ network_size = 1000 if network_size > 1000
236
238
  progress = ProgressBar.new("Creating", network_size)
237
239
  users = (0...network_size).collect {
238
240
  progress.inc
@@ -1,3 +1,3 @@
1
1
  module Geppetto
2
- VERSION = '0.9.4'
2
+ VERSION = '0.9.5'
3
3
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: geppetto
3
3
  version: !ruby/object:Gem::Version
4
- hash: 51
4
+ hash: 49
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 9
9
- - 4
10
- version: 0.9.4
9
+ - 5
10
+ version: 0.9.5
11
11
  platform: ruby
12
12
  authors:
13
13
  - Georges Auberger
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-04-01 00:00:00 -07:00
18
+ date: 2011-05-23 00:00:00 -07:00
19
19
  default_executable: geppetto
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -26,14 +26,12 @@ dependencies:
26
26
  requirements:
27
27
  - - ~>
28
28
  - !ruby/object:Gem::Version
29
- hash: 62196359
29
+ hash: 23
30
30
  segments:
31
31
  - 1
32
32
  - 0
33
33
  - 0
34
- - beta
35
- - 2
36
- version: 1.0.0.beta2
34
+ version: 1.0.0
37
35
  type: :runtime
38
36
  version_requirements: *id001
39
37
  - !ruby/object:Gem::Dependency
@@ -75,11 +73,13 @@ extra_rdoc_files: []
75
73
  files:
76
74
  - bin/geppetto
77
75
  - lib/geppetto/320_240.png
76
+ - lib/geppetto/480_640.png
77
+ - lib/geppetto/640_480.png
78
78
  - lib/geppetto/cli.rb
79
79
  - lib/geppetto/version.rb
80
80
  - lib/geppetto.rb
81
81
  - LICENSE
82
- - README.textile
82
+ - README.md
83
83
  has_rdoc: true
84
84
  homepage: https://github.com/ternarylabs/geppetto
85
85
  licenses: []
data/README.textile DELETED
@@ -1,17 +0,0 @@
1
- Geppetto is a simple command line tool to help manage Facebook test users and the generation of content.
2
-
3
- h2. Installation
4
-
5
- @gem install geppetto@
6
-
7
- h2. Usage
8
-
9
- @geppetto help@
10
-
11
- h2. Dependencies
12
-
13
- A working version of ImageMagick library is required.
14
-
15
- To install on OS X via port
16
-
17
- @port install tiff -macosx imagemagick +q8 +gs +wmf@