twitterpunch 0.0.8 → 0.0.9
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +7 -0
- data/README.md +38 -0
- data/bin/twitterpunch +13 -6
- data/lib/twitterpunch.rb +1 -1
- data/lib/twitterpunch/poster.rb +30 -1
- data/lib/twitterpunch/remote.rb +16 -9
- data/lib/twitterpunch/viewer.rb +1 -1
- data/views/index.erb +1 -1
- metadata +100 -50
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e6165d7e7567e21e95a0b4c9f0263bca9baf1d2a
|
4
|
+
data.tar.gz: f737d7aae3b511e5d41f716a99f7188fa2d6eae8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e0bea417908e09c9565ae39882217efbcdc04c1f67a194c2f72ef0048c913afb3c6fa49df617861e14d3f0dbf870623082349bcd59e6592def62c3d16d995dc2
|
7
|
+
data.tar.gz: 40c009c5f09acfdc47a41d7c353a56e7599d10b3d72809a755adc2c2c9dc4a619ce5bd5b8d5a69cc16ecb0703960c09300db042eb99c37957a4a95c4446d9a4d
|
data/CHANGELOG.md
ADDED
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
|
|
data/bin/twitterpunch
CHANGED
@@ -46,11 +46,11 @@ optparse = OptionParser.new { |opts|
|
|
46
46
|
config[:action] = :configure
|
47
47
|
end
|
48
48
|
|
49
|
-
opts.on("-
|
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("-
|
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
|
132
|
-
:bind
|
133
|
-
:queue
|
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
|
data/lib/twitterpunch.rb
CHANGED
data/lib/twitterpunch/poster.rb
CHANGED
@@ -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
|
-
|
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/
|
data/lib/twitterpunch/remote.rb
CHANGED
@@ -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
|
-
|
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',
|
37
|
-
|
38
|
-
|
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',
|
43
|
-
|
44
|
-
|
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
|
data/lib/twitterpunch/viewer.rb
CHANGED
@@ -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
|
|
data/views/index.erb
CHANGED
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.
|
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:
|
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
|
92
|
-
|
93
|
-
|
94
|
-
to
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
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\
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
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
|
-
-
|
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.
|
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
|