Module: Stratus::Resources

Defined in:
lib/stratus/resources.rb,
lib/stratus/resources/base.rb,
lib/stratus/resources/layout.rb,
lib/stratus/resources/content.rb,
lib/stratus/resources/hash_db.rb,
lib/stratus/resources/template.rb,
lib/stratus/resources/attachment.rb

Defined Under Namespace

Classes: Attachment, Base, Content, HashDB, Layout, Template

Class Method Summary collapse

Class Method Details

.allObject



5
6
7
# File 'lib/stratus/resources.rb', line 5

def all
  @all ||= HashDB.new
end

.attachments(*args) ⇒ Object

Only content attachments



36
37
38
39
# File 'lib/stratus/resources.rb', line 36

def attachments(*args)
  filter = args.extract_options!.merge! :content_type=>:attachment
  all.find((args.first || :all), filter)
end

.clearObject



63
64
65
# File 'lib/stratus/resources.rb', line 63

def clear
  all.clear
end

.collection_typesObject



25
26
27
# File 'lib/stratus/resources.rb', line 25

def collection_types
  @collecton_types ||= []
end

.content(*args) ⇒ Object

Only content objects



30
31
32
33
# File 'lib/stratus/resources.rb', line 30

def content(*args)
  filter = args.extract_options!.merge! :content_type=>:content
  all.find((args.first || :all), filter)
end

.homepageObject



21
22
23
# File 'lib/stratus/resources.rb', line 21

def homepage
  @all.find(:first, :is_homepage=>true)
end

.layouts(*args) ⇒ Object

Only templates



58
59
60
61
# File 'lib/stratus/resources.rb', line 58

def layouts(*args)
  filter = args.extract_options!.merge! :content_type=>:layout
  all.find((args.first || :all), filter)
end

.pages(*args) ⇒ Object



46
47
48
49
# File 'lib/stratus/resources.rb', line 46

def pages(*args)
  filter = args.extract_options!.merge! :collection_type=>'pages', :content_type=>:content
  all.find((args.first || :all), filter)
end

.posts(*args) ⇒ Object



41
42
43
44
# File 'lib/stratus/resources.rb', line 41

def posts(*args)
  filter = args.extract_options!.merge! :collection_type=>'posts', :content_type=>:content
  all.find((args.first || :all), filter)
end

.register_content(content) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
# File 'lib/stratus/resources.rb', line 9

def register_content(content)
  content.fixup_meta
  validates, msg = content.validate!
  if validates
    collection_types << content.collection_type unless collection_types.include?( content.collection_type ) or content.content_type != :content
    all << content
  else
    msg ||= "Failed validation..."
    puts " * Skipping '#{content.content_path}': #{msg}"
  end
end

.templates(*args) ⇒ Object

Only templates



52
53
54
55
# File 'lib/stratus/resources.rb', line 52

def templates(*args)
  filter = args.extract_options!.merge! :content_type=>:template
  all.find((args.first || :all), filter)
end