Class: ImageSite::Model

Inherits:
Object
  • Object
show all
Defined in:
lib/image_site/model.rb

Direct Known Subclasses

Image, Index

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(number, options) ⇒ Model

Returns a new instance of Model.



12
13
14
15
# File 'lib/image_site/model.rb', line 12

def initialize(number, options)
  @number = number
  @options = options
end

Instance Attribute Details

#numberObject (readonly)

Returns the value of attribute number.



5
6
7
# File 'lib/image_site/model.rb', line 5

def number
  @number
end

Class Method Details

.templateObject



7
8
9
10
# File 'lib/image_site/model.rb', line 7

def self.template
  @template ||= IO.read File.expand_path(
    "#{File.dirname __FILE__}/../../template/#{template_name}")
end

Instance Method Details

#make_subdir(subdir) ⇒ Object



17
18
19
# File 'lib/image_site/model.rb', line 17

def make_subdir(subdir)
  FileUtils.mkdir_p "#{@options.output_dir}/#{subdir}"
end

#write_html(bindings) ⇒ Object



21
22
23
24
25
26
# File 'lib/image_site/model.rb', line 21

def write_html(bindings)
  make_subdir File.dirname(relative_html)
  bindings = { options: @options }.merge bindings
  page = Erubis::Eruby.new(self.class.template).result(bindings)
  IO.write "#{@options.output_dir}/#{relative_html}", page
end