Class: SqlPager::Resolver

Inherits:
ActionView::Resolver
  • Object
show all
Defined in:
lib/sql_pager/resolver.rb

Constant Summary collapse

@@singleton__instances__ =

Provide only

{}
@@singleton__mutex__ =
Mutex.new

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.instance(model = SqlPager.model_name, filter = nil) ⇒ Object



7
8
9
10
11
12
13
14
15
# File 'lib/sql_pager/resolver.rb', line 7

def self.instance model = SqlPager.model_name, filter = nil
  singleton_name = normalize_singleton_name(model, filter)
  return @@singleton__instances__[singleton_name] if @@singleton__instances__[singleton_name]
  @@singleton__mutex__.synchronize {
    return @@singleton__instances__[singleton_name] if @@singleton__instances__[singleton_name]
    @@singleton__instances__[singleton_name] = new(model, filter)
  }
  @@singleton__instances__[singleton_name]
end

Instance Method Details

#_dump(depth = -1)) ⇒ Object

Based on singleton



18
19
20
# File 'lib/sql_pager/resolver.rb', line 18

def _dump(depth = -1)
  ''
end

#cloneObject

Raises:

  • (TypeError)


21
22
23
# File 'lib/sql_pager/resolver.rb', line 21

def clone
  raise TypeError, "can't clone instance of singleton #{self.class}"
end

#dupObject

Raises:

  • (TypeError)


24
25
26
# File 'lib/sql_pager/resolver.rb', line 24

def dup
  raise TypeError, "can't dup instance of singleton #{self.class}"
end