svnx 2.2.0 → 2.3.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1a079b16c8a940b3a4d547cf7181bb598e708134
4
- data.tar.gz: 362875ae5402a57065a2c923104f29e27c8e7fa7
3
+ metadata.gz: 03dc7ad9a32bb28cd8948fbe5921ead0f014fd47
4
+ data.tar.gz: 16794b57d049be33261365a1537250e6bc4d4833
5
5
  SHA512:
6
- metadata.gz: 212b6748b84d9298c1b9ff59387a7f5e392fb7829e9487b46801a51472c7f39ff0611f4b820526e1b42091ed5d7e73ea000ddbdfbc5ba7109df0515d9c4e5b1a
7
- data.tar.gz: fbfbbf3cc940127e16fa01b7a0ab20e1100a862d6c642a7e7f8e8961c7f35cc7ccc0373d2c061671662ca75aa17fe98f5661c9aa1ae86da9e7ec74694d745fe5
6
+ metadata.gz: 83ca8614a6553fdc808ceb319fd2aaca159b1c84ad745cb0940cd7565843245c4d24135915d300255c6083b9050ab1e975066aace36e6c398ac53a845d3a29fa
7
+ data.tar.gz: 8a5b6bcd7040e7655a7547a0d5fd295368522b191554222c2a6f0ab4186783f0c0bdcd696f47b5a41b61908868215f6d41388bfec0ce1d007348a642dd41e1f9
@@ -2,8 +2,7 @@
2
2
  # -*- ruby -*-
3
3
 
4
4
  require 'logue/loggable'
5
- require 'cmdline/line'
6
- require 'cmdline/caching'
5
+ require 'command/cacheable'
7
6
  require 'svnx/base/env'
8
7
 
9
8
  module Svnx
@@ -12,16 +11,6 @@ module Svnx
12
11
  end
13
12
 
14
13
  module Svnx::Base
15
- class CachingCommandLine < CmdLine::CachingCommandLine
16
- def caching?
17
- true
18
- end
19
-
20
- def cache_dir
21
- Svnx::Env.instance.cache_dir
22
- end
23
- end
24
-
25
14
  class CommandLine
26
15
  include Logue::Loggable
27
16
 
@@ -57,8 +46,7 @@ module Svnx::Base
57
46
  end
58
47
 
59
48
  def command_line cmdargs
60
- cls = @caching ? CachingCommandLine : CmdLine::CommandLine
61
- cls.new cmdargs
49
+ Command::Cacheable::Command.new cmdargs, caching: @caching, dir: Svnx::Env.instance.cache_dir
62
50
  end
63
51
  end
64
52
  end
@@ -2,8 +2,8 @@
2
2
  # -*- ruby -*-
3
3
 
4
4
  require 'logue/loggable'
5
- require 'cmdline/caching'
6
- require 'svnx/base/cmdline'
5
+ require 'command/cacheable/command'
6
+ # require 'svnx/base/cmdline'
7
7
  require 'svnx/util/classutil'
8
8
  require 'svnx/base/command_factory'
9
9
 
@@ -47,7 +47,7 @@ module Svnx::Base
47
47
  debug "@cmdline: #{@cmdline}"
48
48
 
49
49
  @output = @cmdline.execute
50
- debug "@output: #{@output}"
50
+ debug "@output: #{@output && @output[0 .. 100]}"
51
51
 
52
52
  @error = @cmdline.error
53
53
  debug "@error: #{@error}"
@@ -60,7 +60,7 @@ module Svnx::Base
60
60
  class EntriesCommand < Command
61
61
  attr_reader :entries
62
62
 
63
- def initialize options, cls: CommandLine, exec: nil, caching: caching?, xml: true, entries_class: nil
63
+ def initialize options, cls: Command::Cacheable::Command, exec: nil, caching: caching?, xml: true, entries_class: nil
64
64
  super options, cls: cls, exec: exec, xml: xml, caching: caching
65
65
 
66
66
  if not @output.empty?
@@ -3,5 +3,5 @@
3
3
 
4
4
  module Svnx
5
5
  NAME = 'svnx'
6
- VERSION = '2.2.0'
6
+ VERSION = '2.3.0'
7
7
  end
@@ -27,9 +27,10 @@ Gem::Specification.new do |spec|
27
27
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename f }
28
28
  spec.require_paths = ["lib"]
29
29
 
30
+ spec.add_runtime_dependency "command-cacheable", "~> 0.2"
30
31
  spec.add_development_dependency "bundler", "~> 1.12"
31
32
  spec.add_development_dependency "rake", "~> 10.0"
32
33
  spec.add_development_dependency "logue", "~> 1.0.6"
33
34
  spec.add_development_dependency "test-unit", "~> 3.1.5"
34
- spec.add_development_dependency "paramesan"
35
+ spec.add_development_dependency "paramesan", "~> 0.1.1"
35
36
  end
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: svnx
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.0
4
+ version: 2.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeff Pace
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-01-28 00:00:00.000000000 Z
11
+ date: 2018-02-10 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: command-cacheable
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '0.2'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '0.2'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: bundler
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -70,16 +84,16 @@ dependencies:
70
84
  name: paramesan
71
85
  requirement: !ruby/object:Gem::Requirement
72
86
  requirements:
73
- - - ">="
87
+ - - "~>"
74
88
  - !ruby/object:Gem::Version
75
- version: '0'
89
+ version: 0.1.1
76
90
  type: :development
77
91
  prerelease: false
78
92
  version_requirements: !ruby/object:Gem::Requirement
79
93
  requirements:
80
- - - ">="
94
+ - - "~>"
81
95
  - !ruby/object:Gem::Version
82
- version: '0'
96
+ version: 0.1.1
83
97
  description: Bridges the Subversion command line, returning Ruby objects.
84
98
  email:
85
99
  - jeugenepace@gmail.com
@@ -97,15 +111,8 @@ files:
97
111
  - Manifest.txt
98
112
  - README.md
99
113
  - Rakefile
100
- - lib/cmdline/arg.rb
101
- - lib/cmdline/cachefile.rb
102
- - lib/cmdline/caching.rb
103
- - lib/cmdline/filename.rb
104
- - lib/cmdline/gzpathname.rb
105
- - lib/cmdline/line.rb
106
114
  - lib/svnx/base/action.rb
107
115
  - lib/svnx/base/action_status.rb
108
- - lib/svnx/base/cmd.rb
109
116
  - lib/svnx/base/cmdline.rb
110
117
  - lib/svnx/base/command.rb
111
118
  - lib/svnx/base/command_factory.rb
@@ -1,12 +0,0 @@
1
- #!/usr/bin/ruby -w
2
- # -*- ruby -*-
3
-
4
- module CmdLine
5
- class Argument < String
6
- # just a string, but quotes itself
7
-
8
- def to_s
9
- '"' + super + '"'
10
- end
11
- end
12
- end
@@ -1,37 +0,0 @@
1
- #!/usr/bin/ruby -w
2
- # -*- ruby -*-
3
-
4
- require 'cmdline/line'
5
- require 'cmdline/filename'
6
- require 'cmdline/gzpathname'
7
-
8
- # A file that has a pathname and output
9
- module CmdLine
10
- class CacheFile
11
- attr_reader :output
12
- attr_reader :pathname
13
-
14
- def initialize cache_dir, args
15
- @args = args
16
- basename = FileName.new(args).name
17
- fullname = Pathname(cache_dir) + basename
18
- @pathname = GzipPathname.new fullname
19
- @output = nil
20
- end
21
-
22
- def readlines
23
- if @pathname.exist?
24
- @output = @pathname.read_file
25
- else
26
- cl = CommandLine.new @args
27
- @output = cl.execute
28
- @pathname.save_file @output
29
- @output
30
- end
31
- end
32
-
33
- def to_s
34
- @pathname.to_s
35
- end
36
- end
37
- end
@@ -1,25 +0,0 @@
1
- #!/usr/bin/ruby -w
2
- # -*- ruby -*-
3
-
4
- require 'cmdline/line'
5
- require 'cmdline/cachefile'
6
-
7
- module CmdLine
8
- class CachingCommandLine < CommandLine
9
- # caches its input and values.
10
-
11
- def cache_dir
12
- @cache_dir ||= '/tmp' + Pathname.new($0).expand_path.to_s
13
- @cache_dir
14
- end
15
-
16
- def cache_file
17
- CacheFile.new cache_dir, @args
18
- end
19
-
20
- def execute
21
- cachefile = cache_file
22
- @output = cachefile.readlines
23
- end
24
- end
25
- end
@@ -1,16 +0,0 @@
1
- #!/usr/bin/ruby -w
2
- # -*- ruby -*-
3
-
4
- module CmdLine
5
- class FileName
6
- attr_reader :name
7
-
8
- def initialize args
9
- @name = args.join('-').gsub('/', '_slash_') + '.gz'
10
- end
11
-
12
- def to_s
13
- @name
14
- end
15
- end
16
- end
@@ -1,26 +0,0 @@
1
- #!/usr/bin/ruby -w
2
- # -*- ruby -*-
3
-
4
- require 'zlib'
5
- require 'pathname'
6
-
7
- module CmdLine
8
- # A pathname that reads and writes itself as gzipped
9
- class GzipPathname < Pathname
10
- def save_file content
11
- parent.mkpath unless parent.exist?
12
- unlink if exist?
13
- Zlib::GzipWriter.open(to_s) do |gz|
14
- gz.puts content
15
- end
16
- end
17
-
18
- def read_file
19
- Array.new.tap do |content|
20
- Zlib::GzipReader.open(to_s) do |gz|
21
- content.concat gz.readlines
22
- end
23
- end
24
- end
25
- end
26
- end
@@ -1,57 +0,0 @@
1
- #!/usr/bin/ruby -w
2
- # -*- ruby -*-
3
-
4
- require 'logue/loggable'
5
- require 'open3'
6
-
7
- module CmdLine
8
- class CommandLine
9
- include Logue::Loggable
10
-
11
- attr_reader :args
12
- attr_reader :output
13
- attr_reader :error
14
- attr_reader :status
15
-
16
- def initialize *args, debug: false
17
- @args = args.dup
18
- end
19
-
20
- def << arg
21
- @args << arg
22
- end
23
-
24
- def execute
25
- cmd = to_command
26
- debug "cmd: #{cmd}"
27
-
28
- Open3.popen3(cmd) do |stdin, stdout, stderr, wthr|
29
- @output = stdout.readlines
30
- @error = stderr.readlines
31
- @status = wthr.value
32
- end
33
-
34
- if false && @output
35
- puts "output"
36
- @output.each_with_index do |line, idx|
37
- debug "output[#{idx}]: #{line}"
38
- end
39
- end
40
-
41
- if false && @error
42
- puts "error"
43
- @error.each_with_index do |line, idx|
44
- debug "error[#{idx}]: #{line}"
45
- end
46
- end
47
-
48
- debug "@status: #{@status}"
49
-
50
- @output
51
- end
52
-
53
- def to_command
54
- @args.join ' '
55
- end
56
- end
57
- end
@@ -1,20 +0,0 @@
1
- #!/usr/bin/ruby -w
2
- # -*- ruby -*-
3
-
4
- require 'rexml/document'
5
- require 'logue/loggable'
6
-
7
- module Svnx
8
- class Cmd
9
- include Logue::Loggable
10
-
11
- def initialize xml
12
- info "xml: #{xml}"
13
-
14
- @doc = REXML::Document.new xml
15
- info "@doc: #{@doc}"
16
-
17
- end
18
- end
19
- end
20
-