Class: AppStack::CompareFile
- Inherits:
-
Object
- Object
- AppStack::CompareFile
- Defined in:
- lib/app_stack/compare_list.rb
Overview
items as copy list candidate
Instance Attribute Summary collapse
-
#diff ⇒ Object
Returns the value of attribute diff.
-
#from_app ⇒ Object
Returns the value of attribute from_app.
-
#from_file ⇒ Object
Returns the value of attribute from_file.
-
#import ⇒ Object
Returns the value of attribute import.
-
#render ⇒ Object
Returns the value of attribute render.
-
#to_app ⇒ Object
Returns the value of attribute to_app.
-
#to_file ⇒ Object
Returns the value of attribute to_file.
Instance Method Summary collapse
- #diff? ⇒ Boolean
- #from_file_short_name ⇒ Object
- #import? ⇒ Boolean
-
#initialize(opts) ⇒ CompareFile
constructor
A new instance of CompareFile.
- #label ⇒ Object
- #local_new? ⇒ Boolean
- #operation ⇒ Object
- #process ⇒ Object
- #remote_new? ⇒ Boolean
- #render? ⇒ Boolean
- #skip(msg) ⇒ Object
- #sync? ⇒ Boolean
- #to_file_short_name ⇒ Object
Constructor Details
#initialize(opts) ⇒ CompareFile
Returns a new instance of CompareFile.
8 9 10 11 |
# File 'lib/app_stack/compare_list.rb', line 8 def initialize(opts) opts.each { |k, v| send("#{k}=".to_sym, v) } @to_file ||= to_app.get_file_path(from_file_short_name) end |
Instance Attribute Details
#diff ⇒ Object
Returns the value of attribute diff.
6 7 8 |
# File 'lib/app_stack/compare_list.rb', line 6 def diff @diff end |
#from_app ⇒ Object
Returns the value of attribute from_app.
6 7 8 |
# File 'lib/app_stack/compare_list.rb', line 6 def from_app @from_app end |
#from_file ⇒ Object
Returns the value of attribute from_file.
6 7 8 |
# File 'lib/app_stack/compare_list.rb', line 6 def from_file @from_file end |
#import ⇒ Object
Returns the value of attribute import.
6 7 8 |
# File 'lib/app_stack/compare_list.rb', line 6 def import @import end |
#render ⇒ Object
Returns the value of attribute render.
6 7 8 |
# File 'lib/app_stack/compare_list.rb', line 6 def render @render end |
#to_app ⇒ Object
Returns the value of attribute to_app.
6 7 8 |
# File 'lib/app_stack/compare_list.rb', line 6 def to_app @to_app end |
#to_file ⇒ Object
Returns the value of attribute to_file.
6 7 8 |
# File 'lib/app_stack/compare_list.rb', line 6 def to_file @to_file end |
Instance Method Details
#diff? ⇒ Boolean
30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/app_stack/compare_list.rb', line 30 def diff? return true unless File.exists?(to_file) c_file = from_file if render? c_file = Tempfile.new(File.basename(from_file)).path render! c_file end @diff ||= Diffy::Diff.new(to_file, c_file, source: 'files') @diff && @diff.to_s.chomp.size > 0 ? true : false end |
#from_file_short_name ⇒ Object
51 52 53 |
# File 'lib/app_stack/compare_list.rb', line 51 def from_file_short_name from_file.sub(/^#{from_app.directory}\//, '') end |
#import? ⇒ Boolean
17 18 19 |
# File 'lib/app_stack/compare_list.rb', line 17 def import? import ? true : false end |
#label ⇒ Object
59 60 61 62 |
# File 'lib/app_stack/compare_list.rb', line 59 def label "#{operation} #{from_file_short_name.blue} from " + "#{from_app.app_name.bold} as #{to_file_short_name.blue}" end |
#local_new? ⇒ Boolean
42 43 44 |
# File 'lib/app_stack/compare_list.rb', line 42 def local_new? File.exists?(to_file) && File.mtime(to_file) > File.mtime(from_file) end |
#operation ⇒ Object
25 26 27 28 |
# File 'lib/app_stack/compare_list.rb', line 25 def operation return 'render' if render? import? ? 'import' : 'sync' end |
#process ⇒ Object
69 70 71 |
# File 'lib/app_stack/compare_list.rb', line 69 def process render? ? render! : copy! end |
#remote_new? ⇒ Boolean
46 47 48 49 |
# File 'lib/app_stack/compare_list.rb', line 46 def remote_new? return true unless File.exists?(to_file) File.mtime(from_file) > File.mtime(to_file) end |
#render? ⇒ Boolean
13 14 15 |
# File 'lib/app_stack/compare_list.rb', line 13 def render? render ? true : false end |
#skip(msg) ⇒ Object
64 65 66 67 |
# File 'lib/app_stack/compare_list.rb', line 64 def skip(msg) "Skip #{operation} ".white + from_file_short_name.blue + ' from '.white + from_app.app_name.bold + ': ' + msg end |
#sync? ⇒ Boolean
21 22 23 |
# File 'lib/app_stack/compare_list.rb', line 21 def sync? import ? false : true end |
#to_file_short_name ⇒ Object
55 56 57 |
# File 'lib/app_stack/compare_list.rb', line 55 def to_file_short_name to_file.sub(/^#{to_app.directory}\//, '') end |