screeninator 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ 0.1.2 / 2010-10-12
2
+ ------------------
3
+
4
+ * 1 minor enhancements
5
+
6
+ * add copy method. allow users to copy an existing config into a new config.
7
+
1
8
  0.1.1 / 2010-09-28
2
9
  ------------------
3
10
 
data/README.md CHANGED
@@ -12,7 +12,17 @@ Then follow the instructions. You just have to drop a line in your ~/.bashrc fi
12
12
 
13
13
  if [[ -s $HOME/.screeninator/scripts/screeninator ]] ; then source $HOME/.screeninator/scripts/screeninator ; fi
14
14
 
15
- This will load the alias commands into bash.
15
+ Editor
16
+ ------
17
+
18
+ Screeninator uses your shell's default editor for opening files. If you're not sure what that is type:
19
+
20
+ $ echo $EDITOR
21
+
22
+ For me that produces "mate -w"
23
+ If you want to change your default editor simple put a line in ~/.bashrc that changes it. Mine looks like this:
24
+
25
+ export EDITOR='mate -w'
16
26
 
17
27
  Usage
18
28
  -----
@@ -21,7 +31,7 @@ Usage
21
31
 
22
32
  $ screeninator open project_name
23
33
 
24
- This will open your default editor (set through the $EDITOR variable in BASH) and present you with the default config:
34
+ Create or edit your projects with this command. Your default editor ($EDITOR) is used to open the file. If this is a new project you will see this default config:
25
35
 
26
36
  # ~/.screeninator/project_name.yml
27
37
  # you can make as many tabs as you wish...
@@ -65,6 +75,16 @@ Example
65
75
  Other Commands
66
76
  --------------
67
77
 
78
+ $ screeninator copy existing_project new_project
79
+
80
+ Copy an existing project.
81
+
82
+
83
+ $ screeninator update_scripts
84
+
85
+ Re-create the screen scripts and aliases from the configs. Use this only if you edit your project configs outside of screeninator, i.e. not using "screeninator open xxx".
86
+
87
+
68
88
  $ screeninator list
69
89
 
70
90
  List all the projects you have configured
@@ -78,6 +98,12 @@ Remove a project
78
98
  Remove all screeninator configs, aliases and scripts.
79
99
 
80
100
 
101
+ Questions? Comments? Feature Request?
102
+ -------------------------------------
103
+
104
+ I would love to hear your feedback on this project! Send me a message!
105
+
106
+
81
107
  Note on Patches/Pull Requests
82
108
  -----------------------------
83
109
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.1
1
+ 0.1.2
data/bin/screeninator CHANGED
@@ -1,7 +1,6 @@
1
1
  #! /usr/bin/env ruby
2
2
  $:.unshift(File.dirname(__FILE__) + '/../lib') unless $:.include?(File.dirname(__FILE__) + '/../lib')
3
3
 
4
- require 'rubygems'
5
4
  require 'screeninator'
6
5
 
7
6
  Screeninator::Cli.start(*ARGV)
@@ -44,6 +44,32 @@ module Screeninator
44
44
  update_scripts
45
45
  end
46
46
 
47
+ def copy(*args)
48
+ @copy = args.shift
49
+ @name = args.shift
50
+ @config_to_copy = "#{root_dir}#{@copy}.yml"
51
+ unless File.exists?(@config_to_copy)
52
+ puts "Project #{@copy} doesn't exist!"
53
+ Kernel.exit(1)
54
+ end
55
+
56
+ file_path = "#{root_dir}#{@name}.yml"
57
+
58
+ if File.exists?(file_path)
59
+ puts "#{@name} already exists, would you like to overwrite it? (type yes or no):"
60
+
61
+ if %w(yes Yes YES).include?(STDIN.gets.chop)
62
+ FileUtils.rm(file_path)
63
+ puts "Overwriting #{@name}"
64
+ else
65
+ puts "Aborting."
66
+ Kernel.exit(0)
67
+ end
68
+
69
+ end
70
+ open(@name)
71
+ end
72
+
47
73
  def delete(*args)
48
74
  puts "warning: passing multiple arguments to delete will be ignored" if args.size > 1
49
75
  filename = args.shift
@@ -86,12 +112,6 @@ module Screeninator
86
112
  end
87
113
  end
88
114
 
89
- # def run(*args)
90
- # filename = args.shift
91
- # puts "Running: #{filename}"
92
- # Screeninator::Runner.new(filename).run!
93
- # end
94
-
95
115
  def update_scripts
96
116
  aliases = []
97
117
  Dir["#{root_dir}*.yml"].each do |path|
@@ -113,7 +133,7 @@ module Screeninator
113
133
  end
114
134
 
115
135
  def user_config
116
- "#{ENV["HOME"]}/.screeninator/default.yml"
136
+ @config_to_copy || "#{ENV["HOME"]}/.screeninator/default.yml"
117
137
  end
118
138
 
119
139
  end
data/screeninator.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{screeninator}
8
- s.version = "0.1.1"
8
+ s.version = "0.1.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Jon Druse"]
12
- s.date = %q{2010-09-28}
12
+ s.date = %q{2010-10-12}
13
13
  s.default_executable = %q{screeninator}
14
14
  s.description = %q{Create and manage complex screen sessions easily.}
15
15
  s.email = %q{jon@jondruse.com}
@@ -47,7 +47,7 @@ if [[ -s $HOME/.screeninator/scripts/screeninator ]] ; then source $HOME/.screen
47
47
  }
48
48
  s.rdoc_options = ["--charset=UTF-8"]
49
49
  s.require_paths = ["lib"]
50
- s.rubygems_version = %q{1.3.7}
50
+ s.rubygems_version = %q{1.3.6}
51
51
  s.summary = %q{Create and manage complex screen sessions easily.}
52
52
  s.test_files = [
53
53
  "test/helper.rb",
@@ -58,7 +58,7 @@ if [[ -s $HOME/.screeninator/scripts/screeninator ]] ; then source $HOME/.screen
58
58
  current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
59
59
  s.specification_version = 3
60
60
 
61
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
61
+ if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
62
62
  s.add_development_dependency(%q<thoughtbot-shoulda>, [">= 0"])
63
63
  else
64
64
  s.add_dependency(%q<thoughtbot-shoulda>, [">= 0"])
metadata CHANGED
@@ -1,63 +1,60 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: screeninator
3
3
  version: !ruby/object:Gem::Version
4
- hash: 25
5
4
  prerelease: false
6
5
  segments:
7
- - 0
8
- - 1
9
- - 1
10
- version: 0.1.1
6
+ - 0
7
+ - 1
8
+ - 2
9
+ version: 0.1.2
11
10
  platform: ruby
12
11
  authors:
13
- - Jon Druse
12
+ - Jon Druse
14
13
  autorequire:
15
14
  bindir: bin
16
15
  cert_chain: []
17
16
 
18
- date: 2010-09-28 00:00:00 -07:00
17
+ date: 2010-10-12 00:00:00 -07:00
19
18
  default_executable: screeninator
20
19
  dependencies:
21
- - !ruby/object:Gem::Dependency
22
- name: thoughtbot-shoulda
23
- prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - ">="
28
- - !ruby/object:Gem::Version
29
- hash: 3
30
- segments:
31
- - 0
32
- version: "0"
33
- type: :development
34
- version_requirements: *id001
20
+ - !ruby/object:Gem::Dependency
21
+ name: thoughtbot-shoulda
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ segments:
28
+ - 0
29
+ version: "0"
30
+ type: :development
31
+ version_requirements: *id001
35
32
  description: Create and manage complex screen sessions easily.
36
33
  email: jon@jondruse.com
37
34
  executables:
38
- - screeninator
35
+ - screeninator
39
36
  extensions: []
40
37
 
41
38
  extra_rdoc_files:
42
- - LICENSE
43
- - README.md
39
+ - LICENSE
40
+ - README.md
44
41
  files:
45
- - .document
46
- - .gitignore
47
- - CHANGELOG.md
48
- - LICENSE
49
- - README.md
50
- - Rakefile
51
- - VERSION
52
- - bin/screeninator
53
- - lib/screeninator.rb
54
- - lib/screeninator/assets/sample.yml
55
- - lib/screeninator/assets/screen_config.screen
56
- - lib/screeninator/cli.rb
57
- - lib/screeninator/config_writer.rb
58
- - screeninator.gemspec
59
- - test/helper.rb
60
- - test/test_screeninator.rb
42
+ - .document
43
+ - .gitignore
44
+ - CHANGELOG.md
45
+ - LICENSE
46
+ - README.md
47
+ - Rakefile
48
+ - VERSION
49
+ - bin/screeninator
50
+ - lib/screeninator.rb
51
+ - lib/screeninator/assets/sample.yml
52
+ - lib/screeninator/assets/screen_config.screen
53
+ - lib/screeninator/cli.rb
54
+ - lib/screeninator/config_writer.rb
55
+ - screeninator.gemspec
56
+ - test/helper.rb
57
+ - test/test_screeninator.rb
61
58
  has_rdoc: true
62
59
  homepage: http://github.com/jondruse/screeninator
63
60
  licenses: []
@@ -72,34 +69,30 @@ post_install_message: |
72
69
 
73
70
 
74
71
  rdoc_options:
75
- - --charset=UTF-8
72
+ - --charset=UTF-8
76
73
  require_paths:
77
- - lib
74
+ - lib
78
75
  required_ruby_version: !ruby/object:Gem::Requirement
79
- none: false
80
76
  requirements:
81
- - - ">="
82
- - !ruby/object:Gem::Version
83
- hash: 3
84
- segments:
85
- - 0
86
- version: "0"
77
+ - - ">="
78
+ - !ruby/object:Gem::Version
79
+ segments:
80
+ - 0
81
+ version: "0"
87
82
  required_rubygems_version: !ruby/object:Gem::Requirement
88
- none: false
89
83
  requirements:
90
- - - ">="
91
- - !ruby/object:Gem::Version
92
- hash: 3
93
- segments:
94
- - 0
95
- version: "0"
84
+ - - ">="
85
+ - !ruby/object:Gem::Version
86
+ segments:
87
+ - 0
88
+ version: "0"
96
89
  requirements: []
97
90
 
98
91
  rubyforge_project:
99
- rubygems_version: 1.3.7
92
+ rubygems_version: 1.3.6
100
93
  signing_key:
101
94
  specification_version: 3
102
95
  summary: Create and manage complex screen sessions easily.
103
96
  test_files:
104
- - test/helper.rb
105
- - test/test_screeninator.rb
97
+ - test/helper.rb
98
+ - test/test_screeninator.rb