Class: Staticz::Sub
- Inherits:
-
Object
- Object
- Staticz::Sub
- Defined in:
- lib/manifest/sub.rb
Instance Attribute Summary collapse
-
#elements ⇒ Object
readonly
Returns the value of attribute elements.
-
#name ⇒ Object
readonly
Returns the value of attribute name.
Instance Method Summary collapse
- #build(listener_class: nil) ⇒ Object
- #coffee(name, &block) ⇒ Object
- #create_link_function ⇒ Object
- #css_bundle(name, &block) ⇒ Object
- #file(name, &block) ⇒ Object
- #haml(name, &block) ⇒ Object
-
#initialize(name) ⇒ Sub
constructor
A new instance of Sub.
- #js(name, &block) ⇒ Object
- #js_bundle(name, &block) ⇒ Object
- #path ⇒ Object
- #print(indentation, *args) ⇒ Object
- #react(name, &block) ⇒ Object
- #sass(name, &block) ⇒ Object
- #scss(name, &block) ⇒ Object
- #slim(name, &block) ⇒ Object
- #sub(name, &block) ⇒ Object
- #valid? ⇒ Boolean
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
#elements ⇒ Object (readonly)
Returns the value of attribute elements.
3 4 5 |
# File 'lib/manifest/sub.rb', line 3 def elements @elements end |
#name ⇒ Object (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 |
#create_link_function ⇒ Object
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 |
#path ⇒ Object
89 90 91 |
# File 'lib/manifest/sub.rb', line 89 def path "src/#{name}" end |
#print(indentation, *args) ⇒ Object
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
76 77 78 79 80 |
# File 'lib/manifest/sub.rb', line 76 def valid? elements.map do |e| e.valid? end end |