Class: BubbleWrap::Requirement
- Inherits:
-
Object
- Object
- BubbleWrap::Requirement
show all
- Extended by:
- PathManipulation
- Includes:
- PathManipulation
- Defined in:
- lib/bubble-wrap/requirement.rb,
lib/bubble-wrap/requirement/path_manipulation.rb
Defined Under Namespace
Modules: PathManipulation
Class Attribute Summary (collapse)
Instance Attribute Summary (collapse)
Class Method Summary
(collapse)
Instance Method Summary
(collapse)
convert_caller_to_path, convert_caller_to_root_path, convert_to_absolute_path, convert_to_relative, strip_up_to_last_lib
Constructor Details
- (Requirement) initialize(file, root)
A new instance of Requirement
11
12
13
14
|
# File 'lib/bubble-wrap/requirement.rb', line 11
def initialize(file,root)
self.file = file
self.root = root
end
|
Class Attribute Details
+ (Object) paths
Returns the value of attribute paths
52
53
54
|
# File 'lib/bubble-wrap/requirement.rb', line 52
def paths
@paths
end
|
Instance Attribute Details
- (Object) file
Returns the value of attribute file
8
9
10
|
# File 'lib/bubble-wrap/requirement.rb', line 8
def file
@file
end
|
- (Object) file_dependencies
42
43
44
|
# File 'lib/bubble-wrap/requirement.rb', line 42
def file_dependencies
@file_dependencies ||= []
end
|
- (Object) root
Returns the value of attribute root
8
9
10
|
# File 'lib/bubble-wrap/requirement.rb', line 8
def root
@root
end
|
Class Method Details
+ (Object) file(relative)
64
65
66
|
# File 'lib/bubble-wrap/requirement.rb', line 64
def file(relative)
paths.fetch(relative)
end
|
+ (Object) files(app_files = nil)
68
69
70
71
72
|
# File 'lib/bubble-wrap/requirement.rb', line 68
def files(app_files=nil)
files = paths.values.map(&:to_s)
files += app_files if app_files
files.uniq
end
|
+ (Object) files_dependencies
74
75
76
77
78
79
80
|
# File 'lib/bubble-wrap/requirement.rb', line 74
def files_dependencies
deps = {}
paths.each_value do |file|
deps.merge! file.dependencies
end
deps
end
|
+ (Object) frameworks(app_frameworks = nil)
82
83
84
85
86
87
|
# File 'lib/bubble-wrap/requirement.rb', line 82
def frameworks(app_frameworks=nil)
frameworks = ['UIKit', 'Foundation', 'CoreGraphics'] +
paths.values.map(&:frameworks)
frameworks += app_frameworks if app_frameworks
frameworks.flatten.compact.sort.uniq
end
|
+ (Object) scan(caller_location, file_spec, &block)
54
55
56
57
58
59
60
61
62
|
# File 'lib/bubble-wrap/requirement.rb', line 54
def scan(caller_location, file_spec, &block)
root = convert_caller_to_root_path caller_location
self.paths ||= {}
Dir.glob(File.expand_path(file_spec, root)).each do |file|
p = new(file,root)
self.paths[p.relative] = p
end
self.class_eval(&block) if block
end
|
Instance Method Details
- (Object) dependencies
33
34
35
36
|
# File 'lib/bubble-wrap/requirement.rb', line 33
def dependencies
return {} if file_dependencies.empty?
{ file => file_dependencies.map(&:to_s) }
end
|
- (Object) depends_on(file_or_paths)
20
21
22
23
24
25
26
27
|
# File 'lib/bubble-wrap/requirement.rb', line 20
def depends_on(file_or_paths)
paths = file_or_paths.respond_to?(:each) ? file_or_paths : [ file_or_paths ]
self.file_dependencies += paths.map do |f|
f = self.class.file(f) unless f.is_a? Requirement
f unless f.file == file
end.compact
self.file_dependencies.uniq!(&:to_s)
end
|
- (Object) frameworks
46
47
48
|
# File 'lib/bubble-wrap/requirement.rb', line 46
def frameworks
@frameworks ||= []
end
|
- (Object) relative
16
17
18
|
# File 'lib/bubble-wrap/requirement.rb', line 16
def relative
convert_to_relative(file, root)
end
|
- (Object) to_s
38
39
40
|
# File 'lib/bubble-wrap/requirement.rb', line 38
def to_s
file
end
|
- (Object) uses_framework(framework_name)
29
30
31
|
# File 'lib/bubble-wrap/requirement.rb', line 29
def uses_framework(framework_name)
self.frameworks << framework_name
end
|