pakman 0.4.0 → 0.5.0

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.
@@ -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
-