Sha256: 1d831c2bcde8588d8a65d7ad0c5a833d35d96517f404f74c313ae244a5b6715d

Contents?: true

Size: 493 Bytes

Versions: 52

Compression:

Stored size: 493 Bytes

Contents

# Hack to use dynamic default_scope
class HashPoser < Proc
  include Enumerable
 
  attr_accessor :proc
 
  def initialize &b
    @proc = b
    super &b
  end
 
  def [](key)
    call[key]
  end
 
  def each(*a, &b)
    call.each(*a, &b)
  end
 
  def fetch(key)
    call.fetch(key)
  end
 
  def keys
    call.keys
  end
 
  def merge(*a, &b)
    call.merge(*a, &b)
  end
 
  def to_hash
    call
  end
 
  def to_s
    "#<HashPoser: #{call.inspect}>"
  end
  alias_method :inspect, :to_s
end

Version data entries

52 entries across 52 versions & 2 rubygems

Version Path
crystal-ext-0.0.3 lib/rails_ext/active_record/merge_default_scope/hash_poser.rb
crystal-ext-0.0.2 lib/rails_ext/active_record/merge_default_scope/hash_poser.rb
crystal-ext-0.0.1 lib/rails_ext/active_record/merge_default_scope/hash_poser.rb
rails-ext-0.3.29 lib/rails_ext/active_record/merge_default_scope/hash_poser.rb
rails-ext-0.3.28 lib/rails_ext/active_record/merge_default_scope/hash_poser.rb
rails-ext-0.3.27 lib/rails_ext/active_record/merge_default_scope/hash_poser.rb
rails-ext-0.3.25 lib/rails_ext/active_record/merge_default_scope/hash_poser.rb
rails-ext-0.3.24 lib/rails_ext/active_record/merge_default_scope/hash_poser.rb
rails-ext-0.3.23 lib/rails_ext/active_record/merge_default_scope/hash_poser.rb
rails-ext-0.3.22 lib/rails_ext/active_record/merge_default_scope/hash_poser.rb
rails-ext-0.3.21 lib/rails_ext/active_record/merge_default_scope/hash_poser.rb
rails-ext-0.3.20 lib/rails_ext/active_record/merge_default_scope/hash_poser.rb
rails-ext-0.3.19 lib/rails_ext/active_record/merge_default_scope/hash_poser.rb
rails-ext-0.3.18 lib/rails_ext/active_record/merge_default_scope/hash_poser.rb
rails-ext-0.3.17 lib/rails_ext/active_record/merge_default_scope/hash_poser.rb
rails-ext-0.3.16 lib/rails_ext/active_record/merge_default_scope/hash_poser.rb
rails-ext-0.3.15 lib/rails_ext/active_record/merge_default_scope/hash_poser.rb
rails-ext-0.3.14 lib/rails_ext/active_record/merge_default_scope/hash_poser.rb
rails-ext-0.3.13 lib/rails_ext/active_record/merge_default_scope/hash_poser.rb
rails-ext-0.3.12 lib/rails_ext/active_record/merge_default_scope/hash_poser.rb