Class: Moxie::Application

Inherits:
Hashie::Trash
  • Object
show all
Extended by:
Finders
Includes:
Hashie::Extensions::IndifferentAccess
Defined in:
lib/moxie/application.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Finders

all, find, find_multiple, find_one, ids, key

Class Method Details

.create(options) ⇒ Object

Raises:



23
24
25
26
27
28
29
# File 'lib/moxie/application.rb', line 23

def self.create(options)
  application = new(options)
  raise Exists, "Application '#{application.name}' already exists" if exists?(application.name)
  Store.object("application:#{application.name}").save(application.to_hash)
  Store.set("applications").add(application.name)
  application
end

.delete(name) ⇒ Object



31
32
33
34
35
# File 'lib/moxie/application.rb', line 31

def self.delete(name)
  application = find(name)
  Store.object("application:#{application.name}").delete
  Store.set("applications").remove(application.name)
end

.exists?(id) ⇒ Boolean

Returns:

  • (Boolean)


37
38
39
# File 'lib/moxie/application.rb', line 37

def self.exists?(id)
  ids.include?(id)
end

Instance Method Details

#environment_idsObject



15
16
17
# File 'lib/moxie/application.rb', line 15

def environment_ids
  Store.set("application:#{id}:environments").to_a
end

#environmentsObject



19
20
21
# File 'lib/moxie/application.rb', line 19

def environments
  Environment.find(environment_ids)
end

#idObject



11
12
13
# File 'lib/moxie/application.rb', line 11

def id
  name
end