my_scripts 0.0.19 → 0.0.22
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 +1 -0
- data/Rakefile +16 -49
- data/VERSION +1 -1
- data/lib/my_scripts/gitto.rb +1 -1
- data/lib/my_scripts/script.rb +10 -2
- data/lib/my_scripts/wake.rb +9 -8
- data/lib/my_scripts.rb +18 -6
- data/spec/my_scripts/extensions_spec.rb +1 -1
- data/spec/my_scripts_spec.rb +53 -31
- data/spec/spec_helper.rb +1 -4
- metadata +15 -16
- data/.document +0 -5
- data/my_scripts.gemspec +0 -82
data/.gitignore
CHANGED
data/Rakefile
CHANGED
@@ -1,57 +1,24 @@
|
|
1
|
-
require '
|
2
|
-
|
1
|
+
require 'pathname'
|
2
|
+
NAME = 'my_scripts'
|
3
|
+
BASE_DIR = Pathname.new(__FILE__).dirname
|
4
|
+
LIB_DIR = BASE_DIR + 'lib'
|
5
|
+
PKG_DIR = BASE_DIR + 'pkg'
|
6
|
+
DOC_DIR = BASE_DIR + 'rdoc'
|
3
7
|
|
4
|
-
|
5
|
-
|
6
|
-
Jeweler::Tasks.new do |gem|
|
7
|
-
gem.name = "my_scripts"
|
8
|
-
gem.summary = "Simple framework for writing command-line scripts"
|
9
|
-
gem.description = "Simple framework for writing command-line scripts and collection of my own scripts (mostly dev-related)"
|
10
|
-
gem.email = "arvitallian@gmail.com"
|
11
|
-
gem.homepage = "http://github.com/arvicco/my_scripts"
|
12
|
-
gem.authors = ["arvicco"]
|
13
|
-
gem.add_development_dependency "rspec", ">= 1.2.9"
|
14
|
-
gem.add_development_dependency "cucumber", ">= 0"
|
15
|
-
# gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
|
16
|
-
end
|
17
|
-
Jeweler::GemcutterTasks.new
|
18
|
-
rescue LoadError
|
19
|
-
puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
|
20
|
-
end
|
21
|
-
|
22
|
-
require 'spec/rake/spectask'
|
23
|
-
Spec::Rake::SpecTask.new(:spec) do |spec|
|
24
|
-
spec.libs << 'lib' << 'spec'
|
25
|
-
spec.spec_files = FileList['spec/**/*_spec.rb']
|
26
|
-
end
|
8
|
+
$LOAD_PATH.unshift LIB_DIR.to_s
|
9
|
+
require NAME
|
27
10
|
|
28
|
-
|
29
|
-
|
30
|
-
spec.pattern = 'spec/**/*_spec.rb'
|
31
|
-
spec.rcov = true
|
32
|
-
end
|
33
|
-
|
34
|
-
task :spec => :check_dependencies
|
11
|
+
CLASS_NAME = MyScripts
|
12
|
+
VERSION = CLASS_NAME::VERSION
|
35
13
|
|
36
14
|
begin
|
37
|
-
require '
|
38
|
-
Cucumber::Rake::Task.new(:features)
|
39
|
-
|
40
|
-
task :features => :check_dependencies
|
15
|
+
require 'rake'
|
41
16
|
rescue LoadError
|
42
|
-
|
43
|
-
|
44
|
-
|
17
|
+
require 'rubygems'
|
18
|
+
gem 'rake', '~> 0.8.3.1'
|
19
|
+
require 'rake'
|
45
20
|
end
|
46
21
|
|
47
|
-
|
22
|
+
# Load rakefile tasks
|
23
|
+
Dir['tasks/*.rake'].sort.each { |file| load file }
|
48
24
|
|
49
|
-
require 'rake/rdoctask'
|
50
|
-
Rake::RDocTask.new do |rdoc|
|
51
|
-
version = File.exist?('VERSION') ? File.read('VERSION') : ""
|
52
|
-
|
53
|
-
rdoc.rdoc_dir = 'rdoc'
|
54
|
-
rdoc.title = "my_scripts #{version}"
|
55
|
-
rdoc.rdoc_files.include('README*')
|
56
|
-
rdoc.rdoc_files.include('lib/**/*.rb')
|
57
|
-
end
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.22
|
data/lib/my_scripts/gitto.rb
CHANGED
data/lib/my_scripts/script.rb
CHANGED
@@ -8,6 +8,14 @@ module MyScripts
|
|
8
8
|
@cli = cli
|
9
9
|
end
|
10
10
|
|
11
|
+
def version
|
12
|
+
if self.class.const_defined? :VERSION
|
13
|
+
self.class::VERSION # Script's own version
|
14
|
+
else
|
15
|
+
VERSION # Gem version
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
11
19
|
def run
|
12
20
|
end
|
13
21
|
|
@@ -21,8 +29,8 @@ module MyScripts
|
|
21
29
|
end
|
22
30
|
|
23
31
|
def usage examples, explanation = nil
|
24
|
-
puts "Usage:"
|
25
|
-
|
32
|
+
puts "Script #{@name} #{version} - Usage:"
|
33
|
+
(examples.respond_to?(:split) ? examples.split("\n") : examples).map {|line| puts " #{@name} #{line}"}
|
26
34
|
puts explanation if explanation
|
27
35
|
exit 1
|
28
36
|
end
|
data/lib/my_scripts/wake.rb
CHANGED
@@ -11,22 +11,23 @@ module MyScripts
|
|
11
11
|
|
12
12
|
require 'win/gui/input'
|
13
13
|
|
14
|
-
self.class.
|
15
|
-
x, y = Win::Gui::Input::get_cursor_pos
|
16
|
-
x1, y1 = x + rand(3) - 1, y + rand(3) - 1
|
17
|
-
Win::Gui::Input::mouse_event(Win::Gui::Input::MOUSEEVENTF_ABSOLUTE, x1, y1, 0, 0)
|
18
|
-
puts "Cursor positon set to #{x1}, #{y1}"
|
19
|
-
end
|
20
|
-
|
14
|
+
self.class.send(:include, Win::Gui::Input)
|
21
15
|
super
|
22
16
|
end
|
23
17
|
|
18
|
+
def move_mouse_randomly
|
19
|
+
x, y = get_cursor_pos
|
20
|
+
x1, y1 = x + rand(3) - 1, y + rand(3) - 1
|
21
|
+
mouse_event(MOUSEEVENTF_ABSOLUTE, x1, y1, 0, 0)
|
22
|
+
puts "Cursor positon set to #{x1}, #{y1}"
|
23
|
+
end
|
24
|
+
|
24
25
|
def run
|
25
26
|
case @argv.size
|
26
27
|
when 0
|
27
28
|
sleep_time = SLEEP_TIME
|
28
29
|
when 1
|
29
|
-
sleep_time = @argv.first * 60
|
30
|
+
p sleep_time = @argv.first.to_f * 60
|
30
31
|
else
|
31
32
|
usage "[minutes] - prevents screen auto lock-up by moving mouse pointer every (4) [minutes]"
|
32
33
|
end
|
data/lib/my_scripts.rb
CHANGED
@@ -1,12 +1,24 @@
|
|
1
1
|
# Top level namespace
|
2
2
|
module MyScripts
|
3
|
+
require 'pathname'
|
3
4
|
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
5
|
+
VERSION_FILE = Pathname.new(__FILE__).dirname + '../VERSION' # :nodoc:
|
6
|
+
VERSION = VERSION_FILE.exist? ? VERSION_FILE.read.strip : nil
|
7
|
+
|
8
|
+
# Requires ruby source file(s). Accepts either single filename/glob or Array of filenames/globs.
|
9
|
+
# Accepts following options:
|
10
|
+
# :*file*:: Lib(s) required relative to this file - defaults to __FILE__
|
11
|
+
# :*dir*:: Required lib(s) located under this dir name - defaults to gem name
|
12
|
+
#
|
13
|
+
def self.require_libs( libs, opts={} )
|
14
|
+
file = Pathname.new(opts[:file] || __FILE__)
|
15
|
+
[libs].flatten.each do |lib|
|
16
|
+
name = file.dirname + (opts[:dir] || file.basename('.*')) + lib.gsub(/(?<!.rb)$/, '.rb')
|
17
|
+
Pathname.glob(name.to_s).sort.each {|rb| require rb}
|
18
|
+
end
|
9
19
|
end
|
10
20
|
end # module MyScripts
|
11
21
|
|
12
|
-
|
22
|
+
# Require all ruby source files located under directory lib/my_scripts
|
23
|
+
# If you need files in specific order, you should specify it here before the glob
|
24
|
+
MyScripts.require_libs %W[script cli **/*]
|
data/spec/my_scripts_spec.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
require
|
1
|
+
require 'spec_helper'
|
2
2
|
|
3
3
|
module MyScriptsTest
|
4
4
|
|
@@ -31,26 +31,48 @@ module MyScriptsTest
|
|
31
31
|
end
|
32
32
|
|
33
33
|
describe 'Script Execution' do
|
34
|
+
MyScripts.module_eval do
|
35
|
+
# Stub script that outputs @argv, prompts to stdout and echoes/returns what it gets from stdin
|
36
|
+
class Scriptest < Script #one word for script name
|
37
|
+
def run
|
38
|
+
puts @argv
|
39
|
+
puts 'Say it:'
|
40
|
+
puts gotten = gets
|
41
|
+
gotten
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
# Stub script that just puts 'OK' to stdout
|
46
|
+
class SnakeScript < Script
|
47
|
+
def run
|
48
|
+
puts 'OK'
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
# Stub script that outputs usage notes
|
53
|
+
class UsageScript < Script
|
54
|
+
def run
|
55
|
+
usage 'Blah'
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
# Stub script that outputs usage notes
|
60
|
+
class VersionedUsageScript < Script
|
61
|
+
VERSION = '0.0.13'
|
62
|
+
def run
|
63
|
+
usage 'Blah'
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
34
67
|
|
35
68
|
context 'trying to execute undefined script' do
|
36
69
|
it 'fails' do
|
37
70
|
cli = create_cli
|
38
|
-
|
71
|
+
expect{cli.run( :undefined, [])}.to raise_error "Script MyScripts::Undefined not found"
|
39
72
|
end
|
40
73
|
end
|
41
74
|
|
42
75
|
context 'scripts without arguments' do
|
43
|
-
MyScripts.module_eval do
|
44
|
-
# Stub script that prompts to stdout and echoes/returns what it gets from stdin
|
45
|
-
class Scriptest < Script
|
46
|
-
def run
|
47
|
-
puts 'Say it:'
|
48
|
-
puts gotten = gets
|
49
|
-
gotten
|
50
|
-
end
|
51
|
-
end
|
52
|
-
end
|
53
|
-
|
54
76
|
it 'cli.run executes pre-defined script' do
|
55
77
|
cli = create_cli
|
56
78
|
expect{cli.run :scriptest, []}.to_not raise_error
|
@@ -76,17 +98,6 @@ module MyScriptsTest
|
|
76
98
|
|
77
99
|
context 'scripts with arguments' do
|
78
100
|
before(:each) {@given_args = [1, 2, 3, :four, 'five']}
|
79
|
-
MyScripts.module_eval do
|
80
|
-
# Stub script that prompts to stdout and echoes/returns what it gets from stdin
|
81
|
-
class Scriptest < Script
|
82
|
-
def run
|
83
|
-
puts @argv
|
84
|
-
puts 'Say it:'
|
85
|
-
puts gotten = gets
|
86
|
-
gotten
|
87
|
-
end
|
88
|
-
end
|
89
|
-
end
|
90
101
|
|
91
102
|
it 'cli.run executes pre-defined script' do
|
92
103
|
cli = create_cli
|
@@ -117,16 +128,27 @@ module MyScriptsTest
|
|
117
128
|
end
|
118
129
|
end
|
119
130
|
|
120
|
-
context '
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
131
|
+
context 'prints usage' do
|
132
|
+
context 'unversioned script' do
|
133
|
+
it 'outputs script name, GEM version and usage note to stdout, then exits' do
|
134
|
+
cli = create_cli
|
135
|
+
usage_regexp = Regexp.new("Script usage_script #{MyScripts::VERSION} - Usage")
|
136
|
+
stdout_should_receive(usage_regexp)
|
137
|
+
stdout_should_receive(/Blah/)
|
138
|
+
expect{cli.run :usage_script, []}.to raise_error SystemExit
|
139
|
+
end
|
140
|
+
end
|
141
|
+
context 'versioned script' do
|
142
|
+
it 'outputs script name, SCRIPT version and usage note to stdout, then exits' do
|
143
|
+
cli = create_cli
|
144
|
+
stdout_should_receive(/Script versioned_usage_script 0.0.13 - Usage/)
|
145
|
+
stdout_should_receive(/Blah/)
|
146
|
+
expect{cli.run :versioned_usage_script, []}.to raise_error SystemExit
|
127
147
|
end
|
128
148
|
end
|
149
|
+
end
|
129
150
|
|
151
|
+
context 'scripts with snake_case names' do
|
130
152
|
it 'executes scripts with snake_case name' do
|
131
153
|
cli = create_cli
|
132
154
|
stdout_should_receive('OK')
|
data/spec/spec_helper.rb
CHANGED
@@ -1,9 +1,6 @@
|
|
1
|
-
|
2
|
-
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
3
|
-
require File.expand_path(File.join(File.dirname(__FILE__), %w[.. lib my_scripts]))
|
1
|
+
require 'my_scripts'
|
4
2
|
require 'spec'
|
5
3
|
require 'spec/autorun'
|
6
4
|
|
7
5
|
Spec::Runner.configure do |config|
|
8
|
-
|
9
6
|
end
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
version: 0.0.
|
8
|
+
- 22
|
9
|
+
version: 0.0.22
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- arvicco
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-04-
|
17
|
+
date: 2010-04-12 00:00:00 +04:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
@@ -43,7 +43,7 @@ dependencies:
|
|
43
43
|
version: "0"
|
44
44
|
type: :development
|
45
45
|
version_requirements: *id002
|
46
|
-
description:
|
46
|
+
description: Describe package my_scripts
|
47
47
|
email: arvitallian@gmail.com
|
48
48
|
executables:
|
49
49
|
- citi
|
@@ -60,12 +60,6 @@ extra_rdoc_files:
|
|
60
60
|
- LICENSE
|
61
61
|
- README.rdoc
|
62
62
|
files:
|
63
|
-
- .document
|
64
|
-
- .gitignore
|
65
|
-
- LICENSE
|
66
|
-
- README.rdoc
|
67
|
-
- Rakefile
|
68
|
-
- VERSION
|
69
63
|
- bin/citi
|
70
64
|
- bin/dummy
|
71
65
|
- bin/gitto
|
@@ -74,10 +68,6 @@ files:
|
|
74
68
|
- bin/newscript
|
75
69
|
- bin/rabbit
|
76
70
|
- bin/wake
|
77
|
-
- features/my_scripts.feature
|
78
|
-
- features/step_definitions/my_scripts_steps.rb
|
79
|
-
- features/support/env.rb
|
80
|
-
- lib/my_scripts.rb
|
81
71
|
- lib/my_scripts/citi.rb
|
82
72
|
- lib/my_scripts/cli.rb
|
83
73
|
- lib/my_scripts/dummy.rb
|
@@ -88,11 +78,19 @@ files:
|
|
88
78
|
- lib/my_scripts/rabbit.rb
|
89
79
|
- lib/my_scripts/script.rb
|
90
80
|
- lib/my_scripts/wake.rb
|
91
|
-
- my_scripts.
|
81
|
+
- lib/my_scripts.rb
|
92
82
|
- spec/my_scripts/extensions_spec.rb
|
93
83
|
- spec/my_scripts_spec.rb
|
94
84
|
- spec/spec.opts
|
95
85
|
- spec/spec_helper.rb
|
86
|
+
- features/my_scripts.feature
|
87
|
+
- features/step_definitions/my_scripts_steps.rb
|
88
|
+
- features/support/env.rb
|
89
|
+
- Rakefile
|
90
|
+
- LICENSE
|
91
|
+
- VERSION
|
92
|
+
- .gitignore
|
93
|
+
- README.rdoc
|
96
94
|
has_rdoc: true
|
97
95
|
homepage: http://github.com/arvicco/my_scripts
|
98
96
|
licenses: []
|
@@ -122,8 +120,9 @@ rubyforge_project:
|
|
122
120
|
rubygems_version: 1.3.6
|
123
121
|
signing_key:
|
124
122
|
specification_version: 3
|
125
|
-
summary:
|
123
|
+
summary: Describe package my_scripts
|
126
124
|
test_files:
|
127
125
|
- spec/my_scripts/extensions_spec.rb
|
128
126
|
- spec/my_scripts_spec.rb
|
127
|
+
- spec/spec.opts
|
129
128
|
- spec/spec_helper.rb
|
data/.document
DELETED
data/my_scripts.gemspec
DELETED
@@ -1,82 +0,0 @@
|
|
1
|
-
# Generated by jeweler
|
2
|
-
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
-
# Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
|
4
|
-
# -*- encoding: utf-8 -*-
|
5
|
-
|
6
|
-
Gem::Specification.new do |s|
|
7
|
-
s.name = %q{my_scripts}
|
8
|
-
s.version = "0.0.19"
|
9
|
-
|
10
|
-
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
-
s.authors = ["arvicco"]
|
12
|
-
s.date = %q{2010-04-08}
|
13
|
-
s.description = %q{Simple framework for writing command-line scripts and collection of my own scripts (mostly dev-related)}
|
14
|
-
s.email = %q{arvitallian@gmail.com}
|
15
|
-
s.executables = ["citi", "dummy", "gitto", "jew", "mybones", "newscript", "rabbit", "wake"]
|
16
|
-
s.extra_rdoc_files = [
|
17
|
-
"LICENSE",
|
18
|
-
"README.rdoc"
|
19
|
-
]
|
20
|
-
s.files = [
|
21
|
-
".document",
|
22
|
-
".gitignore",
|
23
|
-
"LICENSE",
|
24
|
-
"README.rdoc",
|
25
|
-
"Rakefile",
|
26
|
-
"VERSION",
|
27
|
-
"bin/citi",
|
28
|
-
"bin/dummy",
|
29
|
-
"bin/gitto",
|
30
|
-
"bin/jew",
|
31
|
-
"bin/mybones",
|
32
|
-
"bin/newscript",
|
33
|
-
"bin/rabbit",
|
34
|
-
"bin/wake",
|
35
|
-
"features/my_scripts.feature",
|
36
|
-
"features/step_definitions/my_scripts_steps.rb",
|
37
|
-
"features/support/env.rb",
|
38
|
-
"lib/my_scripts.rb",
|
39
|
-
"lib/my_scripts/citi.rb",
|
40
|
-
"lib/my_scripts/cli.rb",
|
41
|
-
"lib/my_scripts/dummy.rb",
|
42
|
-
"lib/my_scripts/extensions.rb",
|
43
|
-
"lib/my_scripts/gitto.rb",
|
44
|
-
"lib/my_scripts/jew.rb",
|
45
|
-
"lib/my_scripts/mybones.rb",
|
46
|
-
"lib/my_scripts/rabbit.rb",
|
47
|
-
"lib/my_scripts/script.rb",
|
48
|
-
"lib/my_scripts/wake.rb",
|
49
|
-
"my_scripts.gemspec",
|
50
|
-
"spec/my_scripts/extensions_spec.rb",
|
51
|
-
"spec/my_scripts_spec.rb",
|
52
|
-
"spec/spec.opts",
|
53
|
-
"spec/spec_helper.rb"
|
54
|
-
]
|
55
|
-
s.homepage = %q{http://github.com/arvicco/my_scripts}
|
56
|
-
s.rdoc_options = ["--charset=UTF-8"]
|
57
|
-
s.require_paths = ["lib"]
|
58
|
-
s.rubygems_version = %q{1.3.6}
|
59
|
-
s.summary = %q{Simple framework for writing command-line scripts}
|
60
|
-
s.test_files = [
|
61
|
-
"spec/my_scripts/extensions_spec.rb",
|
62
|
-
"spec/my_scripts_spec.rb",
|
63
|
-
"spec/spec_helper.rb"
|
64
|
-
]
|
65
|
-
|
66
|
-
if s.respond_to? :specification_version then
|
67
|
-
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
68
|
-
s.specification_version = 3
|
69
|
-
|
70
|
-
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
71
|
-
s.add_development_dependency(%q<rspec>, [">= 1.2.9"])
|
72
|
-
s.add_development_dependency(%q<cucumber>, [">= 0"])
|
73
|
-
else
|
74
|
-
s.add_dependency(%q<rspec>, [">= 1.2.9"])
|
75
|
-
s.add_dependency(%q<cucumber>, [">= 0"])
|
76
|
-
end
|
77
|
-
else
|
78
|
-
s.add_dependency(%q<rspec>, [">= 1.2.9"])
|
79
|
-
s.add_dependency(%q<cucumber>, [">= 0"])
|
80
|
-
end
|
81
|
-
end
|
82
|
-
|