pakman 0.4.0 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,25 +1,30 @@
1
- ## `pakman` - Template Pack Manager in Ruby
1
+ # `pakman` - Template Pack Manager in Ruby
2
+
3
+
4
+ * home :: [github.com/geraldb/pakman](https://github.com/geraldb/pakman)
5
+ * bugs :: [github.com/geraldb/pakman/issues](https://github.com/geraldb/pakman/issues)
6
+ * gem :: [rubygems.org/gems/pakman](https://rubygems.org/gems/pakman)
7
+ * rdoc :: [rubydoc.info/gems/pakman](http://rubydoc.info/gems/pakman)
2
8
 
3
- * [geraldb.github.com/pakman](http://geraldb.github.com/pakman)
4
9
 
5
10
  ## Usage - Ruby Code
6
11
 
7
12
  Fetch a template pack:
8
13
 
9
14
  ```ruby
10
- Pakman::Fetcher.new( logger ).fetch_pak( src, pakpath )
15
+ Pakman::Fetcher.new.fetch_pak( src, pakpath )
11
16
  ```
12
17
 
13
18
  Copy a template pack from your cache:
14
19
 
15
20
  ```ruby
16
- Pakman::Copier.new( logger ).copy_pak( src, pakpath )
21
+ Pakman::Copier.new.copy_pak( src, pakpath )
17
22
  ```
18
23
 
19
24
  Merge a template pack from your cache:
20
25
 
21
26
  ```ruby
22
- Pakman::Templater.new( logger ).merge_pak( src, pakpath, binding, name )
27
+ Pakman::Templater.new.merge_pak( src, pakpath, binding, name )
23
28
  ```
24
29
 
25
30
 
@@ -33,7 +38,7 @@ patterns = [
33
38
  "*/*.txt"
34
39
  ]
35
40
 
36
- Pakman::Finder.new( logger ).find_manifests( patterns )
41
+ Pakman::Finder.new.find_manifests( patterns )
37
42
  ```
38
43
 
39
44
 
@@ -64,15 +69,16 @@ Just install the gem:
64
69
 
65
70
  ## Real World Usage
66
71
 
67
- The [`slideshow`](http://slideshow.rubyforge.org) (also known as Slide Show (S9)) gem
72
+ The [`slideshow`](http://slideshow-s9.github.io) (also known as Slide Show (S9)) gem
68
73
  that lets you create slide shows
69
74
  and author slides in plain text using a wiki-style markup language that's easy-to-write and easy-to-read.
70
75
 
71
76
  ## Real World Template Packs
72
77
 
73
- * [S6 Template Pack](https://github.com/geraldb/slideshow-s6-blank)
74
- * [impress.js Template Pack](https://github.com/geraldb/slideshow-impress.js)
75
- * [deck.js Template Pack](https://github.com/geraldb/slideshow-deck.js)
78
+ * [S6 Template Pack](https://github.com/slideshow-s9/slideshow-s6-blank)
79
+ * [impress.js Template Pack](https://github.com/slideshow-s9/slideshow-impress.js)
80
+ * [deck.js Template Pack](https://github.com/slideshow-s9/slideshow-deck.js)
81
+
76
82
 
77
83
  ## License
78
84
 
data/Rakefile CHANGED
@@ -8,17 +8,18 @@ Hoe.spec 'pakman' do
8
8
  self.summary = 'pakman - Template Pack Manager'
9
9
  self.description = summary
10
10
 
11
- self.urls = ['http://geraldb.github.com/pakman']
12
-
11
+ self.urls = ['https://github.com/geraldb/pakman']
12
+
13
13
  self.author = 'Gerald Bauer'
14
14
  self.email = 'webslideshow@googlegroups.com'
15
15
 
16
16
  self.extra_deps = [
17
- ['fetcher','>= 0.1.0']
17
+ ['fetcher', '>= 0.3.0'],
18
+ ['logutils', '>= 0.6.0']
18
19
  ]
19
-
20
+
20
21
  # switch extension to .rdoc for gihub formatting
21
22
  self.readme_file = 'README.markdown'
22
23
  self.history_file = 'History.markdown'
23
24
 
24
- end
25
+ end
@@ -1,7 +1,6 @@
1
1
  ###
2
2
  # NB: for local testing run like:
3
3
  #
4
- # 1.8.x: ruby -Ilib -rrubygems lib/pakman.rb
5
4
  # 1.9.x: ruby -Ilib lib/pakman.rb
6
5
 
7
6
  # core and stlibs
@@ -15,8 +14,10 @@ require 'fileutils'
15
14
 
16
15
  # rubygems
17
16
 
17
+ require 'logutils'
18
18
  require 'fetcher' # fetch (download) files
19
19
 
20
+
20
21
  # our own code
21
22
 
22
23
  require 'pakman/copier'
@@ -2,13 +2,14 @@ module Pakman
2
2
 
3
3
  class Fetch
4
4
 
5
- attr_reader :logger, :opts
5
+ include LogUtils::Logging
6
6
 
7
- def initialize( logger, opts )
8
- @logger = logger
9
- @opts = opts
7
+ def initialize( opts )
8
+ @opts = opts
10
9
  end
11
10
 
11
+ attr_reader :opts
12
+
12
13
  def run
13
14
  logger.debug "fetch_uri: >#{opts.fetch_uri}<"
14
15
  src = opts.fetch_uri
@@ -22,7 +23,7 @@ class Fetch
22
23
  pakpath = File.expand_path( pakname, opts.config_path )
23
24
  logger.debug "pakpath: >#{pakpath}<"
24
25
 
25
- Fetcher.new( logger ).fetch_pak( src, pakpath )
26
+ Fetcher.new.fetch_pak( src, pakpath )
26
27
  end # method run
27
28
 
28
29
  end # class Fetch
@@ -1,15 +1,16 @@
1
1
  module Pakman
2
2
 
3
3
  class Gen
4
-
4
+
5
+ include LogUtils::Logging
6
+
5
7
  include ManifestHelper
6
8
 
7
- def initialize( logger, opts )
8
- @logger = logger
9
+ def initialize( opts )
9
10
  @opts = opts
10
11
  end
11
12
 
12
- attr_reader :logger, :opts
13
+ attr_reader :opts
13
14
 
14
15
  def run( args )
15
16
  manifest_name = opts.manifest
@@ -29,14 +30,14 @@ class Gen
29
30
  pakpath = opts.output_path
30
31
 
31
32
  if args.empty?
32
- Copier.new( logger ).copy_pak( manifestsrc, pakpath )
33
+ Copier.new.copy_pak( manifestsrc, pakpath )
33
34
  else
34
35
  args.each do |arg|
35
36
  data = YAML.load_file( arg )
36
37
  name = File.basename( arg, '.*' )
37
38
  puts "#{name}:"
38
39
  pp data
39
- Templater.new( logger ).merge_pak( manifestsrc, pakpath, Ctx.new(data).ctx, name )
40
+ Templater.new.merge_pak( manifestsrc, pakpath, Ctx.new(data).ctx, name )
40
41
  end
41
42
  end
42
43
 
@@ -2,14 +2,15 @@ module Pakman
2
2
 
3
3
  class List
4
4
 
5
+ include LogUtils::Logging
6
+
5
7
  include ManifestHelper
6
8
 
7
- def initialize( logger, opts )
8
- @logger = logger
9
- @opts = opts
9
+ def initialize( opts )
10
+ @opts = opts
10
11
  end
11
12
 
12
- attr_reader :logger, :opts
13
+ attr_reader :opts
13
14
 
14
15
  def run
15
16
  manifests = installed_template_manifests
@@ -30,8 +30,8 @@ module ManifestHelper
30
30
  "Manifest.txt",
31
31
  "*/Manifest.txt"
32
32
  ]
33
-
34
- Finder.new( logger ).find_manifests( installed_template_manifest_patterns, excludes )
33
+
34
+ Finder.new.find_manifests( installed_template_manifest_patterns, excludes )
35
35
  end
36
36
 
37
37
  end # module ManifestHelper
@@ -2,14 +2,13 @@ module Pakman
2
2
 
3
3
  class Runner
4
4
 
5
- def initialize
6
- @logger = Logger.new(STDOUT)
7
- @logger.level = Logger::INFO
5
+ include LogUtils::Logging
8
6
 
9
- @opts = Opts.new
7
+ def initialize
8
+ @opts = Opts.new
10
9
  end
11
10
 
12
- attr_reader :logger, :opts
11
+ attr_reader :opts
13
12
 
14
13
  def run( args )
15
14
  opt=OptionParser.new do |cmd|
@@ -39,8 +38,9 @@ class Runner
39
38
  end
40
39
 
41
40
  cmd.on( "--verbose", "Show debug trace" ) do
42
- logger.datetime_format = "%H:%H:%S"
43
- logger.level = Logger::DEBUG
41
+ ## logger.datetime_format = "%H:%H:%S"
42
+ ## logger.level = Logger::DEBUG
43
+ # fix: use logutils - set to debug
44
44
  end
45
45
 
46
46
  cmd.on_tail( "-h", "--help", "Show this message" ) do
@@ -72,15 +72,15 @@ EOS
72
72
  end
73
73
 
74
74
  opt.parse!( args )
75
-
75
+
76
76
  puts Pakman.banner
77
-
77
+
78
78
  if opts.list?
79
- List.new( logger, opts ).run
79
+ List.new( opts ).run
80
80
  elsif opts.generate?
81
- Gen.new( logger, opts ).run( args )
81
+ Gen.new( opts ).run( args )
82
82
  elsif opts.fetch?
83
- Fetch.new( logger, opts ).run
83
+ Fetch.new( opts ).run
84
84
  else
85
85
  puts "-- No command do nothing for now. --" ## run help??
86
86
  puts "Done."
@@ -2,12 +2,19 @@ module Pakman
2
2
 
3
3
  class Copier
4
4
 
5
- attr_reader :logger
6
-
7
- def initialize( logger )
8
- @logger = logger
5
+ include LogUtils::Logging
6
+
7
+ ### todo/fix:
8
+ # remove logger from c'tor
9
+ # use logutils instead
10
+
11
+ def initialize( old_logger_do_not_use=nil )
12
+ if old_logger_do_not_use != nil
13
+ puts "*** depreciated API call [Pakman::Copier.initialize] - do NOT pass in logger; no longer required/needed; logger arg will get removed"
14
+ end
9
15
  end
10
16
 
17
+
11
18
  def copy_pak( manifestsrc, pakpath )
12
19
 
13
20
  start = Time.now
@@ -16,7 +23,8 @@ class Copier
16
23
 
17
24
  puts "Copying template pack '#{pakname}'"
18
25
 
19
- manifest = Manifest.load_file( logger, manifestsrc )
26
+ ## todo: after depreciate change back to just load_file
27
+ manifest = Manifest.load_file_v2( manifestsrc )
20
28
 
21
29
  manifest.each do |entry|
22
30
  dest = entry[0]
@@ -2,12 +2,17 @@ module Pakman
2
2
 
3
3
  class Fetcher
4
4
 
5
- attr_reader :logger
6
-
7
- def initialize( logger )
8
- @logger = logger
9
- end
5
+ include LogUtils::Logging
10
6
 
7
+ ### todo/fix:
8
+ # remove logger from c'tor
9
+ # use logutils instead
10
+
11
+ def initialize( old_logger_do_not_use=nil )
12
+ if old_logger_do_not_use != nil
13
+ puts "*** depreciated API call [Pakman::Fetcher.initialize] - do NOT pass in logger; no longer required/needed; logger arg will get removed"
14
+ end
15
+ end
11
16
 
12
17
  def fetch_pak( manifestsrc, pakpath )
13
18
 
@@ -43,7 +48,8 @@ class Fetcher
43
48
 
44
49
  fetch_file( manifestsrc, manifestdest )
45
50
 
46
- manifest = Manifest.load_file_core( logger, manifestdest )
51
+ ## todo: change back to load_file_core after deprecated api got removed
52
+ manifest = Manifest.load_file_core_v2( manifestdest )
47
53
 
48
54
  # step 2: download files & templates listed in manifest
49
55
  manifest.each do |entry|
@@ -76,7 +82,7 @@ private
76
82
  ## note: code moved to its own gem, that is, fetcher
77
83
  ## see https://github.com/geraldb/fetcher
78
84
 
79
- ::Fetcher::Worker.new( logger ).copy( src, dest )
85
+ ::Fetcher::Worker.new.copy( src, dest )
80
86
  end
81
87
 
82
88
  end # class Fetcher
@@ -2,10 +2,16 @@ module Pakman
2
2
 
3
3
  class Finder
4
4
 
5
- attr_reader :logger
6
-
7
- def initialize( logger )
8
- @logger = logger
5
+ include LogUtils::Logging
6
+
7
+ ### todo/fix:
8
+ # remove logger from c'tor
9
+ # use logutils instead
10
+
11
+ def initialize( old_logger_do_not_use=nil )
12
+ if old_logger_do_not_use != nil
13
+ puts "*** depreciated API call [Pakman::Finder.initialize] - do NOT pass in logger; no longer required/needed; logger arg will get removed"
14
+ end
9
15
  end
10
16
 
11
17
  def find_manifests( patterns, excludes=[] )
@@ -2,25 +2,53 @@ module Pakman
2
2
 
3
3
  class Manifest
4
4
 
5
- attr_reader :logger
6
-
7
- def initialize( logger )
8
- @logger = logger
5
+ include LogUtils::Logging
6
+
7
+ ### todo/fix:
8
+ # remove logger from c'tor
9
+ # use logutils instead
10
+
11
+ def initialize( old_logger_do_not_use=nil )
12
+ if old_logger_do_not_use != nil
13
+ puts "*** depreciated API call [Pakman::Manifest.initialize] - do NOT pass in logger; no longer required/needed; logger arg will get removed"
14
+ end
15
+
9
16
  @manifest = []
10
17
  end
11
18
 
12
- def self.load_file_core( logger, path )
13
- obj = self.new( logger )
19
+
20
+ def self.load_file_core( old_logger_do_not_use, path )
21
+ puts "*** depreciated API call [Pakman::Manifest.load_file_core] - do NOT pass in logger; no longer required/needed; logger arg will get removed"
22
+
23
+ obj = self.new
14
24
  obj.load_file_core_worker( path )
15
25
  obj
16
26
  end
17
-
18
- def self.load_file( logger, path )
19
- obj = self.new( logger )
27
+
28
+ def self.load_file( old_logger_do_not_use, path )
29
+ puts "*** depreciated API call [Pakman::Manifest.load_file] - do NOT pass in logger; no longer required/needed; logger arg will get removed"
30
+
31
+ obj = self.new
32
+ obj.load_file_worker( path )
33
+ obj
34
+ end
35
+
36
+
37
+ def self.load_file_core_v2( path )
38
+ obj = self.new
39
+ obj.load_file_core_worker( path )
40
+ obj
41
+ end
42
+
43
+ def self.load_file_v2( path )
44
+ obj = self.new
20
45
  obj.load_file_worker( path )
21
46
  obj
22
47
  end
23
48
 
49
+
50
+
51
+
24
52
  def each
25
53
  @manifest.each { |ary| yield ary }
26
54
  end
@@ -2,10 +2,16 @@ module Pakman
2
2
 
3
3
  class Templater
4
4
 
5
- attr_reader :logger
6
-
7
- def initialize( logger )
8
- @logger = logger
5
+ include LogUtils::Logging
6
+
7
+ ### todo/fix:
8
+ # remove logger from c'tor
9
+ # use logutils instead
10
+
11
+ def initialize( old_logger_do_not_use=nil )
12
+ if old_logger_do_not_use != nil
13
+ puts "*** depreciated API call [Pakman::Templater.initialize] - do NOT pass in logger; no longer required/needed; logger arg will get removed"
14
+ end
9
15
  end
10
16
 
11
17
 
@@ -17,7 +23,8 @@ class Templater
17
23
 
18
24
  puts "Merging template pack '#{pakname}'"
19
25
 
20
- manifest = Manifest.load_file( logger, manifestsrc )
26
+ # todo: rename to load_file once depreated API got removed
27
+ manifest = Manifest.load_file_v2( manifestsrc )
21
28
 
22
29
  manifest.each do |entry|
23
30
  dest = entry[0]
@@ -1,3 +1,3 @@
1
1
  module Pakman
2
- VERSION = '0.4.0'
3
- end
2
+ VERSION = '0.5.0'
3
+ end
metadata CHANGED
@@ -1,77 +1,68 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: pakman
3
- version: !ruby/object:Gem::Version
4
- hash: 15
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.5.0
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 4
9
- - 0
10
- version: 0.4.0
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Gerald Bauer
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2012-06-22 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
12
+ date: 2013-09-07 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
21
15
  name: fetcher
16
+ requirement: &68820270 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: 0.3.0
22
+ type: :runtime
22
23
  prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
24
+ version_requirements: *68820270
25
+ - !ruby/object:Gem::Dependency
26
+ name: logutils
27
+ requirement: &68819720 !ruby/object:Gem::Requirement
24
28
  none: false
25
- requirements:
26
- - - ">="
27
- - !ruby/object:Gem::Version
28
- hash: 27
29
- segments:
30
- - 0
31
- - 1
32
- - 0
33
- version: 0.1.0
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: 0.6.0
34
33
  type: :runtime
35
- version_requirements: *id001
36
- - !ruby/object:Gem::Dependency
37
- name: rdoc
38
34
  prerelease: false
39
- requirement: &id002 !ruby/object:Gem::Requirement
35
+ version_requirements: *68819720
36
+ - !ruby/object:Gem::Dependency
37
+ name: rdoc
38
+ requirement: &68819170 !ruby/object:Gem::Requirement
40
39
  none: false
41
- requirements:
40
+ requirements:
42
41
  - - ~>
43
- - !ruby/object:Gem::Version
44
- hash: 19
45
- segments:
46
- - 3
47
- - 10
48
- version: "3.10"
42
+ - !ruby/object:Gem::Version
43
+ version: '3.10'
49
44
  type: :development
50
- version_requirements: *id002
51
- - !ruby/object:Gem::Dependency
52
- name: hoe
53
45
  prerelease: false
54
- requirement: &id003 !ruby/object:Gem::Requirement
46
+ version_requirements: *68819170
47
+ - !ruby/object:Gem::Dependency
48
+ name: hoe
49
+ requirement: &68818530 !ruby/object:Gem::Requirement
55
50
  none: false
56
- requirements:
51
+ requirements:
57
52
  - - ~>
58
- - !ruby/object:Gem::Version
59
- hash: 7
60
- segments:
61
- - 3
62
- - 0
63
- version: "3.0"
53
+ - !ruby/object:Gem::Version
54
+ version: '3.3'
64
55
  type: :development
65
- version_requirements: *id003
56
+ prerelease: false
57
+ version_requirements: *68818530
66
58
  description: pakman - Template Pack Manager
67
59
  email: webslideshow@googlegroups.com
68
- executables:
60
+ executables:
69
61
  - pakman
70
62
  extensions: []
71
-
72
- extra_rdoc_files:
63
+ extra_rdoc_files:
73
64
  - Manifest.txt
74
- files:
65
+ files:
75
66
  - History.markdown
76
67
  - Manifest.txt
77
68
  - README.markdown
@@ -93,39 +84,30 @@ files:
93
84
  - lib/pakman/templater.rb
94
85
  - lib/pakman/utils.rb
95
86
  - lib/pakman/version.rb
96
- homepage: http://geraldb.github.com/pakman
87
+ homepage: https://github.com/geraldb/pakman
97
88
  licenses: []
98
-
99
89
  post_install_message:
100
- rdoc_options:
90
+ rdoc_options:
101
91
  - --main
102
92
  - README.markdown
103
- require_paths:
93
+ require_paths:
104
94
  - lib
105
- required_ruby_version: !ruby/object:Gem::Requirement
95
+ required_ruby_version: !ruby/object:Gem::Requirement
106
96
  none: false
107
- requirements:
108
- - - ">="
109
- - !ruby/object:Gem::Version
110
- hash: 3
111
- segments:
112
- - 0
113
- version: "0"
114
- required_rubygems_version: !ruby/object:Gem::Requirement
97
+ requirements:
98
+ - - ! '>='
99
+ - !ruby/object:Gem::Version
100
+ version: '0'
101
+ required_rubygems_version: !ruby/object:Gem::Requirement
115
102
  none: false
116
- requirements:
117
- - - ">="
118
- - !ruby/object:Gem::Version
119
- hash: 3
120
- segments:
121
- - 0
122
- version: "0"
103
+ requirements:
104
+ - - ! '>='
105
+ - !ruby/object:Gem::Version
106
+ version: '0'
123
107
  requirements: []
124
-
125
108
  rubyforge_project: pakman
126
- rubygems_version: 1.8.24
109
+ rubygems_version: 1.8.17
127
110
  signing_key:
128
111
  specification_version: 3
129
112
  summary: pakman - Template Pack Manager
130
113
  test_files: []
131
-