regren 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
data/bin/regren CHANGED
@@ -5,10 +5,11 @@ $LOAD_PATH.unshift(File.expand_path('../../lib', __FILE__))
5
5
  require 'optparse'
6
6
  require 'folder_contents_history'
7
7
  require 'filename_history'
8
+ require 'colorize'
8
9
 
9
10
  def string_prompt(prompt = '>')
10
11
  begin
11
- print("#{prompt} ")
12
+ print("#{prompt} ".colorize(:color => :green))
12
13
  gets.chomp
13
14
  rescue Interrupt
14
15
  exit 130
@@ -90,7 +91,7 @@ when :rename
90
91
  when :reapply
91
92
  history.plan_reapplication('.')
92
93
  end
93
- history.log unless options[:quiet]
94
+ history.log(options[:regexp], options[:replacement]) unless options[:quiet]
94
95
  unless options[:dry_run] || options[:mode] == :history
95
96
  if !history.changed.empty? && prompt?('Execute the rename?', options)
96
97
  history.log_backup(options[:history_file]) if options[:backup]
@@ -31,7 +31,11 @@ class FileNameHistory
31
31
 
32
32
  def plan_rename(regexp, replacement)
33
33
  new_name = @current.gsub(regexp, replacement)
34
- @history << new_name if new_name != current
34
+ if new_name != current
35
+ @current_color = @current.gsub(regexp, '\0'.colorize(:color => :green))
36
+ @last_color = @current.gsub(regexp, replacement.colorize(:color => :cyan))
37
+ @history << new_name
38
+ end
35
39
  end
36
40
 
37
41
  def plan_rollback
@@ -60,9 +64,17 @@ class FileNameHistory
60
64
  where.print "-> #{@history.join("\n-> ")}\n\n"
61
65
  end
62
66
 
67
+ def last_color
68
+ @last_color || last_name
69
+ end
70
+
71
+ def current_color
72
+ @current_color || @current
73
+ end
74
+
63
75
  def log(where = $stdout)
64
76
  return unless changed?
65
- where.puts(@current)
66
- where.puts("-> #{@history.last}")
77
+ where.puts(current_color)
78
+ where.puts("-> #{last_color}")
67
79
  end
68
80
  end
@@ -1,5 +1,5 @@
1
1
  class FolderContentsHistory
2
- require 'json'
2
+ require 'multi_json'
3
3
 
4
4
  def initialize(entries = {})
5
5
  @entries = entries
@@ -51,9 +51,9 @@ class FolderContentsHistory
51
51
  end
52
52
  end
53
53
 
54
- def log
54
+ def log(regexp = '', replacement = '')
55
55
  if conflicts?
56
- puts <<-NOTE.gsub(/^.*\|/, '')
56
+ puts <<-NOTE.gsub(/^.*\|/, '').colorize(:color => :red)
57
57
  |==================================================
58
58
  |!!! Some files would be lost by this operation !!!
59
59
  |==================================================
@@ -70,7 +70,7 @@ class FolderContentsHistory
70
70
  backup = with_history.reduce({}) do |hash, item|
71
71
  hash.update(item.last.to_hash)
72
72
  end
73
- File.write(where, JSON.pretty_generate(backup))
73
+ File.write(where, MultiJson.dump(backup, :pretty => true))
74
74
  end
75
75
 
76
76
  def to_hash(input_hash = @entries)
@@ -98,7 +98,7 @@ class FolderContentsHistory
98
98
  end
99
99
 
100
100
  def self.new_from_history(history_file)
101
- entries = JSON.parse(File.read(history_file)).reduce({}) do |hash, item|
101
+ entries = MultiJson.load(File.read(history_file)).reduce({}) do |hash, item|
102
102
  hash.update(item.first => FileNameHistory.new_from_history(item.last))
103
103
  end
104
104
  FolderContentsHistory.new(entries)
metadata CHANGED
@@ -1,7 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: regren
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - Adam Ruzicka
@@ -11,37 +12,41 @@ cert_chain: []
11
12
  date: 2014-06-28 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
- name: json
15
+ name: multi_json
15
16
  requirement: !ruby/object:Gem::Requirement
17
+ none: false
16
18
  requirements:
17
19
  - - ~>
18
20
  - !ruby/object:Gem::Version
19
- version: '0'
21
+ version: 1.10.1
20
22
  type: :runtime
21
23
  prerelease: false
22
24
  version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
23
26
  requirements:
24
27
  - - ~>
25
28
  - !ruby/object:Gem::Version
26
- version: '0'
29
+ version: 1.10.1
27
30
  - !ruby/object:Gem::Dependency
28
31
  name: minitest
29
32
  requirement: !ruby/object:Gem::Requirement
33
+ none: false
30
34
  requirements:
31
35
  - - ~>
32
36
  - !ruby/object:Gem::Version
33
37
  version: '1.3'
34
- - - '>='
38
+ - - ! '>='
35
39
  - !ruby/object:Gem::Version
36
40
  version: 4.7.3
37
41
  type: :development
38
42
  prerelease: false
39
43
  version_requirements: !ruby/object:Gem::Requirement
44
+ none: false
40
45
  requirements:
41
46
  - - ~>
42
47
  - !ruby/object:Gem::Version
43
48
  version: '1.3'
44
- - - '>='
49
+ - - ! '>='
45
50
  - !ruby/object:Gem::Version
46
51
  version: 4.7.3
47
52
  description: A simple gem for batch renaming files
@@ -52,32 +57,33 @@ extensions: []
52
57
  extra_rdoc_files: []
53
58
  files:
54
59
  - bin/regren
55
- - lib/folder_contents_history.rb
56
60
  - lib/filename_history.rb
61
+ - lib/folder_contents_history.rb
57
62
  - test/filename_history_test.rb
58
63
  - test/folder_contents_history_test.rb
59
64
  homepage: https://github.com/adamruzicka/regren
60
65
  licenses:
61
66
  - MIT
62
- metadata: {}
63
67
  post_install_message:
64
68
  rdoc_options: []
65
69
  require_paths:
66
70
  - lib
67
71
  required_ruby_version: !ruby/object:Gem::Requirement
72
+ none: false
68
73
  requirements:
69
- - - '>='
74
+ - - ! '>='
70
75
  - !ruby/object:Gem::Version
71
76
  version: 1.9.2
72
77
  required_rubygems_version: !ruby/object:Gem::Requirement
78
+ none: false
73
79
  requirements:
74
- - - '>='
80
+ - - ! '>='
75
81
  - !ruby/object:Gem::Version
76
82
  version: '0'
77
83
  requirements: []
78
84
  rubyforge_project:
79
- rubygems_version: 2.1.11
85
+ rubygems_version: 1.8.25
80
86
  signing_key:
81
- specification_version: 4
87
+ specification_version: 3
82
88
  summary: regren
83
89
  test_files: []
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: b37b7b976a4778f6d1bd4c6a4e400f596c7ddb0b
4
- data.tar.gz: d3574cf7d20b64e468f0db47acf5033f228ec1cf
5
- SHA512:
6
- metadata.gz: f6553b71b3311525b6699cc5b31f94cd231a43939346b386489962d6036fcc77f47deba2b4c118514f4cc76222454182af289b9186bfd8eadb566a0c7a18d82b
7
- data.tar.gz: f723d1200a3be1e993aef3c7c8e75f8d0ade430352a987a1e72bd615d95c7d653221c905963abe9fc4abb275af9afbef86459b62decd1bf9967587612fbfecf4