jeni 0.2.3 → 0.2.5

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.
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ OTk0NDE2OWViOTU5YzYzOWMwZTc1YmVkZjZlZGE4M2E0NjNhMTRiZA==
5
+ data.tar.gz: !binary |-
6
+ ODEwOTA2YzcwNTg3ZGY3NDk1YjlhYmI3MTM4ZTlhZjQ5ZDdhZjYwZg==
7
+ !binary "U0hBNTEy":
8
+ metadata.gz: !binary |-
9
+ MDM1ZjA1ZTUxMjg2OGJjYjY2ZGE5ZWQ3OWFkYTI4ZDA3MmQwYWUxOWVmNTJh
10
+ MWU3MmM3NzE1NzAxZjhhYjAzZWE4MmNkZThjMjE5ZDI1ZGZhNjI4N2Y3NTM1
11
+ ZDU4OTczYTdhY2Y0ZjNmOWY2YjNmZWZkODBjNTNjMGQ0ZWM0YmY=
12
+ data.tar.gz: !binary |-
13
+ OGU3YzQ1MThhZWJjNTY0NDg0Y2QyOWI1MGVlMDEyNjg3ODE4MTdiYzQ4OGZm
14
+ YzhlYWM5NTYxZjgxYWE0YzNlZGI5Yjg2MjdjMDIyYmY1MmEwYWU1ZTQ5MDg5
15
+ YjJlZWU2OTdjYTYyMGFkZWQ0NzhkODRjOTU4ZTU3MTllYjBjMTc=
data/Bugs.rdoc CHANGED
@@ -1,5 +1,10 @@
1
1
  == Outstanding Bugs and Change Requests for Jeni
2
2
 
3
+ [20-Aug-2013]
4
+
5
+ * Add a facility to check if a package has been installed and warn if it has not
6
+ or even exit on error
7
+
3
8
  [14-Sep-2012]
4
9
 
5
10
  * Crashes if it tries to read a link that is a file
@@ -4,6 +4,15 @@
4
4
  == History
5
5
 
6
6
 
7
+ [jeni-0.2.5 28-Aug-2013]
8
+
9
+ make target_root accessible and ignore chown etc on pretend
10
+
11
+ [jeni-0.2.4 02-Aug-2013]
12
+
13
+ Jeni::IO change to use $stdin.gets instead of Kernel#gets, which will automatically
14
+ read from a file on the command line, not what is wanted here.
15
+
7
16
  [jeni-0.2.3 21-Nov-2012]
8
17
 
9
18
  Generate templates to /tmp directory before transferring to target. Allow users to
@@ -89,6 +89,9 @@ module Jeni
89
89
  # allow scripters to know where the gem directory is
90
90
  attr_reader :gem_dir
91
91
 
92
+ # allow the caller to know where relative targets will be installed
93
+ attr_reader :target_root
94
+
92
95
  #protected :set_gem
93
96
 
94
97
 
@@ -95,10 +95,7 @@ module Jeni
95
95
  # change the owner of a file
96
96
  def chown(file, owner)
97
97
  message = "#{file} to #{owner}"
98
- if @pretend then
99
- say(:chown, message, :ok)
100
- return
101
- end
98
+ return if @pretend
102
99
  if FileTest.exists?(file) then
103
100
  FileUtils.chown(owner, nil, file)
104
101
  say(:chown, message, :ok)
@@ -110,10 +107,7 @@ module Jeni
110
107
  # change the group of a file
111
108
  def chgrp(file, owner)
112
109
  message = "#{file} to #{owner}"
113
- if @pretend then
114
- say(:chgrp, message, :ok)
115
- return
116
- end
110
+ return if @pretend
117
111
  if FileTest.exists?(file) then
118
112
  FileUtils.chown(nil, owner, file)
119
113
  say(:chgrp, message, :ok)
@@ -125,9 +119,8 @@ module Jeni
125
119
  # make a file executable
126
120
  def chmod(file, mode)
127
121
  message = "#{file} to #{mode.to_s(8)}"
128
- if @pretend then
129
- say(:chmod, message, :ok)
130
- elsif FileTest.exists?(file) then
122
+ return if @pretend
123
+ if FileTest.exists?(file) then
131
124
  FileUtils.chmod(mode,file)
132
125
  say(:chmod, message, :ok)
133
126
  else
@@ -53,9 +53,9 @@ module Jeni
53
53
  def_key = Answers[default]
54
54
  answers = (options.split(//) & AnswerKeys.split(//)).collect {|k| k == def_key ? k.upcase : k}.join('')
55
55
  print "#{question}(#{answers})? "
56
- response = gets.chomp.downcase
56
+ response = $stdin.gets.chomp.downcase
57
57
  if Answers.has_value?(response) then
58
- return Answers.index(response)
58
+ return Answers.key(response)
59
59
  else
60
60
  return default
61
61
  end
@@ -39,13 +39,21 @@ module Jeni
39
39
  return file
40
40
  end
41
41
 
42
- # check if target directory exists and is writeable
43
- # this will create a target if it does not exist (and all intermediate paths) unless
44
- # the nomkdir option is set
42
+ # check if target's directory exists and is writeable
43
+ #
44
+ # this will create a directory for the target if it does not
45
+ # exist (and all intermediate paths) unless the nomkdir option is set
46
+ #
47
+ # @param [String] target path to the file to be created
48
+ # @param [String] owner of the target file and directory if it
49
+ # does not already exist
50
+ #
45
51
  def check_target(target, owner=nil)
52
+ # if its not an absolute path then get the absolute path
46
53
  unless target[0,1] == '/'
47
54
  target = File.expand_path(File.join(@target_root, target))
48
55
  end
56
+ # now get the directory for the target and ensure it exists
49
57
  dir = File.dirname(target)
50
58
  unless FileTest.directory?(dir)
51
59
  unless @nomkdir
@@ -1,17 +1,13 @@
1
1
  # Created by Jevoom
2
2
  #
3
- # 21-Nov-2012
4
- # Generate templates to /tmp directory before transferring to target. Allow users to
5
- # generate to an alternative target directory, either with target= method or optparse.
6
- # Allow a block for optparse that passes through the optparse object to allow custom
7
- # options to be added. Add classify method so templates can convert e.g. project name
8
- # into a Ruby class (my_project -> MyProject).
3
+ # 28-Aug-2013
4
+ # make target_root accessible and ignore chown etc on pretend
9
5
 
10
6
  module Jeni
11
- # version set to 0.2.3
12
- Version = '0.2.3'
13
- # date set to 21-Nov-2012
14
- Version_Date = '21-Nov-2012'
15
- #ident string set to: jeni-0.2.3 21-Nov-2012
16
- Ident = 'jeni-0.2.3 21-Nov-2012'
7
+ # version set to 0.2.5
8
+ Version = '0.2.5'
9
+ # date set to 28-Aug-2013
10
+ Version_Date = '28-Aug-2013'
11
+ #ident string set to: jeni-0.2.5 28-Aug-2013
12
+ Ident = 'jeni-0.2.5 28-Aug-2013'
17
13
  end
metadata CHANGED
@@ -1,82 +1,75 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: jeni
3
- version: !ruby/object:Gem::Version
4
- hash: 17
5
- prerelease:
6
- segments:
7
- - 0
8
- - 2
9
- - 3
10
- version: 0.2.3
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.5
11
5
  platform: ruby
12
- authors:
6
+ authors:
13
7
  - Dr Robert
14
8
  autorequire:
15
9
  bindir: bin
16
10
  cert_chain: []
17
-
18
- date: 2012-11-21 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
11
+ date: 2013-08-28 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: !binary |-
15
+ Y29sb3JlZA==
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - ! '>='
19
+ - !ruby/object:Gem::Version
20
+ version: '0'
21
21
  type: :runtime
22
- requirement: &id001 !ruby/object:Gem::Requirement
23
- none: false
24
- requirements:
25
- - - ">="
26
- - !ruby/object:Gem::Version
27
- hash: 3
28
- segments:
29
- - 0
30
- version: "0"
31
- name: colored
32
- version_requirements: *id001
33
22
  prerelease: false
34
- - !ruby/object:Gem::Dependency
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ! '>='
26
+ - !ruby/object:Gem::Version
27
+ version: '0'
28
+ - !ruby/object:Gem::Dependency
29
+ name: !binary |-
30
+ ZGlmZnk=
31
+ requirement: !ruby/object:Gem::Requirement
32
+ requirements:
33
+ - - ! '>='
34
+ - !ruby/object:Gem::Version
35
+ version: '0'
35
36
  type: :runtime
36
- requirement: &id002 !ruby/object:Gem::Requirement
37
- none: false
38
- requirements:
39
- - - ">="
40
- - !ruby/object:Gem::Version
41
- hash: 3
42
- segments:
43
- - 0
44
- version: "0"
45
- name: diffy
46
- version_requirements: *id002
47
37
  prerelease: false
48
- - !ruby/object:Gem::Dependency
38
+ version_requirements: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - ! '>='
41
+ - !ruby/object:Gem::Version
42
+ version: '0'
43
+ - !ruby/object:Gem::Dependency
44
+ name: !binary |-
45
+ aGFtbA==
46
+ requirement: !ruby/object:Gem::Requirement
47
+ requirements:
48
+ - - ! '>='
49
+ - !ruby/object:Gem::Version
50
+ version: '0'
49
51
  type: :runtime
50
- requirement: &id003 !ruby/object:Gem::Requirement
51
- none: false
52
- requirements:
53
- - - ">="
54
- - !ruby/object:Gem::Version
55
- hash: 3
56
- segments:
57
- - 0
58
- version: "0"
59
- name: haml
60
- version_requirements: *id003
61
52
  prerelease: false
62
- description: |
63
- A simple alternative to rubigen and thor that can be used to create a post-install script
64
- for a gem needing more than the standard file ops covered by rubygems. It can also be
65
- used for straight directories instead of gems, if required.
66
-
53
+ version_requirements: !ruby/object:Gem::Requirement
54
+ requirements:
55
+ - - ! '>='
56
+ - !ruby/object:Gem::Version
57
+ version: '0'
58
+ description: ! "A simple alternative to rubigen and thor that can be used to create
59
+ a post-install script \nfor a gem needing more than the standard file ops covered
60
+ by rubygems. It can also be \nused for straight directories instead of gems, if
61
+ required.\n"
67
62
  email: robert@osburn-sharp.ath.cx
68
63
  executables: []
69
-
70
64
  extensions: []
71
-
72
- extra_rdoc_files:
65
+ extra_rdoc_files:
73
66
  - History.txt
74
67
  - Bugs.rdoc
75
68
  - Intro.txt
76
69
  - LICENCE.rdoc
77
70
  - Gemfile
78
71
  - README.md
79
- files:
72
+ files:
80
73
  - History.txt
81
74
  - Bugs.rdoc
82
75
  - Intro.txt
@@ -119,38 +112,30 @@ files:
119
112
  - test/examples/target/jeni_template.rb
120
113
  - test/examples/target/shebang.rb
121
114
  - test/examples/target2/subfiles/subfile_1.rb
122
- homepage:
123
- licenses:
115
+ homepage: ''
116
+ licenses:
124
117
  - Open Software Licence v3.0
118
+ metadata: {}
125
119
  post_install_message:
126
- rdoc_options:
120
+ rdoc_options:
127
121
  - --main=README.rdoc
128
- require_paths:
122
+ require_paths:
129
123
  - lib
130
- required_ruby_version: !ruby/object:Gem::Requirement
131
- none: false
132
- requirements:
133
- - - ">="
134
- - !ruby/object:Gem::Version
135
- hash: 3
136
- segments:
137
- - 0
138
- version: "0"
139
- required_rubygems_version: !ruby/object:Gem::Requirement
140
- none: false
141
- requirements:
142
- - - ">="
143
- - !ruby/object:Gem::Version
144
- hash: 3
145
- segments:
146
- - 0
147
- version: "0"
124
+ required_ruby_version: !ruby/object:Gem::Requirement
125
+ requirements:
126
+ - - ! '>='
127
+ - !ruby/object:Gem::Version
128
+ version: '0'
129
+ required_rubygems_version: !ruby/object:Gem::Requirement
130
+ requirements:
131
+ - - ! '>='
132
+ - !ruby/object:Gem::Version
133
+ version: '0'
148
134
  requirements: []
149
-
150
135
  rubyforge_project:
151
- rubygems_version: 1.8.24
136
+ rubygems_version: 2.0.7
152
137
  signing_key:
153
- specification_version: 3
154
- summary: A little post-install helper for Gems to install things Gems can't reach, and can be used for non-gems too.
138
+ specification_version: 4
139
+ summary: A little post-install helper for Gems to install things Gems can't reach,
140
+ and can be used for non-gems too.
155
141
  test_files: []
156
-