phrase 0.3.5 → 0.3.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -9,7 +9,7 @@ class Phrase::Tool::Commands::Push < Phrase::Tool::Commands::Base
9
9
  super(options, args)
10
10
  require_auth_token!
11
11
 
12
- @file_name = @args[1]
12
+ @file_names = @args[1..-1]
13
13
  @locale = @options.get(:locale)
14
14
  @tags = @options.get(:tags)
15
15
  @recursive = @options.get(:recursive)
@@ -21,7 +21,8 @@ class Phrase::Tool::Commands::Push < Phrase::Tool::Commands::Base
21
21
  exit_command
22
22
  end
23
23
 
24
- files = choose_files_to_upload
24
+ files = choose_files_to_upload(@file_names, @recursive)
25
+
25
26
  if files.empty?
26
27
  print_message "Could not find any files to upload".light_red
27
28
  exit_command
@@ -31,10 +32,12 @@ class Phrase::Tool::Commands::Push < Phrase::Tool::Commands::Base
31
32
  end
32
33
 
33
34
  private
34
- def choose_files_to_upload
35
- if @file_name.blank?
35
+ def choose_files_to_upload(file_names, recursive=false)
36
+ files = []
37
+
38
+ if file_names.empty?
36
39
  if rails_default_locale_folder_available?
37
- @file_name = RAILS_DEFAULT_FOLDER
40
+ file_names = [RAILS_DEFAULT_FOLDER]
38
41
  print_message "No file or directory specified, using #{RAILS_DEFAULT_FOLDER}"
39
42
  else
40
43
  print_error "Need either a file or directory:"
@@ -43,37 +46,31 @@ private
43
46
  exit_command
44
47
  end
45
48
  end
49
+
50
+ file_names.each do |file_name|
51
+ if File.directory?(file_name)
52
+ pattern = recursive ? "#{File.expand_path(file_name)}/**/*" : "#{File.expand_path(file_name)}/**"
53
+ files += Dir.glob(pattern)
54
+ else
55
+ files << file_name
56
+ end
57
+ end
46
58
 
47
- unless File.exist?(@file_name)
48
- print_error "The file #{@file_name} could not be found."
49
- exit_command
50
- end
51
-
52
- if File.directory?(@file_name)
53
- pattern = @recursive ? "#{File.expand_path(@file_name)}/**/*" : "#{File.expand_path(@file_name)}/**"
54
- files = Dir.glob(pattern)
55
- else
56
- files = [@file_name]
57
- end
59
+ files
58
60
  end
59
61
 
60
62
  def upload_files(files)
61
- files.each { |file| upload_file(file) }
63
+ files.each do |file|
64
+ if file_exists?(file)
65
+ upload_file(file)
66
+ else
67
+ print_error "The file #{file} could not be found."
68
+ end
69
+ end
62
70
  end
63
71
 
64
72
  def upload_file(file)
65
- valid = true
66
-
67
- if File.directory?(file)
68
- valid = false
69
- else
70
- unless file_valid?(file)
71
- valid = false
72
- print_error "Notice: Could not upload #{file} (type not supported)"
73
- end
74
- end
75
-
76
- if valid
73
+ if file_valid?(file)
77
74
  begin
78
75
  tagged = " (tagged: #{@tags.join(", ")})" if @tags.size > 0
79
76
  print_message "Uploading #{file}#{tagged}..."
@@ -89,6 +86,8 @@ private
89
86
  print_error "Failed"
90
87
  print_server_error(e.message)
91
88
  end
89
+ else
90
+ print_error "Notice: Could not upload #{file} (type not supported)"
92
91
  end
93
92
  end
94
93
 
@@ -114,6 +113,10 @@ private
114
113
  extension = filepath.split('.').last
115
114
  ALLOWED_FILE_TYPES.include?(extension)
116
115
  end
116
+
117
+ def file_exists?(file)
118
+ File.exist?(file)
119
+ end
117
120
 
118
121
  def valid_tags_are_given?(tags)
119
122
  tags.all? { |tag| Phrase::Tool::TagValidator.valid?(tag) }
@@ -1,3 +1,3 @@
1
1
  module Phrase
2
- VERSION = "0.3.5"
2
+ VERSION = "0.3.6"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: phrase
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.5
4
+ version: 0.3.6
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: