Class: Kennel::Models::Project

Inherits:
Base
  • Object
show all
Defined in:
lib/kennel/models/project.rb

Constant Summary

Constants inherited from Base

Base::SETTING_OVERRIDABLE_METHODS

Constants included from SettingsAsMethods

SettingsAsMethods::AS_PROCS, SettingsAsMethods::SETTING_OVERRIDABLE_METHODS

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Base

#kennel_id, #name, #to_json

Methods included from SubclassTracking

#recursive_subclasses, #subclasses

Methods included from SettingsAsMethods

included, #initialize, #raise_with_location

Class Method Details

.file_locationObject


11
12
13
14
15
16
17
18
# File 'lib/kennel/models/project.rb', line 11

def self.file_location
  return @file_location if defined?(@file_location)
  if (location = instance_methods(false).first)
    @file_location = instance_method(location).source_location.first.sub("#{Bundler.root}/", "")
  else
    @file_location = nil
  end
end

Instance Method Details

#validated_partsObject


20
21
22
23
24
25
26
27
28
# File 'lib/kennel/models/project.rb', line 20

def validated_parts
  all = parts
  unless all.is_a?(Array) && all.all? { |part| part.is_a?(Record) }
    raise "Project #{kennel_id} #parts must return an array of Records"
  end

  validate_parts(all)
  all
end