pushify 1.0.0
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/.specification +92 -0
- data/LICENSE +20 -0
- data/README.markdown +31 -0
- data/ROADMAP +13 -0
- data/Rakefile +60 -0
- data/VERSION +1 -0
- data/bin/pushify +50 -0
- data/install/expressinstall.swf +0 -0
- data/install/json.js +482 -0
- data/install/juggernaut.js +215 -0
- data/install/juggernaut.swf +0 -0
- data/install/juggernaut.yml +97 -0
- data/install/juggernaut_hosts.yml +18 -0
- data/install/pushify.js +81 -0
- data/install/swfobject.js +5 -0
- data/lib/pushify/helper.rb +39 -0
- data/lib/pushify/install.rb +27 -0
- data/lib/pushify/juggernaut.rb +58 -0
- data/lib/pushify/rack.rb +26 -0
- data/lib/pushify/rails.rb +54 -0
- data/lib/pushify/server.rb +85 -0
- data/lib/pushify.rb +9 -0
- data/pkg/pushify-1.0.0.gem +0 -0
- data/pushify.gemspec +60 -0
- data/spec/css_push_spec.rb +7 -0
- data/spec/spec_helper.rb +9 -0
- metadata +92 -0
data/.specification
ADDED
@@ -0,0 +1,92 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: pushify
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 23
|
5
|
+
prerelease: false
|
6
|
+
segments:
|
7
|
+
- 1
|
8
|
+
- 0
|
9
|
+
- 0
|
10
|
+
version: 1.0.0
|
11
|
+
platform: ruby
|
12
|
+
authors:
|
13
|
+
- Jason Tillery
|
14
|
+
autorequire:
|
15
|
+
bindir: bin
|
16
|
+
cert_chain: []
|
17
|
+
|
18
|
+
date: 2010-10-24 00:00:00 -05:00
|
19
|
+
default_executable: pushify
|
20
|
+
dependencies: []
|
21
|
+
|
22
|
+
description:
|
23
|
+
email: tilleryj@thinklinkr.com
|
24
|
+
executables:
|
25
|
+
- pushify
|
26
|
+
extensions: []
|
27
|
+
|
28
|
+
extra_rdoc_files: []
|
29
|
+
|
30
|
+
files:
|
31
|
+
- .specification
|
32
|
+
- LICENSE
|
33
|
+
- README.markdown
|
34
|
+
- ROADMAP
|
35
|
+
- Rakefile
|
36
|
+
- VERSION
|
37
|
+
- bin/pushify
|
38
|
+
- install/expressinstall.swf
|
39
|
+
- install/json.js
|
40
|
+
- install/juggernaut.js
|
41
|
+
- install/juggernaut.swf
|
42
|
+
- install/juggernaut.yml
|
43
|
+
- install/juggernaut_hosts.yml
|
44
|
+
- install/pushify.js
|
45
|
+
- install/swfobject.js
|
46
|
+
- lib/pushify.rb
|
47
|
+
- lib/pushify/helper.rb
|
48
|
+
- lib/pushify/install.rb
|
49
|
+
- lib/pushify/juggernaut.rb
|
50
|
+
- lib/pushify/rack.rb
|
51
|
+
- lib/pushify/rails.rb
|
52
|
+
- lib/pushify/server.rb
|
53
|
+
- pkg/pushify-1.0.0.gem
|
54
|
+
- pushify.gemspec
|
55
|
+
- spec/css_push_spec.rb
|
56
|
+
- spec/spec_helper.rb
|
57
|
+
has_rdoc: true
|
58
|
+
homepage: http://github.com/tilleryj/pushify
|
59
|
+
licenses: []
|
60
|
+
|
61
|
+
post_install_message:
|
62
|
+
rdoc_options:
|
63
|
+
- --charset=UTF-8
|
64
|
+
require_paths:
|
65
|
+
- lib
|
66
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
67
|
+
none: false
|
68
|
+
requirements:
|
69
|
+
- - ">="
|
70
|
+
- !ruby/object:Gem::Version
|
71
|
+
hash: 3
|
72
|
+
segments:
|
73
|
+
- 0
|
74
|
+
version: "0"
|
75
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
76
|
+
none: false
|
77
|
+
requirements:
|
78
|
+
- - ">="
|
79
|
+
- !ruby/object:Gem::Version
|
80
|
+
hash: 3
|
81
|
+
segments:
|
82
|
+
- 0
|
83
|
+
version: "0"
|
84
|
+
requirements: []
|
85
|
+
|
86
|
+
rubyforge_project:
|
87
|
+
rubygems_version: 1.3.7
|
88
|
+
signing_key:
|
89
|
+
specification_version: 3
|
90
|
+
summary: See updates you make to css, html, javascript, and images appear immediately in all of your browsers without having to refresh.
|
91
|
+
test_files: []
|
92
|
+
|
data/LICENSE
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
Copyright (c) 2009 Thinklink, LLC
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
a copy of this software and associated documentation files (the
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
the following conditions:
|
10
|
+
|
11
|
+
The above copyright notice and this permission notice shall be
|
12
|
+
included in all copies or substantial portions of the Software.
|
13
|
+
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.markdown
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
# Pushify: Instantly push css changes to your browser(s) whenever you save.
|
2
|
+
See updates you make to css files appear immediately in all of your browsers without having to refresh.
|
3
|
+
|
4
|
+
# Limitations
|
5
|
+
* Will not work in windows development environments
|
6
|
+
* Currently is only available as a plugin to rails
|
7
|
+
|
8
|
+
# Getting Started
|
9
|
+
|
10
|
+
## Installing
|
11
|
+
|
12
|
+
# Install the gem
|
13
|
+
sudo gem install pushify
|
14
|
+
# Install pushify into your rails app and start the pushify server
|
15
|
+
pushify install
|
16
|
+
|
17
|
+
## Starting and stopping the push server
|
18
|
+
# Start the server with pushify start
|
19
|
+
pushify start
|
20
|
+
# Stop the server with pushify stop
|
21
|
+
pushify stop
|
22
|
+
|
23
|
+
|
24
|
+
# That's it
|
25
|
+
That's it. Load up the page in a browser and update the CSS file in your editor.
|
26
|
+
|
27
|
+
Now open up a different browser and update the CSS. Now you can watch the effect of your CSS updates on multiple browsers without refreshing.
|
28
|
+
|
29
|
+
|
30
|
+
Copyright (c) 2008-2010 Thinklink LLC (Jason Tillery and Vishu Ramanathan)
|
31
|
+
|
data/ROADMAP
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
|
2
|
+
Todo:
|
3
|
+
- uninstall script
|
4
|
+
|
5
|
+
Future:
|
6
|
+
|
7
|
+
- Make it work in non-rails projects
|
8
|
+
|
9
|
+
Completed at ORD Sessions (June 18, 2009)
|
10
|
+
- add gem configuration to rails from setup script, pushify.rb
|
11
|
+
- for production, recognize environments where css push is not installed & make pushify helper method an empty string
|
12
|
+
- daemonize the csspush script, and have it start csspush and juggernaut
|
13
|
+
- update the README to be more comprehensive and have decent formatting
|
data/Rakefile
ADDED
@@ -0,0 +1,60 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'rake'
|
3
|
+
|
4
|
+
begin
|
5
|
+
require 'jeweler'
|
6
|
+
Jeweler::Tasks.new do |gem|
|
7
|
+
gem.name = "pushify"
|
8
|
+
gem.summary = "See updates you make to css, html, javascript, and images appear immediately in all of your browsers without having to refresh."
|
9
|
+
gem.email = "tilleryj@thinklinkr.com"
|
10
|
+
gem.homepage = "http://github.com/tilleryj/pushify"
|
11
|
+
gem.authors = ["Jason Tillery"]
|
12
|
+
gem.executables = "pushify"
|
13
|
+
# gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
|
14
|
+
end
|
15
|
+
|
16
|
+
rescue LoadError
|
17
|
+
puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
|
18
|
+
end
|
19
|
+
|
20
|
+
require 'spec/rake/spectask'
|
21
|
+
Spec::Rake::SpecTask.new(:spec) do |spec|
|
22
|
+
spec.libs << 'lib' << 'spec'
|
23
|
+
spec.spec_files = FileList['spec/**/*_spec.rb']
|
24
|
+
end
|
25
|
+
|
26
|
+
Spec::Rake::SpecTask.new(:rcov) do |spec|
|
27
|
+
spec.libs << 'lib' << 'spec'
|
28
|
+
spec.pattern = 'spec/**/*_spec.rb'
|
29
|
+
spec.rcov = true
|
30
|
+
end
|
31
|
+
|
32
|
+
|
33
|
+
task :default => :spec
|
34
|
+
|
35
|
+
require 'rake/rdoctask'
|
36
|
+
Rake::RDocTask.new do |rdoc|
|
37
|
+
if File.exist?('VERSION.yml')
|
38
|
+
config = YAML.load(File.read('VERSION.yml'))
|
39
|
+
version = "#{config[:major]}.#{config[:minor]}.#{config[:patch]}"
|
40
|
+
else
|
41
|
+
version = ""
|
42
|
+
end
|
43
|
+
|
44
|
+
rdoc.rdoc_dir = 'rdoc'
|
45
|
+
rdoc.title = "pushify #{version}"
|
46
|
+
rdoc.rdoc_files.include('README*')
|
47
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
48
|
+
end
|
49
|
+
|
50
|
+
|
51
|
+
desc "Creates a rails specification file"
|
52
|
+
task :rails_spec => :build do
|
53
|
+
spec = Gem::Specification.load("pushify.gemspec")
|
54
|
+
File.open(".specification", 'w') do |file|
|
55
|
+
file.puts spec.to_yaml
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
|
60
|
+
|
data/VERSION
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
1.0.0
|
data/bin/pushify
ADDED
@@ -0,0 +1,50 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
require 'rubygems'
|
3
|
+
require 'daemons'
|
4
|
+
require 'juggernaut'
|
5
|
+
|
6
|
+
lib_dir = File.join(File.dirname(__FILE__), "..", "lib")
|
7
|
+
require File.join(lib_dir, "pushify", "install")
|
8
|
+
require File.join(lib_dir, "pushify", "server")
|
9
|
+
|
10
|
+
|
11
|
+
if (ARGV.to_s.empty? || ARGV.to_s == "help")
|
12
|
+
|
13
|
+
puts
|
14
|
+
puts "Pushify - from editor to browser"
|
15
|
+
puts "--------------------------------------------"
|
16
|
+
puts "pushify start # start the pushify server"
|
17
|
+
puts "pushify stop # stop the pushify server"
|
18
|
+
puts "pushify install # install into a rails app"
|
19
|
+
puts "pushify readme # print the readme"
|
20
|
+
puts "pushify help # show this message"
|
21
|
+
puts
|
22
|
+
|
23
|
+
elsif (ARGV.to_s == "readme")
|
24
|
+
puts
|
25
|
+
puts File.open(File.join(File.dirname(__FILE__), "..", "README.markdown")).read
|
26
|
+
puts
|
27
|
+
else
|
28
|
+
|
29
|
+
if (ARGV.include?('install'))
|
30
|
+
print "Installing Pushify..."
|
31
|
+
Pushify::Install.install!
|
32
|
+
puts "success!"
|
33
|
+
ARGV.clear
|
34
|
+
ARGV.push("start")
|
35
|
+
end
|
36
|
+
|
37
|
+
pids = File.join('tmp', 'pids')
|
38
|
+
pid = File.join(pids, 'juggernaut.pid')
|
39
|
+
if ARGV.include?('stop')
|
40
|
+
print "Stopping pushify server..."
|
41
|
+
system("kill #{File.read(pid)}")
|
42
|
+
system("rm #{pid}")
|
43
|
+
else
|
44
|
+
print "Starting pushify server..."
|
45
|
+
config = File.exist?("config/juggernaut.yml") ? "config/juggernaut.yml" : File.join(File.dirname(__FILE__), "..", "install", "juggernaut.yml")
|
46
|
+
system("juggernaut -c#{config} -d -P #{pid}")
|
47
|
+
end
|
48
|
+
Daemons.run_proc(File.join(pids, 'pushify_server.rb')) { Pushify::Server.run }
|
49
|
+
puts "success!"
|
50
|
+
end
|
Binary file
|