Class: Drift::BlogPostBase

Inherits:
StaticModel show all
Defined in:
app/models/drift/blog_post_base.rb

Direct Known Subclasses

BlogPost

Class Attribute Summary collapse

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from StaticModel

all, all_files, find_by_file

Constructor Details

#initialize(args) ⇒ BlogPostBase

Returns a new instance of BlogPostBase.



35
36
37
38
# File 'app/models/drift/blog_post_base.rb', line 35

def initialize(args)
  super
  set_attributes_from_filename args[:file]
end

Class Attribute Details

.markup_extObject

Returns the value of attribute markup_ext.



4
5
6
# File 'app/models/drift/blog_post_base.rb', line 4

def markup_ext
  @markup_ext
end

Instance Attribute Details

#authorObject

Returns the value of attribute author.



33
34
35
# File 'app/models/drift/blog_post_base.rb', line 33

def author
  @author
end

#contentObject

Returns the value of attribute content.



33
34
35
# File 'app/models/drift/blog_post_base.rb', line 33

def content
  @content
end

#created_atObject

Returns the value of attribute created_at.



33
34
35
# File 'app/models/drift/blog_post_base.rb', line 33

def created_at
  @created_at
end

#slugObject

Returns the value of attribute slug.



33
34
35
# File 'app/models/drift/blog_post_base.rb', line 33

def slug
  @slug
end

#titleObject

Returns the value of attribute title.



33
34
35
# File 'app/models/drift/blog_post_base.rb', line 33

def title
  @title
end

#versionObject

Returns the value of attribute version.



33
34
35
# File 'app/models/drift/blog_post_base.rb', line 33

def version
  @version
end

Class Method Details

.find_by_slug(slug) ⇒ Object



14
15
16
17
18
19
20
# File 'app/models/drift/blog_post_base.rb', line 14

def find_by_slug(slug)
  file = all_files.detect do |f|
    slug == parse_slug_from_filename(f)
  end

  find_by_file(file)
end

.parse_datetime_from_filename(filename) ⇒ Object



22
23
24
25
26
# File 'app/models/drift/blog_post_base.rb', line 22

def parse_datetime_from_filename(filename)
  date = filename.split(/[_|\.]/)[0]
  time = filename.split(/[_|\.]/)[1]
  DateTime.parse "#{date} #{time[0..1]}:#{time[2..3]}:#{time[4..5]}"
end

.parse_slug_from_filename(filename) ⇒ Object



28
29
30
# File 'app/models/drift/blog_post_base.rb', line 28

def parse_slug_from_filename(filename)
  filename.split(/[_|\.]/)[2]
end

.sourceObject



6
7
8
# File 'app/models/drift/blog_post_base.rb', line 6

def source
  @source || 'db/static/blog_posts'
end