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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 806a10da0fa32202c5c40b373f901c2895b6c726
4
- data.tar.gz: 9b5c06366f28517e8c4ce88d904f642e4be43bd7
3
+ metadata.gz: abc8f48c224700cfbbc57548842dcead6441c9e6
4
+ data.tar.gz: 008f6de205746b8787b7c3d95b1c291b26e8fe97
5
5
  SHA512:
6
- metadata.gz: b1edb154f8da4a36d86b1ae13dde99e129c3aa98d4c7f5b723793834363a54aadd2c4ead0ffeb6eae9e2157ebf910f36aa07daf446d5d2e20c3148a7edfddc6d
7
- data.tar.gz: c591cdf1dc7663b092667c26c24e2a953c8fc0df1a3ab6affc175ce690f17c3f31b160244eda33e3027728cb07edf6a0bb33b12709ae59d783935e735926e506
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.3/example_xml_files ~/Documents/example_xml_files
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
@@ -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, :xml_document,
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
- puts '**** New File Name: ' + new_file_name
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
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xml_file_renamer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Taylor