pushify 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
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