rbdock 0.1.1 → 0.1.2

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/README.md CHANGED
@@ -8,24 +8,15 @@ Dockerfile to prepare ruby is almost common, so generate its common parts. This
8
8
 
9
9
  ## Installation
10
10
 
11
- Add this line to your application's Gemfile:
12
-
13
- gem 'rbdock'
14
-
15
- And then execute:
16
-
17
- $ bundle
18
-
19
- Or install it yourself as:
20
-
21
- $ gem install rbdock
22
-
11
+ ```bash
12
+ $ gem install rbdock
13
+ ```
23
14
 
24
15
  ## Usage
25
16
 
26
17
  ### Create Dockerfile to build ruby
27
18
 
28
- Create `Dockerfile` to build ruby 2.0.0-p353 ready image.
19
+ Create `Dockerfile` to build ruby 2.1.0 ready image.
29
20
 
30
21
  ```
31
22
  $ rbdock 2.1.0
data/bin/rbdock CHANGED
@@ -1,4 +1,14 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
+ argv = ARGV.dup
4
+
5
+ if argv.include?("--debug")
6
+ argv.delete("--debug")
7
+ ENV["RBDOCK_LOG"] = "debug"
8
+ end
9
+
3
10
  require 'rbdock'
11
+ logger = Log4r::Logger.new("rbdock::bin::rbdock")
12
+ logger.info("`rbdock` invoked: #{ARGV.inspect}")
13
+
4
14
  Rbdock::Command.run(ARGV)
@@ -1,5 +1,47 @@
1
- require "rbdock/helpers"
1
+ # Enable logging if it is requested.
2
+ require "log4r"
3
+
4
+ if ENV["RBDOCK_LOG"]
5
+ require "log4r/config"
6
+ Log4r.define_levels(*Log4r::Log4rConfig::LogLevels)
7
+
8
+ level = nil
9
+ begin
10
+ level = Log4r.const_get(ENV["RBDOCK_LOG"].upcase)
11
+ rescue NameError
12
+ level = nil
13
+ end
14
+
15
+ level = nil if !level.is_a?(Integer)
16
+
17
+ if !level
18
+ STDERR.puts "Invalid RBDOCK_LOG level is set: #{ENV["RBDOCK_LOG"]}"
19
+ STDERR.puts "Please use one of the standard log levels: debug, info, warn, or error"
20
+ end
21
+
22
+ if level
23
+ logger = Log4r::Logger.new("rbdock")
24
+ logger.outputters = Log4r::Outputter.stderr
25
+ logger.level = level
26
+ logger = nil
27
+ end
28
+
29
+ end
30
+
31
+ # Always make the version avaiable
2
32
  require "rbdock/version"
33
+
34
+ # Display global information
35
+ global_logger = Log4r::Logger.new("rbdock::global")
36
+ global_logger.info("Rbdock version: #{Rbdock::VERSION}")
37
+ global_logger.info("Ruby version: #{RUBY_VERSION}")
38
+ global_logger.info("RubyGems version: #{Gem::VERSION}")
39
+ ENV.each do |k,v|
40
+ global_logger.info("#{k}=#{v.inspect}") if k =~ /^RBDOCK_/
41
+ end
42
+
43
+ require "rbdock/helpers"
44
+
3
45
  module Rbdock
4
46
  autoload :Command, "rbdock/command"
5
47
  autoload :Generate, "rbdock/generate"
@@ -8,7 +8,8 @@ module Rbdock
8
8
  end
9
9
 
10
10
  def initialize argv
11
- @argv = argv
11
+ @logger = Log4r::Logger.new("rbdock::command")
12
+ @argv = argv
12
13
  end
13
14
 
14
15
  def execute
@@ -5,6 +5,8 @@ module Rbdock
5
5
  module Options
6
6
 
7
7
  def self.parse!(argv)
8
+
9
+ # Restore option and its value
8
10
  options = {}
9
11
 
10
12
  set_default_value options
@@ -35,7 +37,7 @@ module Rbdock
35
37
  opt.on('--rbenv', desc='Use rbenv') {
36
38
  options[:use_rbenv] = true
37
39
  }
38
- opt.on('--rvm', desc='Use rvm') {
40
+ opt.on('--rvm', desc='Use rvm') {
39
41
  options[:use_rvm] = true
40
42
  }
41
43
  opt.on('-a path','--app=path', 'Add Rails/Sinatra app') { |path|
@@ -43,7 +45,8 @@ module Rbdock
43
45
  }
44
46
  opt.on('-l','--list', 'List all available ruby versions') {
45
47
  list_ruby_versions
46
- }
48
+ }
49
+ opt.on('--debug', desc='Run as debug mode')
47
50
  end
48
51
  end
49
52
 
@@ -56,7 +59,7 @@ module Rbdock
56
59
  end
57
60
 
58
61
  def self.show_help opt
59
- opt.banner = "Usage: #{opt.program_name} <ruby-versions> [<args>]"
62
+ opt.banner = "Usage: #{opt.program_name} <ruby-versions> [args]"
60
63
  opt.on_tail('-h','--help','Show this message') {
61
64
  STDERR.puts opt.help
62
65
  exit
@@ -9,6 +9,9 @@ module Rbdock
9
9
  end
10
10
 
11
11
  def initialize options
12
+ @logger = Log4r::Logger.new("rbdock::generate")
13
+ @logger.info("Generate options: #{options.inspect}")
14
+
12
15
  @image = options[:image]
13
16
  @ruby_versions = options[:ruby_versions]
14
17
  @use_rbenv = options[:use_rbenv]
@@ -60,6 +63,7 @@ module Rbdock
60
63
  end
61
64
 
62
65
  def default_template
66
+ @logger.debug("No ruby version manager")
63
67
  template = base_package_template
64
68
  template << erubis(Rbdock.source_root.join("templates/default/ruby.erb"))
65
69
  template << erubis(Rbdock.source_root.join("templates/default/bundler.erb"))
@@ -68,6 +72,7 @@ module Rbdock
68
72
  end
69
73
 
70
74
  def rbenv_template
75
+ @logger.debug("Use rbenv for ruby version manager")
71
76
  template = base_package_template
72
77
  template << erubis(Rbdock.source_root.join("templates/rbenv/ruby.erb"))
73
78
  template << erubis(Rbdock.source_root.join("templates/rbenv/bundler.erb"))
@@ -76,10 +81,12 @@ module Rbdock
76
81
  end
77
82
 
78
83
  def rvm_template
84
+ @logger.debug("Use rvm for ruby version manager")
79
85
  template = base_package_template
80
86
  template << erubis(Rbdock.source_root.join("templates/rvm/ruby.erb"))
81
87
  template << erubis(Rbdock.source_root.join("templates/rvm/bundler.erb"))
82
88
  template << erubis(Rbdock.source_root.join("templates/rvm/app.erb")) if @app_path
89
+ template
83
90
  end
84
91
 
85
92
  def self.ruby_versions
@@ -1,3 +1,3 @@
1
1
  module Rbdock
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
3
3
  end
@@ -8,8 +8,8 @@ Gem::Specification.new do |spec|
8
8
  spec.version = Rbdock::VERSION
9
9
  spec.authors = ["tcnksm"]
10
10
  spec.email = ["nsd22843@gmail.com"]
11
- spec.summary = %q{Generate Dockerfile which install ruby.}
12
- spec.description = %q{Generate Dockerfile which install ruby.}
11
+ spec.summary = %q{Generate Dockerfile for ruby/rails/sinatra.}
12
+ spec.description = %q{Generate Dockerfile for ruby or running rails/sinatra.}
13
13
  spec.homepage = "https://github.com/tcnksm/rbdock"
14
14
  spec.license = "MIT"
15
15
 
@@ -19,6 +19,7 @@ Gem::Specification.new do |spec|
19
19
  spec.require_paths = ["lib"]
20
20
 
21
21
  spec.add_dependency "erubis", "~> 2.7.0"
22
+ spec.add_dependency "log4r", "~> 1.1.10"
22
23
  spec.add_development_dependency "bundler", "~> 1.5"
23
24
  spec.add_development_dependency "rake"
24
25
  spec.add_development_dependency "rspec", ">= 2.13"
metadata CHANGED
@@ -1,18 +1,20 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rbdock
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - tcnksm
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2014-03-06 00:00:00.000000000 Z
12
+ date: 2014-03-15 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: erubis
15
16
  requirement: !ruby/object:Gem::Requirement
17
+ none: false
16
18
  requirements:
17
19
  - - ~>
18
20
  - !ruby/object:Gem::Version
@@ -20,13 +22,31 @@ dependencies:
20
22
  type: :runtime
21
23
  prerelease: false
22
24
  version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
23
26
  requirements:
24
27
  - - ~>
25
28
  - !ruby/object:Gem::Version
26
29
  version: 2.7.0
30
+ - !ruby/object:Gem::Dependency
31
+ name: log4r
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ~>
36
+ - !ruby/object:Gem::Version
37
+ version: 1.1.10
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: 1.1.10
27
46
  - !ruby/object:Gem::Dependency
28
47
  name: bundler
29
48
  requirement: !ruby/object:Gem::Requirement
49
+ none: false
30
50
  requirements:
31
51
  - - ~>
32
52
  - !ruby/object:Gem::Version
@@ -34,6 +54,7 @@ dependencies:
34
54
  type: :development
35
55
  prerelease: false
36
56
  version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
37
58
  requirements:
38
59
  - - ~>
39
60
  - !ruby/object:Gem::Version
@@ -41,48 +62,55 @@ dependencies:
41
62
  - !ruby/object:Gem::Dependency
42
63
  name: rake
43
64
  requirement: !ruby/object:Gem::Requirement
65
+ none: false
44
66
  requirements:
45
- - - '>='
67
+ - - ! '>='
46
68
  - !ruby/object:Gem::Version
47
69
  version: '0'
48
70
  type: :development
49
71
  prerelease: false
50
72
  version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
51
74
  requirements:
52
- - - '>='
75
+ - - ! '>='
53
76
  - !ruby/object:Gem::Version
54
77
  version: '0'
55
78
  - !ruby/object:Gem::Dependency
56
79
  name: rspec
57
80
  requirement: !ruby/object:Gem::Requirement
81
+ none: false
58
82
  requirements:
59
- - - '>='
83
+ - - ! '>='
60
84
  - !ruby/object:Gem::Version
61
85
  version: '2.13'
62
86
  type: :development
63
87
  prerelease: false
64
88
  version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
65
90
  requirements:
66
- - - '>='
91
+ - - ! '>='
67
92
  - !ruby/object:Gem::Version
68
93
  version: '2.13'
69
94
  - !ruby/object:Gem::Dependency
70
95
  name: guard-rspec
71
96
  requirement: !ruby/object:Gem::Requirement
97
+ none: false
72
98
  requirements:
73
- - - '>='
99
+ - - ! '>='
74
100
  - !ruby/object:Gem::Version
75
101
  version: '0'
76
102
  type: :development
77
103
  prerelease: false
78
104
  version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
79
106
  requirements:
80
- - - '>='
107
+ - - ! '>='
81
108
  - !ruby/object:Gem::Version
82
109
  version: '0'
83
110
  - !ruby/object:Gem::Dependency
84
111
  name: yard
85
112
  requirement: !ruby/object:Gem::Requirement
113
+ none: false
86
114
  requirements:
87
115
  - - ~>
88
116
  - !ruby/object:Gem::Version
@@ -90,6 +118,7 @@ dependencies:
90
118
  type: :development
91
119
  prerelease: false
92
120
  version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
93
122
  requirements:
94
123
  - - ~>
95
124
  - !ruby/object:Gem::Version
@@ -97,6 +126,7 @@ dependencies:
97
126
  - !ruby/object:Gem::Dependency
98
127
  name: redcarpet
99
128
  requirement: !ruby/object:Gem::Requirement
129
+ none: false
100
130
  requirements:
101
131
  - - ~>
102
132
  - !ruby/object:Gem::Version
@@ -104,11 +134,12 @@ dependencies:
104
134
  type: :development
105
135
  prerelease: false
106
136
  version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
107
138
  requirements:
108
139
  - - ~>
109
140
  - !ruby/object:Gem::Version
110
141
  version: '2.2'
111
- description: Generate Dockerfile which install ruby.
142
+ description: Generate Dockerfile for ruby or running rails/sinatra.
112
143
  email:
113
144
  - nsd22843@gmail.com
114
145
  executables:
@@ -147,27 +178,34 @@ files:
147
178
  homepage: https://github.com/tcnksm/rbdock
148
179
  licenses:
149
180
  - MIT
150
- metadata: {}
151
181
  post_install_message:
152
182
  rdoc_options: []
153
183
  require_paths:
154
184
  - lib
155
185
  required_ruby_version: !ruby/object:Gem::Requirement
186
+ none: false
156
187
  requirements:
157
- - - '>='
188
+ - - ! '>='
158
189
  - !ruby/object:Gem::Version
159
190
  version: '0'
191
+ segments:
192
+ - 0
193
+ hash: 1155994554511253811
160
194
  required_rubygems_version: !ruby/object:Gem::Requirement
195
+ none: false
161
196
  requirements:
162
- - - '>='
197
+ - - ! '>='
163
198
  - !ruby/object:Gem::Version
164
199
  version: '0'
200
+ segments:
201
+ - 0
202
+ hash: 1155994554511253811
165
203
  requirements: []
166
204
  rubyforge_project:
167
- rubygems_version: 2.0.14
205
+ rubygems_version: 1.8.23
168
206
  signing_key:
169
- specification_version: 4
170
- summary: Generate Dockerfile which install ruby.
207
+ specification_version: 3
208
+ summary: Generate Dockerfile for ruby/rails/sinatra.
171
209
  test_files:
172
210
  - spec/spec_helper.rb
173
211
  has_rdoc:
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: 4cfa13ab4da18f3c1bd1b22ca87701cbb5fcffe7
4
- data.tar.gz: 9e2bea8e067608fbe48652f09678bf7e9fbca0c1
5
- SHA512:
6
- metadata.gz: 071c9d4d54e0518575239c329fb610078233283b559de7e49053bfe7d9350b9504c7ab208ac03ace06654b96a61d2a105e4b15a065cce3bca532136b938fc9e1
7
- data.tar.gz: f94b85ad27890cd6807be7baed82cf99c662e179e35aab0434669bf33c13aa6d2cfec57e095081c5d8395ff6c792ad66b3eae0aa9bbd5c7f10a244a16abb1c6f