Class: AppStack::CompareFile

Inherits:
Object
  • Object
show all
Defined in:
lib/app_stack/compare_list.rb

Overview

items as copy list candidate

Instance Attribute Summary collapse

Instance Method Summary collapse

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

#diffObject

Returns the value of attribute diff.



6
7
8
# File 'lib/app_stack/compare_list.rb', line 6

def diff
  @diff
end

#from_appObject

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_fileObject

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

#importObject

Returns the value of attribute import.



6
7
8
# File 'lib/app_stack/compare_list.rb', line 6

def import
  @import
end

#renderObject

Returns the value of attribute render.



6
7
8
# File 'lib/app_stack/compare_list.rb', line 6

def render
  @render
end

#to_appObject

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_fileObject

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

Returns:

  • (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_nameObject



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

Returns:

  • (Boolean)


17
18
19
# File 'lib/app_stack/compare_list.rb', line 17

def import?
  import ? true : false
end

#labelObject



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

Returns:

  • (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

#operationObject



25
26
27
28
# File 'lib/app_stack/compare_list.rb', line 25

def operation
  return 'render' if render?
  import? ? 'import' : 'sync'
end

#processObject



69
70
71
# File 'lib/app_stack/compare_list.rb', line 69

def process
  render? ? render! : copy!
end

#remote_new?Boolean

Returns:

  • (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

Returns:

  • (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

Returns:

  • (Boolean)


21
22
23
# File 'lib/app_stack/compare_list.rb', line 21

def sync?
  import ? false : true
end

#to_file_short_nameObject



55
56
57
# File 'lib/app_stack/compare_list.rb', line 55

def to_file_short_name
  to_file.sub(/^#{to_app.directory}\//, '')
end