Module: Flydata::Helpers
- Included in:
- ApiClient, Cli, Command::Sync, Command::Version, Credentials
- Defined in:
- lib/flydata/helpers.rb
Constant Summary collapse
- UNIT_PREFIX =
%W(TB GB MB KB B).freeze
- @@development_mode =
nil
Class Method Summary collapse
- .as_size(s) ⇒ Object
- .development? ⇒ Boolean
- .env_mode ⇒ Object
- .env_suffix ⇒ Object
- .flydata_api_host_file ⇒ Object
- .flydata_conf_file ⇒ Object
- .flydata_version ⇒ Object
-
.format_menu_list(menu_list) ⇒ Object
format text.
-
.retry_on(exception = StandardError, try_count = 3, interval = 1.0) ⇒ Object
Retry the given block if
exception
happens. - .to_command_class(class_name) ⇒ Object
- .usage_text ⇒ Object
Class Method Details
.as_size(s) ⇒ Object
90 91 92 93 94 95 96 97 98 |
# File 'lib/flydata/helpers.rb', line 90 def as_size( s ) s = s.to_f i = UNIT_PREFIX.length - 1 while s > 512 && i > 0 s /= 1024 i -= 1 end ((s > 9 || s.modulo(1) < 0.1 ? '%d' : '%.1f') % s) + ' ' + UNIT_PREFIX[i] end |
.development? ⇒ Boolean
35 36 37 38 |
# File 'lib/flydata/helpers.rb', line 35 def development? return @@development_mode unless @@development_mode.nil? @@development_mode = !!(File.open(flydata_conf_file).first.strip.end_with?('dev')) end |
.env_mode ⇒ Object
40 41 42 |
# File 'lib/flydata/helpers.rb', line 40 def env_mode development? ? 'dev' : '' end |
.env_suffix ⇒ Object
44 45 46 |
# File 'lib/flydata/helpers.rb', line 44 def env_suffix development? ? '_dev' : '' end |
.flydata_api_host_file ⇒ Object
64 65 66 |
# File 'lib/flydata/helpers.rb', line 64 def flydata_api_host_file File.join(FLYDATA_HOME, 'flydata_api_host') end |
.flydata_conf_file ⇒ Object
68 69 70 |
# File 'lib/flydata/helpers.rb', line 68 def flydata_conf_file File.join(FLYDATA_HOME, 'flydata.conf') end |
.flydata_version ⇒ Object
27 28 29 |
# File 'lib/flydata/helpers.rb', line 27 def flydata_version IO.read(VERSION_PATH).strip end |
.format_menu_list(menu_list) ⇒ Object
format text
49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/flydata/helpers.rb', line 49 def () max_length_list = .inject(Array.new(.first.size, 0)) do |ml, | 0.upto(.size - 1) do |i| ml[i] = [i].length if ml[i] < [i].length end ml end = .collect do || 0.upto(.size - 1).inject("") do |str, i| str = "#{str}#{[i].ljust(max_length_list[i] + 1, ' ')}" end end end |
.retry_on(exception = StandardError, try_count = 3, interval = 1.0) ⇒ Object
Retry the given block if exception
happens
73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 |
# File 'lib/flydata/helpers.rb', line 73 def retry_on(exception = StandardError, try_count = 3, interval = 1.0) count = 0 begin count += 1 yield rescue exception if count < try_count sleep interval interval *= 2 retry else raise end end end |
.to_command_class(class_name) ⇒ Object
31 32 33 |
# File 'lib/flydata/helpers.rb', line 31 def to_command_class(class_name) eval("Flydata::Command::#{class_name.camelcase}") end |
.usage_text ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/flydata/helpers.rb', line 5 def usage_text text = "" text += '-' * 64 text += "\n" text += <<-EOM Usage: flydata COMMAND start # start flydata process stop # stop flydata process restart # restart flydata process status # check flydata process version # show flydata version sync:generate_table_ddl # Generate CREATE TABLE script for Redshift sync:reset [tables] # reset sync and stop flydata process sync:flush # flush your current buffer and stop flydata process EOM text += "\n" text += '-' * 64 text += "\n" text end |