twitterpunch 0.0.8 → 0.0.9

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: dc3d6039a991bb31c105ce40daaea5ec49002ffc
4
- data.tar.gz: 3df413902f881befba963640647f8df4ada50bc3
3
+ metadata.gz: e6165d7e7567e21e95a0b4c9f0263bca9baf1d2a
4
+ data.tar.gz: f737d7aae3b511e5d41f716a99f7188fa2d6eae8
5
5
  SHA512:
6
- metadata.gz: 8303873cd744d2acfd901862fe306c1858bbc9df2a2c600377331ea8e56b78ad49ad5091c5bbb83383f4d68bc713cc3348289b25e126abae2c0d9467260fa7de
7
- data.tar.gz: 53a0bf07a69ec8a5054b36b5b732a0c4e725a7c5c507f32bfcc6d5ebd97f7d9d85cac85f095b6ee45c0e31f6f20187a657c5ec1d698e284e1a73671ec82b9f2d
6
+ metadata.gz: e0bea417908e09c9565ae39882217efbcdc04c1f67a194c2f72ef0048c913afb3c6fa49df617861e14d3f0dbf870623082349bcd59e6592def62c3d16d995dc2
7
+ data.tar.gz: 40c009c5f09acfdc47a41d7c353a56e7599d10b3d72809a755adc2c2c9dc4a619ce5bd5b8d5a69cc16ecb0703960c09300db042eb99c37957a4a95c4446d9a4d
@@ -0,0 +1,7 @@
1
+ # Twitterpunch Changelog
2
+
3
+ ## v0.0.9
4
+
5
+ This now resizes images that are too large to post to the Twitter API, and will
6
+ allow you to configure the remote to trigger other photo booth apps besides
7
+ the stock *Photo Booth*.
data/README.md CHANGED
@@ -38,6 +38,10 @@ should look similar to the example below.
38
38
  :logfile: ~/.twitterpunch/activity.log # Where to save logs
39
39
  :viewer: # Use the built-in slideshow viewer
40
40
  :count: 5 # How many images to have onscreen at once
41
+ :remote:
42
+ :timeout: 45 # How long the button should remain disabled for
43
+ :apptitle: dslrBooth # The photo booth application title
44
+ :hotkey: space # Which hotkey to send to trigger a photo
41
45
 
42
46
  1. Generate a skeleton configuration file
43
47
  * `twitterpunch --configure`
@@ -59,13 +63,41 @@ Usage
59
63
  1. Profit!
60
64
  * _and by that, I mean take some shots with PhotoBooth!_
61
65
 
66
+ *Note*: if the folder action doesn't seem to work and photos aren't posted to
67
+ Twitter, here are some troubleshooting steps to take:
68
+
69
+ 1. Run Twitterpunch by hand with photos as arguments. This may help you isolate
70
+ configuration or authorization issues.
71
+ * `twitterpunch foo.jpg`
72
+ 1. Correct the path in the workflow.
73
+ * `which twitterpunch`
74
+ * Edit the Twitterpunch folder action to include that path.
75
+
62
76
  #### Using the remote web app
63
77
 
78
+ Configure the remote web app using the `:remote` hash in `config.yaml`. You can
79
+ usually find the title of the app using `system_profiler -detailLevel full SPApplicationsDataType`
80
+ and grepping for the name or path to the `.app`.
81
+
82
+ In this example, the title is _dslrBooth_.
83
+
84
+ [ben@ganymede] ~ $ system_profiler -detailLevel full SPApplicationsDataType | grep -B8 dslrBooth.app
85
+ dslrBooth:
86
+
87
+ Version: 2.9
88
+ Obtained from: Identified Developer
89
+ Last Modified: 10/14/17, 9:50 PM
90
+ Kind: Intel
91
+ 64-Bit (Intel): Yes
92
+ Signed by: Developer ID Application: Hope Pictures LLC (MZR5GHAQX4), Developer ID Certification Authority, Apple Root CA
93
+ Location: /Applications/dslrBooth.app
94
+
64
95
  1. Run the app with `twitterpunch --remote`
65
96
  1. Browse to the app with http://{address}:8080
66
97
  1. [optional] If on an iOS device, add to your homescreen
67
98
  * This will give you "app behaviour", such as full screen, and a nice icon
68
99
 
100
+
69
101
  #### Troubleshooting.
70
102
 
71
103
  1. Make sure the folder action is installed properly
@@ -89,6 +121,12 @@ multiple files at once.
89
121
 
90
122
  [ben@ganymede] ~ $ twitterpunch photo.jpg [photo2.jpg photo3.jpg photo4.jpg]
91
123
 
124
+ You can manually install the Folder Action, or you can follow the automated
125
+ install process after tweaking the workflow slightly.
126
+
127
+ 1. Identify where the app stores the resulting image files.
128
+ 1. Edit the Twitterpunch folder action to include that path.
129
+ 1. Follow the steps above to install the Folder Action.
92
130
 
93
131
  ### Viewing the Twitter stream
94
132
 
@@ -46,11 +46,11 @@ optparse = OptionParser.new { |opts|
46
46
  config[:action] = :configure
47
47
  end
48
48
 
49
- opts.on("-i", "--remote", "Start the Twitterpunch remote web service") do
49
+ opts.on("-r", "--remote", "Start the Twitterpunch remote web service") do
50
50
  config[:action] = :remote
51
51
  end
52
52
 
53
- opts.on("-r", "--install", "Install the Folder Action workflow (OS X only).") do
53
+ opts.on("-i", "--install", "Install the Folder Action workflow (OS X only).") do
54
54
  config[:action] = :install
55
55
  end
56
56
 
@@ -79,6 +79,12 @@ config[:queue] = {}
79
79
  config[:queue][:file] = File.expand_path('~/.twitterpunch/queue.yaml')
80
80
  config[:queue][:ttl] = 30
81
81
 
82
+ config[:remote] ||= {}
83
+ config[:remote][:port] ||= 8080
84
+ config[:remote][:timeout] ||= 3
85
+ config[:remote][:apptitle] ||= 'Photo Booth'
86
+ config[:remote][:hotkey] ||= 'return'
87
+
82
88
  FileUtils.touch(config[:queue][:file])
83
89
  FileUtils.touch(config[:statefile])
84
90
 
@@ -95,7 +101,7 @@ when :stream
95
101
  Twitterpunch::Streamer.new(config).thread
96
102
  viewer.run
97
103
 
98
- File.open(statefile, 'w') {|f| f.write(config[:state].to_yaml) }
104
+ File.open(config[:statefile], 'w') {|f| f.write(config[:state].to_yaml) }
99
105
 
100
106
  when :post
101
107
  require 'twitterpunch/poster'
@@ -128,9 +134,10 @@ when :install
128
134
  when :remote
129
135
  require 'twitterpunch/remote'
130
136
  options = {
131
- :port => 8080,
132
- :bind => '0.0.0.0',
133
- :queue => Twitterpunch::Queue.new(config),
137
+ :port => config[:remote][:port],
138
+ :bind => '0.0.0.0',
139
+ :queue => Twitterpunch::Queue.new(config),
140
+ :remote => config[:remote],
134
141
  }
135
142
 
136
143
  Twitterpunch::Remote.run! options
@@ -1,5 +1,5 @@
1
1
  module Twitterpunch
2
- VERSION = '0.0.8'
2
+ VERSION = '0.0.9'
3
3
 
4
4
  # Twitter application credentials
5
5
  API_KEY = 'STurW17Tj7HuoZ7dSzS0uSoIP'
@@ -1,6 +1,8 @@
1
1
  require 'rubygems'
2
2
  require 'twitter'
3
3
  require 'twitterpunch/queue'
4
+ require 'tempfile'
5
+ require 'rmagick'
4
6
 
5
7
  module Twitterpunch
6
8
  class Poster
@@ -17,11 +19,38 @@ module Twitterpunch
17
19
  message = @queue.pop || @config[:messages].sample
18
20
  message = "#{message[0..@length]} ##{@config[:hashtag]}"
19
21
 
20
- @client.update_with_media(message, File.new(File.expand_path(img)))
22
+ resample(img) do |path|
23
+ @client.update_with_media(message, File.new(path))
24
+ end
21
25
  chirp()
22
26
  end
23
27
  end
24
28
 
29
+ def resample(img)
30
+ path = File.expand_path(img)
31
+ size = File.size?(path)
32
+ max = 3000000 # max size for twitter images
33
+
34
+ if size < max
35
+ yield path
36
+ else
37
+ # since filesize grows exponentially, this will be smaller than absolutely necessary.
38
+ ratio = Float(max) / Float(size)
39
+ tmpfile = Tempfile.new('twitterpunch')
40
+
41
+ image = Magick::Image.read(path).first
42
+ image.resize!(ratio)
43
+ image.write(tmpfile.path)
44
+
45
+ yield tmpfile.path
46
+
47
+ tmpfile.close
48
+ tmpfile.unlink
49
+
50
+ puts "Resized image to #{Integer(ratio * 100)}%."
51
+ end
52
+ end
53
+
25
54
  def chirp
26
55
  case RUBY_PLATFORM
27
56
  when /mingw|cygwin/
@@ -9,12 +9,15 @@ class Twitterpunch::Remote < Sinatra::Base
9
9
  set :views, File.dirname(__FILE__) + '/../../views'
10
10
  set :public_folder, File.dirname(__FILE__) + '/../../public'
11
11
  set :erb, :trim => '-'
12
- set :configfile, File.expand_path('~/.twitterpunch/queue.yaml')
13
12
 
14
13
  configure :production, :development do
15
14
  enable :logging
16
15
  enable :sessions
17
- system('osascript', '-e' 'tell application "Photo Booth" to activate')
16
+ end
17
+
18
+ def initialize(app=nil)
19
+ super(app)
20
+ system('osascript', '-e' "tell application \"#{settings.remote[:apptitle]}\" to activate")
18
21
  end
19
22
 
20
23
  get '/' do
@@ -33,15 +36,19 @@ class Twitterpunch::Remote < Sinatra::Base
33
36
  helpers do
34
37
  def photo
35
38
  begin
36
- stdout, status = Open3.capture2e('osascript', '-e', 'tell application "Photo Booth" to activate')
37
- puts stdout
38
- raise "Could not activate Photo Booth" unless status.success?
39
+ stdout, status = Open3.capture2e('osascript', '-e', "tell application \"#{settings.remote[:apptitle]}\" to activate")
40
+ unless status.success?
41
+ puts stdout
42
+ raise "Could not activate Photo Booth"
43
+ end
39
44
 
40
45
  # This is kind of iffy, because it depends on having full control over the UI.
41
- # This will only work when Photo Booth actually has the foreground.
42
- stdout, status = Open3.capture2e('osascript', '-e', 'tell application "System Events" to keystroke return')
43
- puts stdout
44
- raise "Snapshot failed" unless status.success?
46
+ # This will only work when the Photo Booth app actually has the foreground.
47
+ stdout, status = Open3.capture2e('osascript', '-e', "tell application \"System Events\" to keystroke #{settings.remote[:hotkey]}")
48
+ unless status.success?
49
+ puts stdout
50
+ raise "Snapshot failed"
51
+ end
45
52
 
46
53
  'ok'
47
54
  rescue => e
@@ -105,7 +105,7 @@ module Twitterpunch
105
105
 
106
106
  def next_image
107
107
  image = Dir.glob(File.expand_path("#{@config[:photodir]}/*")).sample
108
- text = @config[:state][File.basename(image)]
108
+ text = @config[:state][File.basename(image)] rescue nil
109
109
  return image, text
110
110
  end
111
111
 
@@ -104,7 +104,7 @@
104
104
  btn.className = "";
105
105
  btn.value = "Push Me";
106
106
  msg.value = "";
107
- },3000);
107
+ }, <%= settings.remote[:timeout] * 1000 %>);
108
108
 
109
109
  if (txt == "") {
110
110
  get('/photo');
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: twitterpunch
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8
4
+ version: 0.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ben Ford
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-12-11 00:00:00.000000000 Z
11
+ date: 2017-10-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: twitter
@@ -66,6 +66,34 @@ dependencies:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: sinatra
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rmagick
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
69
97
  description: "Twitterpunch\n===============\n\nTwitterpunch is designed to work with
70
98
  PhotoBooth and OS X Folder Actions.\nWhen this script is called with the name of
71
99
  an image file, it will post the\nimage to Twitter, along with a message randomly
@@ -88,54 +116,75 @@ description: "Twitterpunch\n===============\n\nTwitterpunch is designed to work
88
116
  ~/Pictures/twitterpunch/ # Where to save downloaded images\n :logfile: ~/.twitterpunch/activity.log
89
117
  \ # Where to save logs\n :viewer: # Use the built-in
90
118
  slideshow viewer\n :count: 5 # How many images
91
- to have onscreen at once\n\n1. Generate a skeleton configuration file\n * `twitterpunch
92
- --configure`\n1. Edit the configuration file as needed. You'll be prompted with
93
- the path.\n * If you have your own Twitter application credentials, you're welcome
94
- to use them.\n1. Authorize the application with the Twitter API.\n * `twitterpunch
95
- --authorize`\n\n\nUsage \n==========\n\n### Using OS X PhotoBooth\n\n1. Start PhotoBooth
96
- at least once to generate its library.\n1. Install the Twitterpunch Folder Action\n
97
- \ * `twitterpunch --install`\n * It may claim that it could not be attached,
98
- fear not.\n1. Profit!\n * _and by that, I mean take some shots with PhotoBooth!_\n\n####
99
- Using the remote web app\n\n1. Run the app with `twitterpunch --remote`\n1. Browse
100
- to the app with http://{address}:8080\n1. [optional] If on an iOS device, add to
101
- your homescreen\n * This will give you \"app behaviour\", such as full screen,
102
- and a nice icon\n\n#### Troubleshooting.\n\n1. Make sure the folder action is installed
103
- properly\n 1. Use the Finder to navigate to `~/Pictures/`\n 1. Right click
104
- on the `Photo Booth Library` icon and choose _Show Package Contents_.\n 1. Right
105
- click on the `Pictures` folder and choose `Services > Folder Actions Setup`\n 1.
106
- Make sure that the `Twitterpunch` action is attached.\n1. Install the folder action\n
107
- \ 1. Open the `resources` folder of this gem.\n * Likely to be found in
108
- `/Library/Ruby/Gems/{version}/gems/twitterpunch-#{version}/resources/`.\n 1.
109
- Double click on the `Twitterpunch` folder action and install it.\n * It may
110
- claim that it could not be attached, fear not.\n\n\n### Using something besides
119
+ to have onscreen at once\n :remote:\n :timeout: 45 #
120
+ How long the button should remain disabled for\n :apptitle: dslrBooth #
121
+ The photo booth application title\n :hotkey: space #
122
+ Which hotkey to send to trigger a photo\n\n1. Generate a skeleton configuration
123
+ file\n * `twitterpunch --configure`\n1. Edit the configuration file as needed.
124
+ You'll be prompted with the path.\n * If you have your own Twitter application
125
+ credentials, you're welcome to use them.\n1. Authorize the application with the
126
+ Twitter API.\n * `twitterpunch --authorize`\n\n\nUsage \n==========\n\n### Using
127
+ OS X PhotoBooth\n\n1. Start PhotoBooth at least once to generate its library.\n1.
128
+ Install the Twitterpunch Folder Action\n * `twitterpunch --install`\n * It
129
+ may claim that it could not be attached, fear not.\n1. Profit!\n * _and by that,
130
+ I mean take some shots with PhotoBooth!_\n\n*Note*: if the folder action doesn't
131
+ seem to work and photos aren't posted to\nTwitter, here are some troubleshooting
132
+ steps to take:\n\n1. Run Twitterpunch by hand with photos as arguments. This may
133
+ help you isolate\n configuration or authorization issues.\n * `twitterpunch
134
+ foo.jpg`\n1. Correct the path in the workflow.\n * `which twitterpunch`\n *
135
+ Edit the Twitterpunch folder action to include that path.\n\n#### Using the remote
136
+ web app\n\nConfigure the remote web app using the `:remote` hash in `config.yaml`.
137
+ You can\nusually find the title of the app using `system_profiler -detailLevel full
138
+ SPApplicationsDataType`\nand grepping for the name or path to the `.app`.\n\nIn
139
+ this example, the title is _dslrBooth_.\n\n [ben@ganymede] ~ $ system_profiler
140
+ -detailLevel full SPApplicationsDataType | grep -B8 dslrBooth.app\n dslrBooth:\n\n
141
+ \ Version: 2.9\n Obtained from: Identified Developer\n Last
142
+ Modified: 10/14/17, 9:50 PM\n Kind: Intel\n 64-Bit (Intel): Yes\n
143
+ \ Signed by: Developer ID Application: Hope Pictures LLC (MZR5GHAQX4), Developer
144
+ ID Certification Authority, Apple Root CA\n Location: /Applications/dslrBooth.app\n\n1.
145
+ Run the app with `twitterpunch --remote`\n1. Browse to the app with http://{address}:8080\n1.
146
+ [optional] If on an iOS device, add to your homescreen\n * This will give you
147
+ \"app behaviour\", such as full screen, and a nice icon\n\n\n#### Troubleshooting.\n\n1.
148
+ Make sure the folder action is installed properly\n 1. Use the Finder to navigate
149
+ to `~/Pictures/`\n 1. Right click on the `Photo Booth Library` icon and choose
150
+ _Show Package Contents_.\n 1. Right click on the `Pictures` folder and choose
151
+ `Services > Folder Actions Setup`\n 1. Make sure that the `Twitterpunch` action
152
+ is attached.\n1. Install the folder action\n 1. Open the `resources` folder of
153
+ this gem.\n * Likely to be found in `/Library/Ruby/Gems/{version}/gems/twitterpunch-#{version}/resources/`.\n
154
+ \ 1. Double click on the `Twitterpunch` folder action and install it.\n *
155
+ It may claim that it could not be attached, fear not.\n\n\n### Using something besides
111
156
  PhotoBooth\n\nConfigure the program you are using for your photo shoot to call Twitterpunch\neach
112
157
  time it snaps a photo. Pass the name of the new photo as a command line\nargument.
113
158
  \ Alternatively, you could batch them, as Twitterpunch can accept\nmultiple files
114
159
  at once.\n\n [ben@ganymede] ~ $ twitterpunch photo.jpg [photo2.jpg photo3.jpg
115
- photo4.jpg]\n\n\n### Viewing the Twitter stream\n\nTwitterpunch will run on OS X
116
- or Windows equally well. Simply configure it on the\ncomputer that will act as the
117
- Twitter display and then run in streaming mode.\n\n [ben@ganymede] ~ $ twitterpunch
118
- --stream\n\nThere are two modes that Twitterpunch can operate in.\n\n1. If a `:hashtag`
119
- is defined then all images tweeted to the configured hashtag\n will be displayed
120
- in the slideshow.\n1. Otherwise, Twitterpunch will stream the `:handle` Twitter
121
- user's stream and\n display all images either posted by that user or addressed
122
- to that user. With\n protected tweets, you can have rudimentary access control.\n\nIn
123
- either mode, tweets that come from any other user will also be spoken aloud.\n\nIf
124
- you don't want to use the built-in slideshow viewer, you can disable it by\nremoving
125
- the `:viewer` key from your `~/.twitterpunch/config.yaml` config file.\nTwitterpunch
126
- will then simply download the tweeted images and save them into the\n`:photodir`
127
- directory. You can then use anything you like to view them.\n\nThere are currently
128
- two decent viewing options I am aware of.\n\n* Windows background image:\n *
129
- Configure the Windows background to randomly cycle through photos in a directory.\n
130
- \ * Hide desktop icons.\n * Hide the taskbar.\n * Disable screensaver and
131
- power savings.\n * Drawbacks: You're using Windows and you have to install Ruby
132
- & RubyGems manually.\n* OS X screensaver:\n * Choose one of the sexy screensavers
133
- and configure it to show photos from the `:photodir`\n * Set screensaver to a
134
- super short timeout.\n * Disable power savings.\n * Drawbacks: The screensaver
135
- doesn't reload dynamically, so I have to kick it\n and you'll see it reloading
136
- each time a new tweet comes in.\n\n\nLimitations\n===========\n\n* It currently
137
- requires manual setup for Folder Actions.\n* Rubygame is kind of a pain to set up.\n\n\nContact\n=======\n\n*
138
- Author: Ben Ford\n* Email: binford2k@gmail.com\n* Twitter: @binford2k\n* IRC (Freenode):
160
+ photo4.jpg]\n\nYou can manually install the Folder Action, or you can follow the
161
+ automated\ninstall process after tweaking the workflow slightly.\n\n1. Identify
162
+ where the app stores the resulting image files.\n1. Edit the Twitterpunch folder
163
+ action to include that path.\n1. Follow the steps above to install the Folder Action.\n\n###
164
+ Viewing the Twitter stream\n\nTwitterpunch will run on OS X or Windows equally well.
165
+ Simply configure it on the\ncomputer that will act as the Twitter display and then
166
+ run in streaming mode.\n\n [ben@ganymede] ~ $ twitterpunch --stream\n\nThere
167
+ are two modes that Twitterpunch can operate in.\n\n1. If a `:hashtag` is defined
168
+ then all images tweeted to the configured hashtag\n will be displayed in the slideshow.\n1.
169
+ Otherwise, Twitterpunch will stream the `:handle` Twitter user's stream and\n display
170
+ all images either posted by that user or addressed to that user. With\n protected
171
+ tweets, you can have rudimentary access control.\n\nIn either mode, tweets that
172
+ come from any other user will also be spoken aloud.\n\nIf you don't want to use
173
+ the built-in slideshow viewer, you can disable it by\nremoving the `:viewer` key
174
+ from your `~/.twitterpunch/config.yaml` config file.\nTwitterpunch will then simply
175
+ download the tweeted images and save them into the\n`:photodir` directory. You can
176
+ then use anything you like to view them.\n\nThere are currently two decent viewing
177
+ options I am aware of.\n\n* Windows background image:\n * Configure the Windows
178
+ background to randomly cycle through photos in a directory.\n * Hide desktop
179
+ icons.\n * Hide the taskbar.\n * Disable screensaver and power savings.\n
180
+ \ * Drawbacks: You're using Windows and you have to install Ruby & RubyGems manually.\n*
181
+ OS X screensaver:\n * Choose one of the sexy screensavers and configure it to
182
+ show photos from the `:photodir`\n * Set screensaver to a super short timeout.\n
183
+ \ * Disable power savings.\n * Drawbacks: The screensaver doesn't reload dynamically,
184
+ so I have to kick it\n and you'll see it reloading each time a new tweet comes
185
+ in.\n\n\nLimitations\n===========\n\n* It currently requires manual setup for Folder
186
+ Actions.\n* Rubygame is kind of a pain to set up.\n\n\nContact\n=======\n\n* Author:
187
+ Ben Ford\n* Email: binford2k@gmail.com\n* Twitter: @binford2k\n* IRC (Freenode):
139
188
  binford2k\n"
140
189
  email: binford2k@gmail.com
141
190
  executables:
@@ -143,9 +192,11 @@ executables:
143
192
  extensions: []
144
193
  extra_rdoc_files: []
145
194
  files:
195
+ - CHANGELOG.md
146
196
  - LICENSE
147
197
  - README.md
148
198
  - bin/twitterpunch
199
+ - lib/twitterpunch.rb
149
200
  - lib/twitterpunch/configuration.rb
150
201
  - lib/twitterpunch/logger.rb
151
202
  - lib/twitterpunch/poster.rb
@@ -154,7 +205,8 @@ files:
154
205
  - lib/twitterpunch/sprite.rb
155
206
  - lib/twitterpunch/streamer.rb
156
207
  - lib/twitterpunch/viewer.rb
157
- - lib/twitterpunch.rb
208
+ - public/touch-icon-ipad-retina.png
209
+ - public/touch-icon-iphone-retina.png
158
210
  - resources/Tahoma Bold.ttf
159
211
  - resources/Twitterpunch.workflow/Contents/Info.plist
160
212
  - resources/Twitterpunch.workflow/Contents/QuickLook/Thumbnail.png
@@ -162,8 +214,6 @@ files:
162
214
  - resources/say.vbs
163
215
  - resources/tweet_sent.wav
164
216
  - views/index.erb
165
- - public/touch-icon-ipad-retina.png
166
- - public/touch-icon-iphone-retina.png
167
217
  homepage: https://github.com/binford2k/twitterpunch
168
218
  licenses:
169
219
  - MIT
@@ -193,7 +243,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
193
243
  version: '0'
194
244
  requirements: []
195
245
  rubyforge_project:
196
- rubygems_version: 2.0.14.1
246
+ rubygems_version: 2.5.2
197
247
  signing_key:
198
248
  specification_version: 4
199
249
  summary: A simple tool to automate the posting and streaming of PhotoBooth shots over