Module: Smooth::MetaData

Defined in:
lib/smooth/meta_data.rb,
lib/smooth/meta_data/inspector.rb,
lib/smooth/meta_data/application.rb

Defined Under Namespace

Classes: Application, Inspector

Class Method Summary collapse

Class Method Details

.[](resource_name) ⇒ Object



28
29
30
# File 'lib/smooth/meta_data.rb', line 28

def self.[] resource_name
  resource_settings[resource_name]
end

.available_resourcesObject



24
25
26
# File 'lib/smooth/meta_data.rb', line 24

def self.available_resources
  resource_settings.keys
end

.register_resource(resource, options = {}) ⇒ Object



9
10
11
12
13
14
# File 'lib/smooth/meta_data.rb', line 9

def self.register_resource(resource, options={})
  resource = resource.to_s.camelize.constantize if resource.is_a?(String) or resource.is_a?(Symbol)
  resource_settings[resource.to_s] = Inspector.new(resource)

  resource.to_s
end

.resource_settingsObject



5
6
7
# File 'lib/smooth/meta_data.rb', line 5

def self.resource_settings
  @resource_settings ||= {}
end

.resourcesObject



16
17
18
19
20
21
22
# File 'lib/smooth/meta_data.rb', line 16

def self.resources
  resource_settings.inject({}) do |memo,pair|
    resource_name, inspector = pair
    memo[resource_name] = inspector.as_json
    memo
  end
end