Class: Mortar::Project::Project

Inherits:
Object
  • Object
show all
Defined in:
lib/mortar/project.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, root_path, remote) ⇒ Project

Returns a new instance of Project.



33
34
35
36
37
# File 'lib/mortar/project.rb', line 33

def initialize(name, root_path, remote)
  @name = name
  @root_path = root_path
  @remote = remote
end

Instance Attribute Details

#nameObject

Returns the value of attribute name.



29
30
31
# File 'lib/mortar/project.rb', line 29

def name
  @name
end

#remoteObject

Returns the value of attribute remote.



30
31
32
# File 'lib/mortar/project.rb', line 30

def remote
  @remote
end

#root_pathObject

Returns the value of attribute root_path.



31
32
33
# File 'lib/mortar/project.rb', line 31

def root_path
  @root_path
end

Class Method Details

.required_directoriesObject



25
26
27
# File 'lib/mortar/project.rb', line 25

def self.required_directories
  ["macros", "pigscripts", "udfs"]
end

Instance Method Details

#controlscriptsObject



66
67
68
69
70
71
72
73
# File 'lib/mortar/project.rb', line 66

def controlscripts
  @controlscripts ||= ControlScripts.new(
    controlscripts_path,
    "controlscripts",
    ".py",
    :optional => true)
  @controlscripts
end

#controlscripts_pathObject



62
63
64
# File 'lib/mortar/project.rb', line 62

def controlscripts_path
  File.join(@root_path, "controlscripts")
end

#embedded_project?Boolean

Returns:

  • (Boolean)


113
114
115
# File 'lib/mortar/project.rb', line 113

def embedded_project?()
  File.exists?(File.join(@root_path, ".mortar-project-remote"))
end

#luigiscriptsObject



79
80
81
82
83
84
85
86
# File 'lib/mortar/project.rb', line 79

def luigiscripts
  @luigiscripts ||= LuigiScripts.new(
    luigiscripts_path,
    "luigiscripts",
    ".py",
    :optional => true)
  @luigiscripts
end

#luigiscripts_pathObject



75
76
77
# File 'lib/mortar/project.rb', line 75

def luigiscripts_path
  File.join(@root_path, "luigiscripts")
end

#pigscriptsObject



54
55
56
57
58
59
60
# File 'lib/mortar/project.rb', line 54

def pigscripts
  @pigscripts ||= PigScripts.new(
    pigscripts_path,
    "pigscripts",
    ".pig")
  @pigscripts
end

#pigscripts_pathObject



50
51
52
# File 'lib/mortar/project.rb', line 50

def pigscripts_path
  File.join(@root_path, "pigscripts")
end

#python_udfsObject



43
44
45
46
47
48
# File 'lib/mortar/project.rb', line 43

def python_udfs
  @python_udfs ||= PythonUDFs.new(
    python_udfs_path,
    "python",
    ".py")
end

#python_udfs_pathObject



39
40
41
# File 'lib/mortar/project.rb', line 39

def python_udfs_path
  File.join(@root_path, "udfs/python")
end

#sparkjobs_pathObject



88
89
90
# File 'lib/mortar/project.rb', line 88

def sparkjobs_path
  File.join(@root_path, "src/main/scala")
end

#sparkscriptsObject



96
97
98
99
100
101
102
103
# File 'lib/mortar/project.rb', line 96

def sparkscripts
  @sparkscripts ||= SparkScripts.new(
    sparkscripts_path,
    "sparkscripts",
    "",
    :optional => true)
  @sparkscripts
end

#sparkscripts_pathObject



92
93
94
# File 'lib/mortar/project.rb', line 92

def sparkscripts_path
  File.join(@root_path, "sparkscripts")
end

#tmp_pathObject



105
106
107
108
109
110
111
# File 'lib/mortar/project.rb', line 105

def tmp_path
  path = File.join(@root_path, "tmp")
  unless File.directory? path
    FileUtils.mkdir_p path
  end
  path
end