nutcase 0.1.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.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 174d6d9d548c7c4a0818037e3a5192728d403dda
4
+ data.tar.gz: 42354ef5c68dc90df07b892758cf6d47ab6001bd
5
+ SHA512:
6
+ metadata.gz: 72810b77cc0899626eb42aff157fa606ab3ffda26404c6e151f7e6458deb74f8fad315c10c2bc71567397c5277e2ff7047702adadbebc6704fc1753292b3f388
7
+ data.tar.gz: 6433e5076d2d0856becaaf1d809266e02d548dc562924b6aeb3d8ef00453227390e53bc84d5a71c18c301dd6749a47b98dd86a02a12029e5c55a49c9a9e3a6e9
data/.gitignore ADDED
@@ -0,0 +1,37 @@
1
+ *.gem
2
+ *.rbc
3
+ /.config
4
+ /coverage/
5
+ /InstalledFiles
6
+ /pkg/
7
+ /spec/reports/
8
+ /test/tmp/
9
+ /test/version_tmp/
10
+ /tmp/
11
+
12
+ ## Specific to RubyMotion:
13
+ .dat*
14
+ .repl_history
15
+ build/
16
+
17
+ ## Documentation cache and generated files:
18
+ /.yardoc/
19
+ /_yardoc/
20
+ /doc/
21
+ /rdoc/
22
+
23
+ ## Environment normalisation:
24
+ /.bundle/
25
+ /vendor/bundle
26
+ /lib/bundler/man/
27
+
28
+ # for a library or gem, you might want to ignore these files since the code is
29
+ # intended to run in multiple environments; otherwise, check them in:
30
+ Gemfile.lock
31
+ # .ruby-version
32
+ # .ruby-gemset
33
+
34
+ # unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
35
+ .rvmrc
36
+
37
+ .DS_Store
data/Gemfile ADDED
@@ -0,0 +1,2 @@
1
+ source 'https://rubygems.org'
2
+ gemspec
data/README.md ADDED
@@ -0,0 +1 @@
1
+ # nutcase
data/Rakefile ADDED
@@ -0,0 +1 @@
1
+ require 'bundler/gem_tasks'
data/bin/nutcase ADDED
@@ -0,0 +1,26 @@
1
+ #!/usr/bin/env ruby
2
+ # encoding: utf-8
3
+
4
+ ENV['RACK_ENV'] ||= 'development'
5
+
6
+ env = '.env'
7
+ rack_env = "#{env}.#{ENV['RACK_ENV']}"
8
+
9
+ if File.file? env
10
+ File.foreach env do |line|
11
+ key, value = line.split "=", 2
12
+ ENV[key] = value.gsub('\n', '').strip
13
+ end
14
+ end
15
+
16
+ if File.file? rack_env
17
+ File.foreach rack_env do |line|
18
+ key, value = line.split "=", 2
19
+ ENV[key] = value.gsub('\n', '').strip
20
+ end
21
+ end
22
+
23
+ $LOAD_PATH << File.expand_path(File.join(File.dirname(__FILE__), "../lib"))
24
+ require 'nutcase/bin'
25
+
26
+ Nutcase::BIN.server
data/lib/nutcase.rb ADDED
@@ -0,0 +1,3 @@
1
+ require 'nutcase/version'
2
+
3
+ class Nutcase; end
@@ -0,0 +1,50 @@
1
+ require 'nutcase/version'
2
+ require 'rerun'
3
+
4
+ class Nutcase
5
+ module BIN
6
+ extend self
7
+
8
+ attr_accessor :config_file, :args
9
+
10
+ def server
11
+ args = []
12
+
13
+ unless argv.count == 0
14
+ args.concat(argv)
15
+ else
16
+ config_file ||= './config/nutcase.rb'
17
+
18
+ if File.file? config_file
19
+ # TODO: make the config file format nicer
20
+ instance_eval(File.read(config_file), config_file)
21
+ end
22
+ end
23
+
24
+ options = {
25
+ cmd: args.join(' '),
26
+ signal: 'TERM',
27
+ background: true,
28
+ growl: false,
29
+ name: 'Nutcase',
30
+ ignore: [],
31
+ dir: ['.'],
32
+ pattern: "{Gemfile,Gemfile.lock,.gems,.bundle,.env*,config.ru,Rakefile,**/*.{rb,js,coffee,css,scss,sass,styl,erb,html,haml,ru,yml,slim,md,mab,rake}}"
33
+ }
34
+
35
+ Rerun::Runner.keep_running(options[:cmd], options)
36
+ end
37
+
38
+ def envs
39
+ @envs ||= {}
40
+ end
41
+
42
+ private
43
+
44
+ def argv
45
+ @argv ||= begin
46
+ ARGV
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,3 @@
1
+ class Nutcase
2
+ VERSION = "0.1.0"
3
+ end
data/nutcase.gemspec ADDED
@@ -0,0 +1,24 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'nutcase/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "nutcase"
8
+ spec.version = Nutcase::VERSION
9
+ spec.authors = ["Thomas Hanson"]
10
+ spec.email = ["thomas@diresquirrel.com"]
11
+ spec.summary = %q{a generic interface to ruby servers for dev}
12
+ spec.description = %q{allows you to run nutcase as an interface to your ruby server of choice (thin, unicorn, puma, etc.)}
13
+ spec.homepage = ""
14
+ spec.license = "MIT"
15
+
16
+ spec.files = `git ls-files -z`.split("\x0")
17
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
+ spec.require_paths = ["lib"]
20
+
21
+ spec.add_runtime_dependency "rerun"
22
+ spec.add_development_dependency "bundler", "~> 1.9"
23
+ spec.add_development_dependency "rake", "~> 10.4"
24
+ end
metadata ADDED
@@ -0,0 +1,97 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: nutcase
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Thomas Hanson
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-05-18 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rerun
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'
27
+ - !ruby/object:Gem::Dependency
28
+ name: bundler
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.9'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.9'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '10.4'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '10.4'
55
+ description: allows you to run nutcase as an interface to your ruby server of choice
56
+ (thin, unicorn, puma, etc.)
57
+ email:
58
+ - thomas@diresquirrel.com
59
+ executables:
60
+ - nutcase
61
+ extensions: []
62
+ extra_rdoc_files: []
63
+ files:
64
+ - ".gitignore"
65
+ - Gemfile
66
+ - README.md
67
+ - Rakefile
68
+ - bin/nutcase
69
+ - lib/nutcase.rb
70
+ - lib/nutcase/bin.rb
71
+ - lib/nutcase/version.rb
72
+ - nutcase.gemspec
73
+ homepage: ''
74
+ licenses:
75
+ - MIT
76
+ metadata: {}
77
+ post_install_message:
78
+ rdoc_options: []
79
+ require_paths:
80
+ - lib
81
+ required_ruby_version: !ruby/object:Gem::Requirement
82
+ requirements:
83
+ - - ">="
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
86
+ required_rubygems_version: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - ">="
89
+ - !ruby/object:Gem::Version
90
+ version: '0'
91
+ requirements: []
92
+ rubyforge_project:
93
+ rubygems_version: 2.4.6
94
+ signing_key:
95
+ specification_version: 4
96
+ summary: a generic interface to ruby servers for dev
97
+ test_files: []