screeninator 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/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