bin_script 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/.gitignore CHANGED
@@ -1,2 +1,3 @@
1
1
  log
2
- locks
2
+ locks
3
+ *.gem
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- bin_script (0.1)
4
+ bin_script (0.1.2)
5
5
  activesupport (>= 2.3.2)
6
6
 
7
7
  GEM
data/README.markdown CHANGED
@@ -50,7 +50,7 @@ class StuffScript < BinScript
50
50
  if test?
51
51
  logger.info "update string #{params(:u)}"
52
52
  else
53
- logger.info "data #{Time.parse(params(:d))}"
53
+ logger.info "data #{params(:d)}"
54
54
  end
55
55
  end
56
56
  end
data/bin/bin_helper CHANGED
@@ -1,15 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
2
  # -*- encoding: utf-8 -*-
3
- # This helper is useful for requiring from bin scripts.
4
- # Detect RAILS_ENV from '-e' parameter in ARGV (or 'development' as default) and load rails environment if need.
5
- #
6
- # Sample ./bin/script_name.rb
7
- # #!/usr/bin/env ruby
8
- #
9
- # #NO_RAILS = true # Uncomment this line if you don't need rails environment in your script
10
- # require File.join(File.dirname(__FILE__),'_bin_helper')
11
- #
12
- # Helper will detect class name for this script automatically. So for example above helper call something like this: ScriptName.new.run!
13
3
 
14
4
  APP_ROOT ||= File.expand_path(File.dirname($0)) + "/../"
15
5
 
@@ -57,21 +47,21 @@ ARGV.each_index do |i|
57
47
  end
58
48
  end
59
49
 
60
- # Если задан ключ -h, то нам нужно только показать хэлп и environment грузить не обязательно
50
+ # -h for show help, Rails not needed
61
51
  NO_RAILS = true if ARGV.include?('-h') && !defined?(NO_RAILS)
62
52
 
63
53
  # Set defaults
64
54
  ENV['RAILS_ENV'] ||= 'development'
65
55
 
66
- if !defined?(RAILS_ROOT) && !defined?(NO_RAILS)
56
+ if !defined?(Rails) && !defined?(NO_RAILS)
67
57
  # Load rails envoronment if not yet and we need it
68
58
  require File.join(APP_ROOT, %w{config environment})
69
59
  else
70
60
  require 'active_support'
71
61
  end
72
62
 
73
- # Load BinScript class source
74
- require 'bin_script' unless defined?(BinScript) == 'constant'
63
+ # Load BinScript class source (from gem)
64
+ require 'bin_script' if !defined?(BinScript) || !BinScript.respond_to?(:run_script)
75
65
 
76
66
  # Call script runner
77
67
  BinScript.run_script
@@ -20,7 +20,7 @@ class BinScript
20
20
  ]
21
21
 
22
22
  # Default log level INFO or DEBUG for test env
23
- @log_level = (Rails.env.development? ? XLogger::DEBUG : XLogger::INFO)
23
+ @log_level = (Rails.env == 'development' ? XLogger::DEBUG : XLogger::INFO)
24
24
 
25
25
  # Enable locking by default
26
26
  @enable_locking = true
@@ -168,7 +168,9 @@ class BinScript
168
168
 
169
169
  # RAILS_ROOT is not availible if rails environment was not loaded. So detect application root in this case from current file path
170
170
  def rails_root
171
- Pathname.new(Rails.root ? Rails.root : File.join(File.dirname(__FILE__), %w{.. ..})).realpath.to_s
171
+ path = Rails.root
172
+ path ||= defined?(APP_ROOT) ? APP_ROOT : '.'
173
+ Pathname.new(path).realpath.to_s
172
174
  end
173
175
 
174
176
  # Prepare ARGV parameters as hash
@@ -213,7 +215,7 @@ class BinScript
213
215
  end
214
216
 
215
217
  def puts(*arg)
216
- return if self.class.disable_puts_for_tests && Rails.env.test?
218
+ return if self.class.disable_puts_for_tests && Rails.env == 'test'
217
219
  Kernel.puts(*arg)
218
220
  end
219
221
 
@@ -222,11 +224,11 @@ class BinScript
222
224
  begin
223
225
  @source_argv = ARGV.dup
224
226
  @overrided_parameters = {}
225
- @params_values = (Rails.env.test? ? {} : self.class.get_argv_values)
227
+ @params_values = (Rails.env == 'test' ? {} : self.class.get_argv_values)
226
228
 
227
229
  # Create logger if logging enabled
228
230
  if self.class.enable_logging
229
- @logger = XLogger.new(:file => log_filename, :dont_touch_rails_logger => (Rails.env.test?))
231
+ @logger = XLogger.new(:file => log_filename, :dont_touch_rails_logger => (Rails.env == 'test'))
230
232
  @logger.level = self.class.log_level
231
233
  end
232
234
 
@@ -275,7 +277,7 @@ class BinScript
275
277
  log_benchmarker_data
276
278
  rescue Exception => e
277
279
  # Print error info if it's not test env or exit
278
- if !Rails.env.test? && e.class != SystemExit && e.class != Interrupt
280
+ if Rails.env != 'test' && e.class != SystemExit && e.class != Interrupt
279
281
  msg = self.class.prepare_exception_message(e)
280
282
  puts "\n" + msg
281
283
  fatal msg
@@ -324,7 +326,7 @@ class BinScript
324
326
  when :optional
325
327
  #return nil unless @overrided_parameters.has_key?(key) || @params_values.has_key?(key)
326
328
  return @overrided_parameters[key] || @params_values[key] || param[:default]
327
- when :required
329
+ when :required
328
330
  value = @overrided_parameters[key] || @params_values[key] || param[:default]
329
331
  return value
330
332
  end
@@ -1,4 +1,4 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
  class BinScript
3
- VERSION = "0.1.1"
3
+ VERSION = "0.1.2"
4
4
  end
metadata CHANGED
@@ -1,63 +1,47 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: bin_script
3
- version: !ruby/object:Gem::Version
4
- hash: 25
5
- prerelease: false
6
- segments:
7
- - 0
8
- - 1
9
- - 1
10
- version: 0.1.1
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.2
5
+ prerelease:
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Lifshits Dmitry
14
9
  - Makarchev Konstantin
15
10
  autorequire: init
16
11
  bindir: bin
17
12
  cert_chain: []
18
-
19
- date: 2012-04-07 00:00:00 +04:00
20
- default_executable:
21
- dependencies:
22
- - !ruby/object:Gem::Dependency
13
+ date: 2012-04-07 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
23
16
  name: activesupport
24
- prerelease: false
25
- requirement: &id001 !ruby/object:Gem::Requirement
17
+ requirement: &72761780 !ruby/object:Gem::Requirement
26
18
  none: false
27
- requirements:
28
- - - ">="
29
- - !ruby/object:Gem::Version
30
- hash: 7
31
- segments:
32
- - 2
33
- - 3
34
- - 2
19
+ requirements:
20
+ - - ! '>='
21
+ - !ruby/object:Gem::Version
35
22
  version: 2.3.2
36
23
  type: :runtime
37
- version_requirements: *id001
38
- - !ruby/object:Gem::Dependency
39
- name: rspec
40
24
  prerelease: false
41
- requirement: &id002 !ruby/object:Gem::Requirement
25
+ version_requirements: *72761780
26
+ - !ruby/object:Gem::Dependency
27
+ name: rspec
28
+ requirement: &72761580 !ruby/object:Gem::Requirement
42
29
  none: false
43
- requirements:
44
- - - ">="
45
- - !ruby/object:Gem::Version
46
- hash: 3
47
- segments:
48
- - 0
49
- version: "0"
30
+ requirements:
31
+ - - ! '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
50
34
  type: :development
51
- version_requirements: *id002
52
- description: Easy writing and executing bins (espesually for crontab or god) in Rails project
35
+ prerelease: false
36
+ version_requirements: *72761580
37
+ description: Easy writing and executing bins (espesually for crontab or god) in Rails
38
+ project
53
39
  email: kostya27@gmail.com
54
- executables:
40
+ executables:
55
41
  - bin_helper
56
42
  extensions: []
57
-
58
43
  extra_rdoc_files: []
59
-
60
- files:
44
+ files:
61
45
  - .gitignore
62
46
  - Gemfile
63
47
  - Gemfile.lock
@@ -79,39 +63,29 @@ files:
79
63
  - lib/generators/bin/templates/spec.rb
80
64
  - spec/bin_script_spec.rb
81
65
  - spec/spec_helper.rb
82
- has_rdoc: true
83
66
  homepage: http://github.com/kostya/bin_script
84
67
  licenses: []
85
-
86
68
  post_install_message:
87
69
  rdoc_options: []
88
-
89
- require_paths:
70
+ require_paths:
90
71
  - lib
91
- required_ruby_version: !ruby/object:Gem::Requirement
72
+ required_ruby_version: !ruby/object:Gem::Requirement
92
73
  none: false
93
- requirements:
94
- - - ">="
95
- - !ruby/object:Gem::Version
96
- hash: 3
97
- segments:
98
- - 0
99
- version: "0"
100
- required_rubygems_version: !ruby/object:Gem::Requirement
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ required_rubygems_version: !ruby/object:Gem::Requirement
101
79
  none: false
102
- requirements:
103
- - - ">="
104
- - !ruby/object:Gem::Version
105
- hash: 3
106
- segments:
107
- - 0
108
- version: "0"
80
+ requirements:
81
+ - - ! '>='
82
+ - !ruby/object:Gem::Version
83
+ version: '0'
109
84
  requirements: []
110
-
111
85
  rubyforge_project:
112
- rubygems_version: 1.3.7
86
+ rubygems_version: 1.8.16
113
87
  signing_key:
114
88
  specification_version: 3
115
- summary: Easy writing and executing bins (espesually for crontab or god) in Rails project For my purposes much better than Rake, Thor and Rails Runner
89
+ summary: Easy writing and executing bins (espesually for crontab or god) in Rails
90
+ project For my purposes much better than Rake, Thor and Rails Runner
116
91
  test_files: []
117
-