Module: LucidComponent::StoreAPI

Defined in:
lib/lucid_component/store_api.rb

Class Method Summary collapse

Class Method Details

.included(base) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/lucid_component/store_api.rb', line 3

def self.included(base)
  base.instance_exec do
    attr_accessor :app_store
    attr_accessor :class_store
    attr_accessor :store

    def default_app_store_defined
      @default_app_store_defined
    end

    def default_class_store_defined
      @default_class_store_defined
    end

    def default_instance_store_defined
      @default_instance_store_defined
    end

    def app_store
      @default_app_store_defined = true
      @default_app_store ||= ::LucidComponent::AppStoreDefaults.new(state, self.to_s)
    end

    def class_store
      @default_class_store_defined = true
      @default_class_store ||= ::LucidComponent::ComponentClassStoreDefaults.new(state, self.to_s)
    end

    def store
      @default_instance_store_defined = true
      @default_instance_store ||= ::LucidComponent::ComponentInstanceStoreDefaults.new(state, self.to_s)
    end
  end
end