geppetto 0.9.4 → 0.9.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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@