jobim 0.4.8 → 0.5.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 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: