xml_file_renamer 0.0.7 → 0.0.8
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 +4 -4
- data/README.md +1 -1
- data/bin/xml_file_renamer +2 -1
- data/lib/xml_file_renamer.rb +31 -6
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: abc8f48c224700cfbbc57548842dcead6441c9e6
|
4
|
+
data.tar.gz: 008f6de205746b8787b7c3d95b1c291b26e8fe97
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fa69655120b5d0c40af8c9f5c6f98bef9c9bf77c83f3a4e9103d2859d59ee4a5bd4feabaa635f1193b4e7467dc57517c622b42a7d57bdd6c4086b01ac9bc0a34
|
7
|
+
data.tar.gz: 57877bfc7039da6962d8c50e7179c7b20b05fd7f0f20c81675e4d1c69013e4444137a6ccc5e819b81af644fbd6b58b57b204de6109b4d90bf306d70c114921fe
|
data/README.md
CHANGED
@@ -34,7 +34,7 @@ This is a Ruby class that allows you to rename your XML files based on content i
|
|
34
34
|
|
35
35
|
Copy example XML files provided by the gem:
|
36
36
|
|
37
|
-
$ cp -r `which xml_file_renamer`/../../gems/xml_file_renamer-0.0.
|
37
|
+
$ cp -r `which xml_file_renamer`/../../gems/xml_file_renamer-0.0.7/example_xml_files ~/Documents/example_xml_files
|
38
38
|
|
39
39
|
Run the command on a single file:
|
40
40
|
|
data/bin/xml_file_renamer
CHANGED
@@ -1,8 +1,9 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
3
|
require 'xml_file_renamer'
|
4
|
-
xfr = XMLFileRenamer.new(ARGV[0], ARGV[1])
|
4
|
+
xfr = XMLFileRenamer.new(ARGV[0], ARGV[1], ARGV[2])
|
5
5
|
xfr.print_origin_directory
|
6
6
|
xfr.print_export_directory
|
7
7
|
xfr.print_css_selector
|
8
|
+
xfr.print_case_option
|
8
9
|
xfr.rename
|
data/lib/xml_file_renamer.rb
CHANGED
@@ -1,13 +1,15 @@
|
|
1
1
|
require 'nokogiri'
|
2
|
+
require 'active_support/all'
|
2
3
|
|
3
4
|
class XMLFileRenamer
|
4
|
-
attr_reader :source_data, :css_selector, :
|
5
|
-
:origin_directory, :export_directory,
|
5
|
+
attr_reader :source_data, :css_selector, :case_option,
|
6
|
+
:xml_document, :origin_directory, :export_directory,
|
6
7
|
:new_file_name, :destination_file_name
|
7
8
|
|
8
|
-
def initialize(source_data, css_selector)
|
9
|
+
def initialize(source_data, css_selector, case_option = nil)
|
9
10
|
@source_data = source_data
|
10
11
|
@css_selector = css_selector
|
12
|
+
@case_option = case_option
|
11
13
|
|
12
14
|
set_origin_directory
|
13
15
|
set_export_directory
|
@@ -28,10 +30,21 @@ class XMLFileRenamer
|
|
28
30
|
css_selector
|
29
31
|
end
|
30
32
|
|
33
|
+
def print_case_option
|
34
|
+
puts '**** Case Option: ' + case_option if case_option != nil
|
35
|
+
case_option
|
36
|
+
end
|
37
|
+
|
38
|
+
def print_file_name
|
39
|
+
puts '**** New File Name: ' + new_file_name
|
40
|
+
end
|
41
|
+
|
42
|
+
|
31
43
|
def rename
|
32
44
|
new_file = if (!File.directory? source_data) && (File.exist? source_data)
|
33
45
|
open_xml_file
|
34
46
|
query_xml_file
|
47
|
+
convert_case
|
35
48
|
export_xml_file
|
36
49
|
end
|
37
50
|
|
@@ -40,7 +53,7 @@ class XMLFileRenamer
|
|
40
53
|
Dir.chdir(source_data) do
|
41
54
|
all_regular_files_in_directory = Dir.glob('*.*')
|
42
55
|
all_regular_files_in_directory.each do |file_name|
|
43
|
-
xml_file_renamer = XMLFileRenamer.new(file_name, css_selector)
|
56
|
+
xml_file_renamer = XMLFileRenamer.new(file_name, css_selector, case_option)
|
44
57
|
new_files << xml_file_renamer.rename
|
45
58
|
end
|
46
59
|
end
|
@@ -73,9 +86,21 @@ class XMLFileRenamer
|
|
73
86
|
|
74
87
|
def query_xml_file
|
75
88
|
xml_query_by_css = xml_document.css(css_selector)
|
76
|
-
|
77
89
|
@new_file_name = xml_query_by_css.text.strip
|
78
|
-
|
90
|
+
end
|
91
|
+
|
92
|
+
def convert_case
|
93
|
+
@new_file_name = if case_option == 'lower_case'
|
94
|
+
@new_file_name.downcase
|
95
|
+
elsif case_option == 'upper_case'
|
96
|
+
@new_file_name.upcase
|
97
|
+
elsif case_option == 'title_case'
|
98
|
+
@new_file_name.titlecase
|
99
|
+
elsif case_option == 'camel_case'
|
100
|
+
@new_file_name.split.join.camelcase
|
101
|
+
elsif case_option == 'snake_case'
|
102
|
+
@new_file_name.titleize.split.join.underscore
|
103
|
+
end
|
79
104
|
end
|
80
105
|
|
81
106
|
#This method should be split into making a directory and exporting a file
|