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 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