jobim 0.4.8 → 0.5.0

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: bd4ab85a5ef8bcc637e3913b916b7aab5138c104
4
- data.tar.gz: 7dea643ffd4c0744946fb57c7a6c1ea75a93e0ee
3
+ metadata.gz: fac1f285dd7910f146c63dcad408ce2351dbe456
4
+ data.tar.gz: 32036107d6d25b517648aa1f2a07b539f1e77b45
5
5
  SHA512:
6
- metadata.gz: 5e9b212c242b4afdd16e272583fafbebf746c42a14506e6af807a56f609a12c8e38a9b9af3801627b389df9b4929ab82fccd113a001cc6955040b547fbe5cd1e
7
- data.tar.gz: 027325f0bc690b7cd79c2b42d774d1192b85e906a0d608b64a57961a1a410db1848dfc7f1ec90f8ab00831178a50d3f0ee1ff43a553c87312df2024d08d4a7e0
6
+ metadata.gz: 8356e9b1d0ae90852a69e1cd3debc4178d63da25acbecf828845fe1d0be7989fcad06ecdd85979752af833b843f42c4a9af644ba7bd7c622eca72810441eb68b
7
+ data.tar.gz: 8cc2ddb3c4dd8cb1f2228918360cfb5e29967d1812b2fd64f83fdda977961edb5d974ce7a2ef328a049ce892ccdbf4f9bbc043ea3ac62612c5a49175f44bb1b0
data/README.md CHANGED
@@ -1,6 +1,8 @@
1
1
  # Jobim
2
2
 
3
3
  [![Gem Version](https://badge.fury.io/rb/jobim.png)](http://badge.fury.io/rb/jobim)
4
+ [![Dependency Status](https://gemnasium.com/zellio/jobim.png)](https://gemnasium.com/zellio/jobim)
5
+ [![Code Climate](https://codeclimate.com/github/zellio/jobim.png)](https://codeclimate.com/github/zellio/jobim)
4
6
 
5
7
  `jobim` is a light utility for generating a static HTTP server. This allows
6
8
  for rapid website design and development without the hassle and security risk
data/lib/jobim.rb CHANGED
@@ -2,6 +2,7 @@
2
2
  module Jobim
3
3
 
4
4
  require "jobim/version"
5
+ require "jobim/settings"
5
6
  require "jobim/server"
6
7
  require "jobim/cli"
7
8
 
data/lib/jobim/cli.rb CHANGED
@@ -1,39 +1,34 @@
1
-
2
1
  require 'optparse'
3
2
 
4
3
  class Jobim::CLI
5
4
 
6
- attr_reader :parser, :options
5
+ attr_reader :parser, :settings
7
6
 
8
7
  def self.run!(*args, &opts)
9
8
  cli = Jobim::CLI.new
10
9
  begin
11
10
  cli.parse(args)
12
- options = cli.options
13
11
 
14
- exit if options.nil?
12
+ exit if cli.options.nil?
15
13
 
16
- Jobim::Server.start options
14
+ Jobim::Server.start cli.options
17
15
 
18
- rescue OptionParser::InvalidOption => io
19
- puts ">>> Error: #{io}"
16
+ rescue OptionParser::InvalidOption => invalid_option
17
+ puts ">>> Error: #{invalid_option}"
20
18
  puts cli.help
21
19
 
22
- rescue RuntimeError => er
20
+ rescue RuntimeError => runtime_error
23
21
  puts ">>> Failed to start server"
24
- puts ">> #{er}"
22
+ puts ">> #{runtime_error}"
25
23
  end
26
24
  end
27
25
 
26
+ def settings
27
+ @settings ||= Jobim::Settings.new
28
+ end
29
+
28
30
  def options
29
- @options ||= {
30
- :Daemonize => false,
31
- :Dir => Dir.pwd,
32
- :Host => '0.0.0.0',
33
- :Port => 5634,
34
- :Prefix => '/',
35
- :Quiet => false
36
- }
31
+ settings.options
37
32
  end
38
33
 
39
34
  def parser
@@ -0,0 +1,56 @@
1
+ require 'yaml'
2
+
3
+ class Jobim::Settings
4
+
5
+ attr_reader :options
6
+
7
+ def initialize
8
+ load
9
+ end
10
+
11
+ def options
12
+ @options ||= {
13
+ :Daemonize => false,
14
+ :Dir => Dir.pwd,
15
+ :Host => '0.0.0.0',
16
+ :Port => 5634,
17
+ :Prefix => '/',
18
+ :Quiet => false
19
+ }
20
+ end
21
+
22
+ def load_file(file)
23
+ opts = YAML.load_file(file)
24
+ opts.keys.each do |key|
25
+ opts[(key.to_s.capitalize.to_sym rescue key) || key] = opts.delete(key)
26
+ end
27
+
28
+ if opts[:Dir]
29
+ unless Pathname.new(opts[:Dir]).absolute?
30
+ opts[:Dir] = File.expand_path("../#{opts[:Dir]}", file)
31
+ end
32
+ end
33
+
34
+ options.merge!(opts)
35
+ end
36
+
37
+ def load
38
+ dir = Pathname('.').realpath
39
+ files = []
40
+
41
+ loop do
42
+ file = File.expand_path('.jobim.yaml', dir)
43
+
44
+ files.unshift(file) if File.exists? file
45
+
46
+ break if dir.root?
47
+
48
+ dir = dir.parent
49
+ end
50
+
51
+ files.each {|file| self.load_file(file)}
52
+
53
+ options
54
+ end
55
+
56
+ end
data/lib/jobim/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Jobim
2
- VERSION = "0.4.8"
2
+ VERSION = "0.5.0"
3
3
  end
metadata CHANGED
@@ -1,111 +1,111 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jobim
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.8
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Zachary Elliott
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-11-03 00:00:00.000000000 Z
11
+ date: 2014-01-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ~>
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.3'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ~>
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.3'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ~>
32
32
  - !ruby/object:Gem::Version
33
33
  version: '10.1'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ~>
39
39
  - !ruby/object:Gem::Version
40
40
  version: '10.1'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: yard
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ~>
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0.8'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - "~>"
52
+ - - ~>
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0.8'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: redcarpet
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - "~>"
59
+ - - ~>
60
60
  - !ruby/object:Gem::Version
61
61
  version: '3.0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - "~>"
66
+ - - ~>
67
67
  - !ruby/object:Gem::Version
68
68
  version: '3.0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: github-markup
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - "~>"
73
+ - - ~>
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0.7'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - "~>"
80
+ - - ~>
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0.7'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: thin
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - "~>"
87
+ - - ~>
88
88
  - !ruby/object:Gem::Version
89
89
  version: '1.5'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - "~>"
94
+ - - ~>
95
95
  - !ruby/object:Gem::Version
96
96
  version: '1.5'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: rack-rewrite
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - "~>"
101
+ - - ~>
102
102
  - !ruby/object:Gem::Version
103
103
  version: '1.2'
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - "~>"
108
+ - - ~>
109
109
  - !ruby/object:Gem::Version
110
110
  version: '1.2'
111
111
  description: Popup HTTP Server for serving static content.
@@ -116,7 +116,7 @@ executables:
116
116
  extensions: []
117
117
  extra_rdoc_files: []
118
118
  files:
119
- - ".gitignore"
119
+ - .gitignore
120
120
  - Gemfile
121
121
  - LICENSE
122
122
  - README.md
@@ -126,6 +126,7 @@ files:
126
126
  - lib/jobim.rb
127
127
  - lib/jobim/cli.rb
128
128
  - lib/jobim/server.rb
129
+ - lib/jobim/settings.rb
129
130
  - lib/jobim/version.rb
130
131
  homepage: https://github.com/zellio/jobim
131
132
  licenses:
@@ -137,12 +138,12 @@ require_paths:
137
138
  - lib
138
139
  required_ruby_version: !ruby/object:Gem::Requirement
139
140
  requirements:
140
- - - ">="
141
+ - - '>='
141
142
  - !ruby/object:Gem::Version
142
143
  version: '0'
143
144
  required_rubygems_version: !ruby/object:Gem::Requirement
144
145
  requirements:
145
- - - ">="
146
+ - - '>='
146
147
  - !ruby/object:Gem::Version
147
148
  version: '0'
148
149
  requirements: []
@@ -152,3 +153,4 @@ signing_key:
152
153
  specification_version: 4
153
154
  summary: Popup HTTP Server
154
155
  test_files: []
156
+ has_rdoc: