cuba-bin 0.1.0 → 0.1.1

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: 0748a709675c11899697d2ccbfb487bfcea32e24
4
- data.tar.gz: db50c77a2ff5f2e5cc499f6da9af06ebe1e3a03b
3
+ metadata.gz: d1626abc9ea3d27fadf54ac21bb2b94043bd9d18
4
+ data.tar.gz: d68bc5330a8670fcaa788117eee8d4e85fa13909
5
5
  SHA512:
6
- metadata.gz: bb1efff48edfa493dad4a1cab94ae2a867126ed4dd4f71fe5a67ee4b68fa022c7932e0a6fe279e3f4df57a88018d6c1861b9aaf0cc46c72460ad101d4b21c0b6
7
- data.tar.gz: d066bcb58a4f532f48b4abcf5f27fbe7e02577d013caa47b9cfd77d6eb4a96445474a049548c893b3266672505858d3b3fd062e6bcb2eff91354010b23c42ad8
6
+ metadata.gz: 634b934289fcc14feba6b8045530298dab0b16cc0d91687e3cdb2b5e1672a803dd1190a00b35568bdd34868c805962941e34da163006bf6cc9445ad09974fa6e
7
+ data.tar.gz: c7c2f14d49e3f5e3abc38e63676826cbef5f6a80404e53fb6471c2898f2229b419a5180cf121cc36b472f5e0f29f1230eca8aa5de97b08b3146e6f4d5b2105e9
data/cuba-bin.gemspec CHANGED
@@ -1,7 +1,7 @@
1
1
  # coding: utf-8
2
2
  lib = File.expand_path('../lib', __FILE__)
3
3
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require 'cuba/bin/version'
4
+ require 'cuba/bin'
5
5
 
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = "cuba-bin"
@@ -18,6 +18,7 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
20
 
21
+ spec.add_dependency "cuba"
21
22
  spec.add_dependency "clap"
22
23
  spec.add_dependency "puma"
23
24
  spec.add_dependency "listen"
data/lib/cuba/bin.rb CHANGED
@@ -1,31 +1,33 @@
1
- require "cuba/bin/version"
1
+ require "cuba"
2
2
  require "cuba/bin/daemon"
3
3
 
4
- module Cuba
5
- module Bin
6
- extend self
4
+ module Cuba::Bin
5
+ unless defined? VERSION
6
+ VERSION = '0.1.1'
7
+ end
7
8
 
8
- def server
9
- Daemon.new(argv).run
10
- end
9
+ extend self
11
10
 
12
- private
11
+ def server
12
+ Daemon.new(argv).run
13
+ end
13
14
 
14
- def argv
15
- @args ||= begin
16
- ARGV.shift
17
- ARGV
18
- end
15
+ private
19
16
 
20
- @args.each_with_index do |arg, i|
21
- if arg[/\s/]
22
- @args[i] = "\"#{arg}\""
23
- else
24
- @args[i] = arg
25
- end
26
- end
17
+ def argv
18
+ @args ||= begin
19
+ ARGV.shift
20
+ ARGV
21
+ end
27
22
 
28
- @args
23
+ @args.each_with_index do |arg, i|
24
+ if arg[/\s/]
25
+ @args[i] = "\"#{arg}\""
26
+ else
27
+ @args[i] = arg
28
+ end
29
29
  end
30
+
31
+ @args
30
32
  end
31
33
  end
@@ -1,118 +1,116 @@
1
1
  require 'listen'
2
2
 
3
- module Cuba
4
- module Bin
5
- class Daemon
6
- extensions = %w(
7
- builder coffee creole css slim erb erubis jbuilder
8
- slim mote haml html js styl dom
9
- less liquid mab markdown md mdown mediawiki mkd mw
10
- nokogiri radius rb rdoc rhtml ru
11
- sass scss str textile txt wiki yajl yml
12
- env.*
13
- ).sort
14
-
15
- DEFAULT_RELOAD_PATTERN = %r(\.(?:builder #{extensions.join('|')})$)
16
-
17
- DEFAULT_FULL_RELOAD_PATTERN = /^Gemfile(?:\.lock)?$/
18
-
19
- # todo> make configurable
20
- IGNORE_PATTERNS = [/\.direnv/, /\.sass-cache/, /^tmp/]
21
-
22
- attr_accessor :options, :puma_args
23
- attr_accessor :puma_pid
24
-
25
- def initialize(puma_args)
26
- puma_args.concat ['-w', '1'] unless puma_args.include? '-w'
27
-
28
- @puma_args = puma_args
29
- # @options, @puma_args = options, puma_args
30
- @options = {}
31
- options[:pattern] ||= DEFAULT_RELOAD_PATTERN
32
- options[:full] ||= DEFAULT_FULL_RELOAD_PATTERN
33
- options[:force_polling] ||= false
34
- self
35
- end
3
+ module Cuba::Bin
4
+ class Daemon
5
+ extensions = %w(
6
+ builder coffee creole css slim erb erubis jbuilder
7
+ slim mote haml html js styl dom
8
+ less liquid mab markdown md mdown mediawiki mkd mw
9
+ nokogiri radius rb rdoc rhtml ru
10
+ sass scss str textile txt wiki yajl yml
11
+ env.*
12
+ ).sort
13
+
14
+ DEFAULT_RELOAD_PATTERN = %r(\.(?:builder #{extensions.join('|')})$)
15
+
16
+ DEFAULT_FULL_RELOAD_PATTERN = /^Gemfile(?:\.lock)?$/
17
+
18
+ # todo> make configurable
19
+ IGNORE_PATTERNS = [/\.direnv/, /\.sass-cache/, /^tmp/]
20
+
21
+ attr_accessor :options, :puma_args
22
+ attr_accessor :puma_pid
23
+
24
+ def initialize(puma_args)
25
+ puma_args.concat ['-w', '1'] unless puma_args.include? '-w'
26
+
27
+ @puma_args = puma_args
28
+ # @options, @puma_args = options, puma_args
29
+ @options = {}
30
+ options[:pattern] ||= DEFAULT_RELOAD_PATTERN
31
+ options[:full] ||= DEFAULT_FULL_RELOAD_PATTERN
32
+ options[:force_polling] ||= false
33
+ self
34
+ end
36
35
 
37
36
 
38
- def log(msg)
39
- $stderr.puts msg
40
- end
37
+ def log(msg)
38
+ $stderr.puts msg
39
+ end
41
40
 
42
- def start_puma
43
- ENV['RACK_ENV'] ||= 'development'
41
+ def start_puma
42
+ ENV['RACK_ENV'] ||= 'development'
44
43
 
45
- envs = {}
46
- env = '.env'
47
- rack_env = "#{env}.#{ENV['RACK_ENV']}"
44
+ envs = {}
45
+ env = '.env'
46
+ rack_env = "#{env}.#{ENV['RACK_ENV']}"
48
47
 
49
- if File.file? rack_env
50
- env = rack_env
51
- elsif !File.file? env
52
- env = false
53
- end
48
+ if File.file? rack_env
49
+ env = rack_env
50
+ elsif !File.file? env
51
+ env = false
52
+ end
54
53
 
55
- if env
56
- File.foreach env do |line|
57
- key, value = line.split "="
58
- envs[key] = value.gsub('\n', '').strip
59
- end
54
+ if env
55
+ File.foreach env do |line|
56
+ key, value = line.split "="
57
+ envs[key] = value.gsub('\n', '').strip
60
58
  end
61
-
62
- @puma_pid = Kernel.spawn(envs, 'puma', *puma_args)
63
59
  end
64
60
 
65
- # TODO maybe consider doing like: http://puma.bogomips.org/SIGNALS.html
66
- def reload_everything
67
- Process.kill(:QUIT, puma_pid)
68
- Process.wait(puma_pid)
69
- start_puma
70
- end
61
+ @puma_pid = Kernel.spawn(envs, 'puma', *puma_args)
62
+ end
71
63
 
72
- def shutdown
73
- listener.stop
74
- Process.kill(:TERM, puma_pid)
75
- Process.wait(puma_pid)
76
- exit
77
- end
64
+ # TODO maybe consider doing like: http://puma.bogomips.org/SIGNALS.html
65
+ def reload_everything
66
+ Process.kill(:QUIT, puma_pid)
67
+ Process.wait(puma_pid)
68
+ start_puma
69
+ end
78
70
 
79
- # tell puma to gracefully shut down workers
80
- def graceful_restart
81
- Process.kill(:SIGUSR1, puma_pid)
82
- end
71
+ def shutdown
72
+ listener.stop
73
+ Process.kill(:TERM, puma_pid)
74
+ Process.wait(puma_pid)
75
+ exit
76
+ end
83
77
 
84
- def handle_change(modified, added, removed)
85
- log "File change event detected: #{{modified: modified, added: added, removed: removed}.inspect}"
78
+ # tell puma to gracefully shut down workers
79
+ def graceful_restart
80
+ Process.kill(:SIGUSR1, puma_pid)
81
+ end
86
82
 
87
- if (modified + added + removed).index {|f| f =~ options[:full]}
88
- reload_everything
89
- else
90
- graceful_restart
91
- end
92
- end
83
+ def handle_change(modified, added, removed)
84
+ log "File change event detected: #{{modified: modified, added: added, removed: removed}.inspect}"
93
85
 
94
- def listener
95
- @listener ||= begin
96
- x = Listen.to(Dir.pwd, :relative_paths=>true, :force_polling=> options[:force_polling]) do |modified, added, removed|
97
- handle_change(modified, added, removed)
98
- end
86
+ if (modified + added + removed).index {|f| f =~ options[:full]}
87
+ reload_everything
88
+ else
89
+ graceful_restart
90
+ end
91
+ end
99
92
 
100
- x.only([ options[:pattern], options[:full] ])
101
- IGNORE_PATTERNS.map{|ptrn| x.ignore(ptrn) }
102
- x
93
+ def listener
94
+ @listener ||= begin
95
+ x = Listen.to(Dir.pwd, :relative_paths=>true, :force_polling=> options[:force_polling]) do |modified, added, removed|
96
+ handle_change(modified, added, removed)
103
97
  end
98
+
99
+ x.only([ options[:pattern], options[:full] ])
100
+ IGNORE_PATTERNS.map{|ptrn| x.ignore(ptrn) }
101
+ x
104
102
  end
103
+ end
105
104
 
106
- def run
107
- that = self
108
- Signal.trap("INT") { |signo| that.shutdown }
109
- Signal.trap("EXIT") { |signo| that.shutdown }
110
- listener.start
111
- start_puma
105
+ def run
106
+ that = self
107
+ Signal.trap("INT") { |signo| that.shutdown }
108
+ Signal.trap("EXIT") { |signo| that.shutdown }
109
+ listener.start
110
+ start_puma
112
111
 
113
- # And now we just want to keep the thread alive--we're just waiting around to get interrupted at this point.
114
- sleep(99999) while true
115
- end
112
+ # And now we just want to keep the thread alive--we're just waiting around to get interrupted at this point.
113
+ sleep(99999) while true
116
114
  end
117
115
  end
118
116
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cuba-bin
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - cj
@@ -10,6 +10,20 @@ bindir: bin
10
10
  cert_chain: []
11
11
  date: 2014-06-11 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: cuba
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: clap
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -97,7 +111,6 @@ files:
97
111
  - cuba-bin.gemspec
98
112
  - lib/cuba/bin.rb
99
113
  - lib/cuba/bin/daemon.rb
100
- - lib/cuba/bin/version.rb
101
114
  homepage: ''
102
115
  licenses:
103
116
  - MIT
@@ -1,5 +0,0 @@
1
- module Cuba
2
- module Bin
3
- VERSION = "0.1.0"
4
- end
5
- end