Class: Staticz::Sub

Inherits:
Object
  • Object
show all
Defined in:
lib/manifest/sub.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name) ⇒ Sub

Returns a new instance of Sub.



5
6
7
8
# File 'lib/manifest/sub.rb', line 5

def initialize(name)
  @name = name
  @elements = []
end

Instance Attribute Details

#elementsObject (readonly)

Returns the value of attribute elements.



3
4
5
# File 'lib/manifest/sub.rb', line 3

def elements
  @elements
end

#nameObject (readonly)

Returns the value of attribute name.



3
4
5
# File 'lib/manifest/sub.rb', line 3

def name
  @name
end

Instance Method Details

#build(listener_class: nil) ⇒ Object



62
63
64
65
66
67
68
# File 'lib/manifest/sub.rb', line 62

def build(listener_class: nil)
  Dir.mkdir("build/#{name}") if !Dir.exist?("build/#{name}")

  elements.each do |e|
    e.build(listener_class: listener_class)
  end
end

#coffee(name, &block) ⇒ Object



36
37
38
# File 'lib/manifest/sub.rb', line 36

def coffee(name, &block)
  elements.push(Staticz::Compilable::Cs.new("#{@name}/#{name}"))
end


70
71
72
73
74
# File 'lib/manifest/sub.rb', line 70

def create_link_function
  elements.each do |e|
    e.create_link_function
  end
end

#css_bundle(name, &block) ⇒ Object



55
56
57
58
59
60
# File 'lib/manifest/sub.rb', line 55

def css_bundle(name, &block)
  s = Staticz::CSSBundle.new("#{@name}/#{name}", @name)
  elements.push(s)

  s.instance_eval(&block)
end

#file(name, &block) ⇒ Object



44
45
46
# File 'lib/manifest/sub.rb', line 44

def file(name, &block)
  elements.push(Staticz::Compilable::SimpleFile.new("#{@name}/#{name}"))
end

#haml(name, &block) ⇒ Object



16
17
18
# File 'lib/manifest/sub.rb', line 16

def haml(name, &block)
  elements.push(Staticz::Compilable::Haml.new("#{@name}/#{name}"))
end

#js(name, &block) ⇒ Object



32
33
34
# File 'lib/manifest/sub.rb', line 32

def js(name, &block)
  elements.push(Staticz::Compilable::Js.new("#{@name}/#{name}"))
end

#js_bundle(name, &block) ⇒ Object



48
49
50
51
52
53
# File 'lib/manifest/sub.rb', line 48

def js_bundle(name, &block)
  s = Staticz::JSBundle.new("#{@name}/#{name}", @name)
  elements.push(s)

  s.instance_eval(&block)
end

#pathObject



89
90
91
# File 'lib/manifest/sub.rb', line 89

def path
  "src/#{name}"
end


82
83
84
85
86
87
# File 'lib/manifest/sub.rb', line 82

def print(indentation, *args)
  puts "#{" " * (indentation * 3)}└─ Sub: #{name}"
  elements.each do |e|
    e.print(indentation + 1, *args)
  end
end

#react(name, &block) ⇒ Object



40
41
42
# File 'lib/manifest/sub.rb', line 40

def react(name, &block)
  elements.push(Staticz::Compilable::React.new("#{@name}/#{name}"))
end

#sass(name, &block) ⇒ Object



24
25
26
# File 'lib/manifest/sub.rb', line 24

def sass(name, &block)
  elements.push(Staticz::Compilable::Scss.new("#{@name}/#{name}", type: :sass))
end

#scss(name, &block) ⇒ Object



28
29
30
# File 'lib/manifest/sub.rb', line 28

def scss(name, &block)
  elements.push(Staticz::Compilable::Scss.new("#{@name}/#{name}", type: :scss))
end

#slim(name, &block) ⇒ Object



20
21
22
# File 'lib/manifest/sub.rb', line 20

def slim(name, &block)
  elements.push(Staticz::Compilable::Slim.new("#{@name}/#{name}"))
end

#sub(name, &block) ⇒ Object



10
11
12
13
14
# File 'lib/manifest/sub.rb', line 10

def sub(name, &block)
  s = Staticz::Sub.new("#{@name}/#{name}")
  elements.push(s)
  s.instance_eval(&block) if block_given?
end

#valid?Boolean

Returns:

  • (Boolean)


76
77
78
79
80
# File 'lib/manifest/sub.rb', line 76

def valid?
  elements.map do |e|
    e.valid?
  end
end