Sha256: cb2333b00e829db4f30f432a9b937afe7d6169829ed88fbadd55aea9a27ee9a3

Contents?: true

Size: 835 Bytes

Versions: 5

Compression:

Stored size: 835 Bytes

Contents

require 'forwardable'

module Bar

  include SuperModule
  include Foo
  include Comparable
  validates 'bar', {:presence => true}
  attr_reader :created_at

  # Defines singleton methods via class << self to provide as a test case for SuperModule
  class << self
    include Forwardable

    def barrable
      @barrable
    end

    def barrable=(value)
      @barrable = value
    end

    def make_barrable
      self.barrable = true
    end
  end

  make_barrable
  def_delegators :@bar, :length

  def initialize
    @bar = bar
    @created_at = Time.now.to_f
  end

  def bar
    'bar'
  end

  # Defines singleton method via a form of eval (class_eval) to provide as a test case for SuperModule
  class_eval do
    def self.bar
      'self.bar'
    end
  end
  
  def <=>(other)
    created_at <=> other.created_at
  end

end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
super_module-1.2.2 spec/support/bar.rb
super_module-1.2.1 spec/support/bar.rb
super_module-1.2.0 spec/support/bar.rb
super_module-1.1.1 spec/support/bar.rb
super_module-1.1.0 spec/support/bar.rb