lsb_init 0.0.3 → 0.0.4

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: 8ac997d3f8dfb3a88eb86cf723028cab9b6ae12f
4
- data.tar.gz: a4819a65561002066cc268a0465e28c5d853ae36
3
+ metadata.gz: 713d13361c9887c77f33c80c70c5c730fccdf613
4
+ data.tar.gz: a22496db062811e2def839ce0950b9c54df396a5
5
5
  SHA512:
6
- metadata.gz: c5a54666ca3e7f041fd6d5fd9426d4d444748212fe2156ea4e9f5ba24f9f09eeb4decab9aa74d64b764447906fc48da7312cadefaa3210aa85eec35115b51576
7
- data.tar.gz: 6920fe3bd5da6061c4d6faf355e39a090e1dc16342bf273ea1175e4b2f2e851f6c1a596cd00c1e7c638792f767b165d4cb23dbef4446fede8d2c57244517e766
6
+ metadata.gz: 815a637a6625d20b0ce99dece19afd0d204fb50ca637e76e144863fbe5cf836f4f5ec6f6efc4ad7b1df53a59fc67def477019fce686263208d149cf22f1860fc
7
+ data.tar.gz: 1af5d2c54b664a850dcf52d1aa1a06cccc10e981c2fe8f6f9082b1a8ccfa94496796355876c37be89492f7bdb10e0042f6d783385c18f3ab96f5b30ac6592b7e
data/lib/daemon CHANGED
@@ -1,5 +1,3 @@
1
- #!/usr/bin/env ruby
2
-
3
1
  require_relative './main'
4
2
 
5
3
  class Daemon
@@ -1,5 +1,4 @@
1
1
  require 'fileutils'
2
- require 'yaml'
3
2
 
4
3
  module LsbInit
5
4
 
@@ -9,8 +8,8 @@ USAGE:
9
8
  lsb_init_ruby command service_name
10
9
 
11
10
  commands:
12
- e - generate rc script (with disabling and removing of existing one), for project and places it into lsb_init folder.
13
- r - disable and remove script
11
+ g - generate rc script (with disabling of existing one), for project and places it into lsb_init folder.
12
+ d - disable script
14
13
  END
15
14
 
16
15
  class ProjectIsNotUnderBundler < Exception
@@ -30,7 +29,7 @@ USAGE:
30
29
  class InappropriateServiceName < Exception
31
30
 
32
31
  def message
33
- "Cannot generate service with name <#{@service_name}>"
32
+ 'Cannot generate service with give name.'
34
33
  end
35
34
 
36
35
  def note
@@ -55,6 +54,7 @@ USAGE:
55
54
  class Configurator
56
55
 
57
56
  def initialize(args)
57
+ @service_name = nil
58
58
  # defining @project_root, @service_name
59
59
  raise BadArgumentPassed.new if args.length < 1
60
60
  find_project
@@ -80,45 +80,67 @@ USAGE:
80
80
  end
81
81
 
82
82
  def cleanup
83
- if Dir.exists?(@lsb_init_dir) && Dir.exists?((_="#{@lsb_init_dir}/runner")) && Dir.entries(_).length==1
83
+ if Dir.exists?(@lsb_init_dir) && Dir.exists?("#{@lsb_init_dir}/runner")
84
84
  puts 'Removing old runner script'
85
- runner_name = Dir.entries(_).first
86
- `sudo rm /etc/init.d/#{runner_name}`
87
- `sudo update-rc.d #{runner_name} remove`
85
+ runner_dir = Dir.entries("#{@lsb_init_dir}/runner")
86
+ runner_dir.delete '.'
87
+ runner_dir.delete '..'
88
+ runner_name = runner_dir.first
89
+ if runner_name && runner_name.length>0
90
+ puts "Found runner name #{runner_name}"
91
+ `sudo rm /etc/init.d/#{runner_name}`
92
+ `sudo update-rc.d #{runner_name} remove`
93
+ `rm -rf #{@lsb_init_dir}/runner`
94
+ else
95
+ puts 'Runner name was not found. Try to generate firstly.'
96
+ end
88
97
  end
89
98
 
90
- puts "Removing project's lsb_init_ruby directory"
91
- `rm -rf #{@lsb_init_dir}` if Dir.exists?(@lsb_init_dir)
99
+ puts "To complete removing - delete '#{@lsb_init_dir}' manually"
92
100
  end
93
101
 
94
102
  def generate
95
103
  gem_dir = File.expand_path('../..', File.expand_path(__FILE__))
96
104
  puts "Preparing project's lsb_init folder"
97
105
 
98
- [@lsb_init_dir].each{|d| Dir.mkdir d}
99
-
100
106
  puts 'Generating scripts'
101
- Dir.mkdir "#{@lsb_init_dir}/runner" unless Dir.exists?("#{@lsb_init_dir}/runner")
107
+ Dir.mkdir(@lsb_init_dir) unless Dir.exists?(@lsb_init_dir)
108
+ Dir.mkdir("#{@lsb_init_dir}/runner") unless Dir.exists?("#{@lsb_init_dir}/runner")
102
109
  rc_filename = "#{@lsb_init_dir}/runner/#{@service_name}"
103
- rc_file = File.new rc_filename, 'w'
104
-
105
- rc_script = script_text
110
+ File.open(rc_filename, 'w'){ |f| f.write script_text}
111
+
112
+ `cp #{gem_dir}/lsb_init/main.rb #{@lsb_init_dir}/main.rb` unless File.exists?("#{@lsb_init_dir}/main.rb")
113
+
114
+ runner = '#!/usr/bin/env ruby'
115
+
116
+ begin
117
+ rvm_current = `rvm current`.strip
118
+ puts "RVM current found: #{rvm_current}"
119
+ unless rvm_current.nil? || rvm_current.length==0
120
+ puts "Creating alias #{@service_name}"
121
+ `rvm alias create #{@service_name} #{rvm_current}`
122
+ runner = '#!' + `echo $HOME`.strip + "/.rvm/wrappers/#{@service_name}/ruby"
123
+ end
124
+ rescue
125
+ puts 'RVM not used.'
126
+ end
106
127
 
107
- rc_file.write rc_script
108
- rc_file.close
128
+ puts "Runner is set to: #{runner}"
109
129
 
110
- `cp #{gem_dir}/lsb_init/main.rb #{@lsb_init_dir}/main.rb`
111
- `cp #{gem_dir}/daemon #{@lsb_init_dir}/daemon`
130
+ File.open("#{@lsb_init_dir}/daemon", 'w') do |o|
131
+ o.puts runner
132
+ File.open("#{gem_dir}/daemon", 'r') {|i| o.write(i.read)}
133
+ end
112
134
 
113
- `chmod 755 #{rc_filename}`
114
- `sudo chown root:root #{rc_filename}`
115
135
  `sudo cp #{rc_filename} /etc/init.d/#{@service_name}`
136
+ `sudo chmod 755 /etc/init.d/#{@service_name}`
137
+ `sudo chown root:root /etc/init.d/#{@service_name}`
116
138
  `sudo update-rc.d #{@service_name} defaults`
117
139
  end
118
140
 
119
141
  def find_project
120
142
  dir = Dir.pwd
121
- while !File.exists?("#{dir}/Gemfile") do
143
+ until File.exists?("#{dir}/Gemfile") do
122
144
  dir = File.expand_path '..', dir
123
145
  raise ProjectIsNotUnderBundler.new if dir.eql? '/'
124
146
  end
@@ -237,6 +259,7 @@ case $1 in
237
259
  ;;
238
260
  esac
239
261
  END
262
+ text
240
263
  end
241
264
 
242
265
  end
data/lib/lsb_init/main.rb CHANGED
@@ -1,5 +1,3 @@
1
- require 'yaml'
2
-
3
1
  module LsbInit
4
2
 
5
3
  module Main
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lsb_init
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Anton Titkov